# Omnigraph v0.6.2 v0.6.2 is a maintenance-safety release on top of v0.6.1. It tightens the `optimize` / recovery boundary, adds an explicit repair path for uncovered manifest/head drift, completes the legacy `__run__` branch cleanup (MR-770), accepts pretty-printed JSON load input, and updates the project governance and release automation around those fixes. ## Highlights - **Explicit `omnigraph repair`.** New `repair` CLI support previews uncovered manifest/head drift by default and reports each table's classification, action, manifest version, Lance HEAD version, Lance operations, and any classification error. `--confirm` publishes verified maintenance-only drift; `--force --confirm` can publish suspicious or unverifiable drift after operator review. - **Optimize skips uncovered drift.** `omnigraph optimize` now refuses to interpret Lance HEAD movement that is ahead of `__manifest` without a recovery sidecar. Those tables are reported as `skipped: DriftNeedsRepair` and left untouched until `omnigraph repair` classifies them. - **Optimize publishes compaction.** Successful compaction now publishes the compacted Lance version back through the graph manifest and is covered by an `Optimize` recovery sidecar. A crash after Lance compaction but before manifest publish converges through the normal recovery sweep instead of leaving hidden drift. - **Recovery roll-back convergence.** Recovery roll-back now aligns the manifest-visible version after restoring a table, closing the residual where Lance HEAD and `__manifest` could stay out of sync after recovery. - **Legacy `__run__` branch cleanup (MR-770).** Completes the retirement of the Run state machine (removed in v0.4.0). A one-time v2→v3 `__manifest` internal-schema migration runs on the first read-write open and deletes any stale `__run__*` staging branches left by pre-v0.4.0 graphs — they previously leaked into `branch list` and counted as blocking branches at `schema apply` time. The migration is idempotent, and the `is_internal_run_branch` guard (and `run_registry.rs`) is retired now that `__run__*` is an ordinary branch name. (The earlier v0.6.1 notes described this as shipped in v0.6.1; it actually landed here in v0.6.2.) - **Pretty-printed JSON load input.** `load` accepts multi-line JSON objects in addition to one-object-per-line JSONL, so formatted fixture or export files no longer need to be minified before import. ## Operational Notes - `repair` requires a clean recovery state. Pending `__recovery` sidecars still belong to automatic open-time recovery; reopen the graph first, then run repair if drift remains. - `repair --confirm` only auto-publishes drift made of Lance maintenance operations (`Rewrite` and `ReserveFragments`). Semantic operations such as append, delete, update, and merge are refused unless the operator uses `--force --confirm`. - `optimize` remains non-destructive. It still skips blob-bearing tables while OmniGraph is pinned to the Lance version with the blob-v2 compaction issue. - No manual on-disk migration is required. Existing graphs open under v0.6.2. Graphs already at internal manifest schema stamp v3 are unchanged; graphs created before v0.4.0 that still carry the v2 stamp auto-migrate v2→v3 on the first **read-write** open (the `__run__*` sweep above). The migration is write-path-only, so a long-lived **read-only** deployment still lists any stale `__run__*` branch until it is next opened read-write. ## Docs, Governance, And CI - Added issue, discussion, RFC, and pull-request templates plus governance docs for the external contribution path. - Regenerated CODEOWNERS tables and adjusted branch-protection docs so code owners can bypass required PR review where repository rules allow it. - Trimmed Windows release builds out of per-PR CI and kept Windows packaging on tag releases. - Made Homebrew audit diagnostic-only in the release workflow so a flaky audit cannot block publishing an otherwise valid formula update.