Skip to content

v0.22.25

Choose a tag to compare

@genedna genedna released this 14 Sep 07:58

Read-only global configuration schema doctor

  • Add libra config doctor --global-schema, with human output and a versioned JSON metadata report. It works outside a repository and reports both configuration and legacy receipt ledgers, supported versions, file paths, UTC mtime and controlled producer disposition.
  • Keep diagnosis separate from configuration reads and mutations: no config values, vault access, System/Repository database inspection, migration, barrier write, backup, automatic upgrade or startup recovery. Invalid scope/action/type/repair combinations fail before data access.
  • Use the existing role-aware schema classifier in a read-only SQLite snapshot. Receipt versions are strings, including the legacy-reader barrier, and arbitrary receipt text and engine errors are not exposed.
  • Preserve absent targets and conservatively refuse WAL-mode opens without regular WAL/SHM sidecars. Detect observed DB/WAL identity, size or mtime changes and discard attribution. Live-file rotation and SQLite coordination are explicitly documented limitations; this is not a filesystem freeze.
  • Recognize current-manifest receipts such as 2026090801 without claiming which binary/process wrote the file. repair_eligible remains false; this release does not support --repair or authorize manual SQLite edits. Unsupported/unreadable states can be successful diagnoses, so automation must inspect classification, not only the exit code.
  • Update English/Chinese command docs, compatibility/error documentation, the migration role map, test index and website documentation.
  • Include the concurrent competitor-comparison planning documentation update; it introduces no additional runtime changes.

Validation

  • 149 focused Rust tests passed: 82 configuration command cases, 36 configuration compatibility cases (including all 12 doctor gates), 8 configuration/parser units, and 23 serial/version/error/unwrap guards. The 12 doctor gates also passed individual exact reruns.
  • Scoped clippy with -D warnings, formatting, installer shell syntax and nextest registry generation passed.
  • Website docs/search manifests generated 248 records each; 5 relevant docs unit tests and both language routes passed. Four unrelated legacy docs assumptions were not run.
  • No local full build/test suite, all-target/all-feature lint, or website full build/typecheck was run, per the requested plan boundary. Remote release verification is tracked asynchronously.