omnigraph/crates
Ragnor Comerford b2f65062c8 fix(engine): guard absent _graph_commits + always compact internal tables
Addresses PR #291 review findings:

- Greptile (P1): optimize unconditionally opened `_graph_commits` for compaction,
  but a graph can validly have none (the coordinator opens it as `Option`, gated on
  `storage.exists`, for graphs predating the commit graph). `Dataset::open` on the
  absent table errored and failed the whole optimize. Guard the `_graph_commits`
  compaction with the same `storage_adapter().exists()` check the coordinator uses;
  `__manifest` always exists so it stays unguarded. Regression test
  `optimize_tolerates_absent_graph_commits_table` (empty graph so no publish
  recreates the table before the guard).

- Cursor (low): the `table_tasks.is_empty()` early return skipped internal-table
  compaction for a schema with no node/edge types. Removed it so the internal
  tables are compacted regardless of the data-table set.

- Codex (auto-cleanup, P1): documented — `compact_files` commits with a default
  `CommitConfig` (no skip_auto_cleanup) and `CompactionOptions` exposes no override,
  so on a graph storing an *on* auto_cleanup config the commit would fire version
  GC. Both internal tables are created with `auto_cleanup: None`, so new graphs are
  safe; the only exposure is pre-fix upgraded graphs, identical to the existing
  data-table optimize path, with step 2b's watermark as the comprehensive guard.
  Added a comment in `compact_internal_table` recording this.
2026-06-20 19:13:40 +02:00
..
omnigraph fix(engine): guard absent _graph_commits + always compact internal tables 2026-06-20 19:13:40 +02:00
omnigraph-api-types release: v0.7.1 (#290) 2026-06-19 23:12:44 +03:00
omnigraph-cli release: v0.7.1 (#290) 2026-06-19 23:12:44 +03:00
omnigraph-cluster release: v0.7.1 (#290) 2026-06-19 23:12:44 +03:00
omnigraph-compiler release: v0.7.1 (#290) 2026-06-19 23:12:44 +03:00
omnigraph-policy release: v0.7.1 (#290) 2026-06-19 23:12:44 +03:00
omnigraph-server release: v0.7.1 (#290) 2026-06-19 23:12:44 +03:00