rfc: add RFC 0046, read-only index status - #552
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Thanks for writing this RFC. I had two questions about the proposed status contract:
I also noticed that await does not gate on unbuildable. Is the intended guarantee that all buildable indexes are ready, rather than all selected indexes? |
|
Thanks Gordon, both are right. RFC updated:
Yes. Every row now carries a
Right. A
Yes, and it's now stated explicitly: exit 0 means every declared index is Does the |
|
Heads-up: RFC number 0042 is now taken — the branch-incarnation RFC landed with #579 ( |
63a0d63 to
ff0040d
Compare
ff0040d to
65e9ca9
Compare
What & why
This PR adds RFC 0042: a read-only index-status surface.
omnigraph index statusandGET /index-statusreport, per index, a state (ready,unbuildable,missing,degraded) with a machine-readable reason and coverage counts, derived from committed metadata under snapshot isolation;omnigraph index awaitblocks until the gating states clear. Requested in #550: the only structured index readout today ispending_indexesinsideoptimize --json, so observing index state requires a command that also commits, a command-query separation violation this surface removes.optimizealready runs (the catalog-intent diff and fragment-bitmap coverage), exposed through one read-only entry point, so endpoint and reconciler cannot disagree on their inputs.degradedcarries an open reason vocabulary, giving Index coverage reports a degenerate mono-partition vector index as fully covered — the failure is invisible to monitoring #486's degenerate-index detection a reporting surface with no schema change.Backing issue / RFC
docs/rfcs/0042-index-status.md. Related: Index coverage reports a degenerate mono-partition vector index as fully covered — the failure is invisible to monitoring #486 (thedegradedreporting hook); distinct from performance: traversal mode selection does not adapt as a multi-hop frontier grows #533 (planner behavior when indexes exist).Checklist
docs/rfcs/README.md)awaitis not a coverage-based engine precondition)Local verification
python3 scripts/check-docs.py— Documentation OK (110 Markdown files checked)cargo test— not run: docs-only change, no code touchedNotes for reviewers
unbuildable, andpendingis deliberately reserved: an in-progress reading is unrepresentable on a committed-state-only surface, so the word stays free for a future background builder (note after the states table).awaitgates onmissinganddegradedonly and never triggers reconciliation; rollout phase 3 (await) is independently droppable if review reads the deny-list differently.Greptile Summary
The PR adds RFC 0046, specifying a read-only index-status API and CLI surface derived from committed metadata.
index awaitand a repair path for legacy indexes without coverage metadata.Confidence Score: 5/5
The documentation-only PR appears safe to merge.
No blocking failure remains.
Important Files Changed
Reviews (5): Last reviewed commit: "review" | Re-trigger Greptile