From the 2026-10-12 repo audit. The README has no ## Adopting in another app section (the anchor other docs link to), and three open PRs (#25, #27, #31) all edit README.md, so the audit did not touch it. Add the section after those merge.
Related README drift: the version badge and the Getting started snippet say 1.0.0-RC.1; #27 moves them to 1.0.0-RC.2, but Maven Central's newest is 1.1.0-RC.1 (from release/1.1). Pick the line hosts should adopt and say it once.
Proposed section (insert before ## Building)
## Adopting in another app
| Item | What to do |
|---|---|
| Coordinates | `com.kingsrook.qbits:qbit-quick-search`. Release candidates on Maven Central: `1.0.0-RC.2` (1.0 line, `release/1.0`) and `1.1.0-RC.1` (adds the core `/qqq/v1/search` provider, `release/1.1`). |
| QQQ version | 1.0: QQQ 4.1. 1.1: QQQ `4.1.0-RC.2` or later (record-search provider SPI). Java 21. |
| Infrastructure | An OpenSearch 2.19.x / 3.x cluster or an Amazon OpenSearch Service domain (not Serverless, not Elasticsearch). A least-privilege role on `{opensearchIndexName}*` (see Supported platforms). |
| Registration | `new QuickSearchQBitProducer().withConfig(config).produce(qInstance)` after backends, tables and the scheduler are in the instance. Don't add `QBitMetaData` yourself. |
| Required config | `backendName`, `opensearchUrl`, `opensearchIndexName`, at least one of `searchableEntityClasses` / `searchableTables`, and `schedulerName` (without it nothing runs basepull or reconcile). A cron reconcile needs a Quartz scheduler and `reconcileCronTimeZoneId`. |
| Secrets / env | `opensearchUsername` / `opensearchPassword` as `${env.X}` references (names are the host's). `AWS_SIGV4` reads `AWS_REGION` when `awsRegion` is unset and needs the optional `software.amazon.awssdk:apache-client` (and `sts` for `awsAssumeRoleArn`). |
| Storage | Three operational tables on `backendName`: `quickSearchIndex`, `quickSearchIndexRun`, `quickSearchFailedEvent`. The repo ships no DDL; on an RDBMS backend the host writes it (see Operational tables for columns; `quickSearchFailedEvent.status` needs at least 16 characters). |
| Permissions | `quickSearchAdmin.hasAccess` for the admin app and the three processes; `READ_WRITE_PERMISSIONS` on the operational tables (`quickSearchIndex.read` / `.write`, etc.). Override with `adminPermissionRules` / `tablePermissionRules`. Search itself honours table read permissions and record security locks. |
| First run | Run a full reindex once after install (and after upgrading from 0.x or 1.0 to remove PASSWORD-field values). |
| Known limitations | No OpenSearch Serverless. `IndexEventPublisher` SPI is experimental. One record-search provider per instance (a host-registered one wins). Schedules run only under `QApplicationLauncher` or a host-started `QScheduleManager`. |
| Upgrading | 0.x -> 1.0: docs/MIGRATION-1.0.md. 1.0 -> 1.1: docs/MIGRATION-1.1.md (core search switches to OpenSearch by default; `serveCoreRecordSearch(false)` keeps 1.0 behaviour; indexed tables gain `searchFields`). |
Also missing
DDL for the three operational tables (qbit-sql-workbench ships docs/ddl/postgres.sql as a model). Hosts on RDBMS currently reverse-engineer the columns.
Nothing host-specific (kof22) was found in src/main.
Filed with AI assistance (Claude Code).
From the 2026-10-12 repo audit. The README has no `## Adopting in another app` section (the anchor other docs link to), and three open PRs (#25, #27, #31) all edit `README.md`, so the audit did not touch it. Add the section after those merge.
Related README drift: the version badge and the Getting started snippet say `1.0.0-RC.1`; #27 moves them to `1.0.0-RC.2`, but Maven Central's newest is `1.1.0-RC.1` (from `release/1.1`). Pick the line hosts should adopt and say it once.
## Proposed section (insert before `## Building`)
```markdown
## Adopting in another app
| Item | What to do |
|---|---|
| Coordinates | `com.kingsrook.qbits:qbit-quick-search`. Release candidates on Maven Central: `1.0.0-RC.2` (1.0 line, `release/1.0`) and `1.1.0-RC.1` (adds the core `/qqq/v1/search` provider, `release/1.1`). |
| QQQ version | 1.0: QQQ 4.1. 1.1: QQQ `4.1.0-RC.2` or later (record-search provider SPI). Java 21. |
| Infrastructure | An OpenSearch 2.19.x / 3.x cluster or an Amazon OpenSearch Service domain (not Serverless, not Elasticsearch). A least-privilege role on `{opensearchIndexName}*` (see Supported platforms). |
| Registration | `new QuickSearchQBitProducer().withConfig(config).produce(qInstance)` after backends, tables and the scheduler are in the instance. Don't add `QBitMetaData` yourself. |
| Required config | `backendName`, `opensearchUrl`, `opensearchIndexName`, at least one of `searchableEntityClasses` / `searchableTables`, and `schedulerName` (without it nothing runs basepull or reconcile). A cron reconcile needs a Quartz scheduler and `reconcileCronTimeZoneId`. |
| Secrets / env | `opensearchUsername` / `opensearchPassword` as `${env.X}` references (names are the host's). `AWS_SIGV4` reads `AWS_REGION` when `awsRegion` is unset and needs the optional `software.amazon.awssdk:apache-client` (and `sts` for `awsAssumeRoleArn`). |
| Storage | Three operational tables on `backendName`: `quickSearchIndex`, `quickSearchIndexRun`, `quickSearchFailedEvent`. The repo ships no DDL; on an RDBMS backend the host writes it (see Operational tables for columns; `quickSearchFailedEvent.status` needs at least 16 characters). |
| Permissions | `quickSearchAdmin.hasAccess` for the admin app and the three processes; `READ_WRITE_PERMISSIONS` on the operational tables (`quickSearchIndex.read` / `.write`, etc.). Override with `adminPermissionRules` / `tablePermissionRules`. Search itself honours table read permissions and record security locks. |
| First run | Run a full reindex once after install (and after upgrading from 0.x or 1.0 to remove PASSWORD-field values). |
| Known limitations | No OpenSearch Serverless. `IndexEventPublisher` SPI is experimental. One record-search provider per instance (a host-registered one wins). Schedules run only under `QApplicationLauncher` or a host-started `QScheduleManager`. |
| Upgrading | 0.x -> 1.0: docs/MIGRATION-1.0.md. 1.0 -> 1.1: docs/MIGRATION-1.1.md (core search switches to OpenSearch by default; `serveCoreRecordSearch(false)` keeps 1.0 behaviour; indexed tables gain `searchFields`). |
```
## Also missing
- DDL for the three operational tables (qbit-sql-workbench ships `docs/ddl/postgres.sql` as a model). Hosts on RDBMS currently reverse-engineer the columns.
Nothing host-specific (kof22) was found in `src/main`.
Filed with AI assistance (Claude Code).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
From the 2026-10-12 repo audit. The README has no
## Adopting in another appsection (the anchor other docs link to), and three open PRs (#25, #27, #31) all editREADME.md, so the audit did not touch it. Add the section after those merge.Related README drift: the version badge and the Getting started snippet say
1.0.0-RC.1; #27 moves them to1.0.0-RC.2, but Maven Central's newest is1.1.0-RC.1(fromrelease/1.1). Pick the line hosts should adopt and say it once.Proposed section (insert before
## Building)Also missing
docs/ddl/postgres.sqlas a model). Hosts on RDBMS currently reverse-engineer the columns.Nothing host-specific (kof22) was found in
src/main.Filed with AI assistance (Claude Code).