Skip to content

v0.52.2.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 05:15
b272cf2

Repair a memory page without guessing which copy to overwrite. GBrain keeps
your notes in files and in its database. When those copies disagree, saving a new
memory can stop even though the file looks unchanged in Git. You can now compare
one exact page, preserve both originals, choose between conflicting fields, and
save the reviewed result through the existing safe writer. Information found on
only one side is kept rather than quietly discarded.

The repair checks again before saving. If another writer changed the page, file,
or owner while you were reviewing it, GBrain stops and asks for a fresh preview.
Interrupted saves recover through the same durable request, and retrying a
completed request does not apply it twice. After repair, retry your original
memory request separately and read back what was actually saved.

Background atom scanning now keeps its progress outside your note's metadata, so
a scan no longer creates a new disagreement just by recording that it finished.
Failed saves and syncs identify their page, specific reason, and durable request
instead of leaving you with a misleading permission error or an unnamed failed
file. Unsupported managed atom extraction stops before spending on a model.

Say to your agent: "Preview this page's file/database disagreement, preserve
both originals, and show me the conflicts before repairing it. Then retry my
memory request and verify the fact, visibility, and provenance."

How to use it

gbrain sources reconcile workspace people/example --brain host --preview --json
gbrain sources reconcile workspace --brain host --audit --limit 25 --json
gbrain sources reconcile --help

Use --out <new-private-file> to keep an actionable preview, resolve conflicting
fields with explicit decisions, then apply the reviewed artifact with a retained
request UUID. The complete flow is in docs/guides/concurrent-writes.md.

Situation What happens now
Each copy has different additional metadata Both sets of fields survive.
The same field has conflicting values You choose explicitly; timestamps do not pick a winner.
A preview became stale Apply refuses without overwriting either copy.
A save was interrupted Retry its original UUID; inspect the durable receipt.

Things to watch

Repair requires an existing valid owner and trusted local CLI registration. It
works before or after managed activation but never claims, transfers, activates,
or changes source checkpoints. Private backups consume bounded local storage and
remain until explicitly removed. Forgotten active facts can still exist in that
history. This does not migrate every legacy maintenance writer to managed mode.

To take advantage of v0.52.2.0

gbrain upgrade should apply migration 163 automatically. If it did not, run
gbrain apply-migrations --yes, then restart upgraded resident writers and
maintenance workers. Follow skills/migrations/v0.52.2.0.md; use a read-only audit
and an exact-page preview before any repair. No automatic bulk merge, ownership
change, activation, or paid enrichment is required.

Itemized changes

  • Add trusted-local sources reconcile preview, decision resolution, guarded
    apply, bounded audit, and retained-backup inspection/removal. Existing
    overwrite guards and frozen memory-verb error codes remain intact.
  • Reuse the persistence journal and coordinator for revision/raw-byte/owner/policy
    checks, same-ID replay, durable preimages, and interrupted-publication recovery.
  • Migration 163 adds source-incarnation/page/hash-keyed atom processing state with
    conservative legacy backfill. Canonical pages are not rewritten by migration.
    Partial atom publication still remains retryable until all provenance is saved.
  • Preserve identical generated safety assessments across repeated imports, while
    keeping safety fields and policy checks in canonical comparisons.
  • Report managed sync failures from their authoritative receipts, including
    resident-owner JSON, even when the local failure ledger is missing or unwritable.
    The ledger call-site fix is adapted from garrytan#5314. Contributed by @Masashi-Ono0611.
  • Add real-engine reconciliation, scoped-authority, concurrent-replay, privacy,
    retained-backup, bounded-audit, real-owner CLI, and process-kill regression tests.