omnigraph/docs/dev
Ragnor Comerford 0edcf3ec59
feat(engine): reindex in optimize to keep index coverage current
A scalar/FTS/vector index only covers the fragments it was built over. Rows
appended after the build (e.g. `ingest --mode merge`, whose commit does not
rebuild an existing index) are scanned unindexed, and `compact_files` rewrites
fragments out of coverage. Nothing folded them back in, so coverage decayed as
the graph grew — even the id/src/dst BTREEs that power traversal.

`optimize_one_table` now runs Lance `optimize_indices` after `compact_files`
(incremental merge, not retrain — the same compact->optimize_indices sequence
LanceDB's `optimize()` uses) and enters the publish path on compaction work OR
stale index coverage (new `TableStore::has_unindexed_fragments`, reusing the
fragment_bitmap logic). `optimize_indices` is a committing call with no
uncommitted variant in lance-6.0.1, so it is an inline-commit residual covered
by the existing `SidecarKind::Optimize` recovery sidecar spanning both ops.
Blob-bearing tables are still skipped (the Lance blob-compaction bug is
compaction-specific; reindex-for-blob deferred as a noted follow-up).

Tests: maintenance.rs asserts an appended fragment is uncovered before and
covered after optimize, and idempotency holds (second pass is a no-op).
lance_surface_guards pins the `optimize_indices` signature and its incremental-
coverage behavior. The existing optimize Phase-B recovery failpoint now also
exercises a crash after reindex. Docs: maintenance.md, writes.md, invariants.md,
lance.md, AGENTS.md.
2026-06-13 18:47:41 +02:00
..
architecture.md (feat) convert engine call sites to &dyn TableStorage; demote legacy TableStore methods to pub(crate) (#86) 2026-06-09 23:03:08 +02:00
branch-protection.md ci(codeowners): un-trap required checks, auto-render, generate owner tables (#142) 2026-06-06 18:09:47 +03:00
ci.md Add Windows release binaries (#127) 2026-05-30 14:23:40 +02:00
cluster-axioms.md docs(cluster): axiom 15 — single ownership, mode-switch migration, per-operator layer (#164) 2026-06-10 00:44:51 +03:00
cluster-config-implementation-spec.md docs(cluster): RFC-005 — server boots from cluster state (Phase 5 design) (#174) 2026-06-10 15:22:12 +03:00
cluster-config-specs.md docs(cluster): descope ETL pipelines to a separate project; keep the socket (#172) 2026-06-10 14:53:16 +03:00
codeowners.md ci(codeowners): restore ragnorc to engineering and docs roles 2026-06-12 13:45:33 +03:00
execution.md feat(cli)!: unified load command; deprecate ingest as an alias 2026-06-11 04:18:00 +03:00
index.md docs(rfc): RFC-009 — unify CLI access paths; align the RFC corpus 2026-06-12 17:33:11 +03:00
invariants.md feat(engine): reindex in optimize to keep index coverage current 2026-06-13 18:47:41 +02:00
lance.md feat(engine): reindex in optimize to keep index coverage current 2026-06-13 18:47:41 +02:00
merge.md docs: split user and developer docs (#93) 2026-05-15 03:45:22 +03:00
rfc-001-queries-envelope-mcp.md feat: inline query strings in CLI and HTTP server (#110) 2026-05-29 13:41:54 +02:00
rfc-002-config-cli-architecture.md docs(rfc): RFC-009 — unify CLI access paths; align the RFC corpus 2026-06-12 17:33:11 +03:00
rfc-003-mcp-server-surface.md Stored-query registry foundation + config/CLI RFC-002 (#128) 2026-06-01 22:50:31 +02:00
rfc-004-cluster-graph-schema-apply.md docs(cluster): document Stage 4C — Phase 4 complete 2026-06-10 14:44:12 +03:00
rfc-005-server-cluster-boot.md docs(cluster,server): the Phase 5 mode switch; retire applied-not-serving caveats 2026-06-10 17:56:54 +03:00
rfc-007-operator-config.md docs(rfc): RFC-009 — unify CLI access paths; align the RFC corpus 2026-06-12 17:33:11 +03:00
rfc-008-deprecate-omnigraph-yaml.md docs(rfc): RFC-009 — unify CLI access paths; align the RFC corpus 2026-06-12 17:33:11 +03:00
rfc-009-unify-access-paths.md docs: omnigraph-api-types in the crate list; RFC-009 Phase 2 outcome 2026-06-13 17:10:00 +03:00
schema-lint-v1-plan.md schema-lint chassis v1.0: DropProperty Soft + code-tagged diagnostics (MR-694) (#90) 2026-05-16 16:30:03 +03:00
testing.md Merge pull request #208 from ModernRelay/test/parity-matrix 2026-06-13 16:53:54 +03:00
writes.md feat(engine): reindex in optimize to keep index coverage current 2026-06-13 18:47:41 +02:00