Skip to content

v3.12.5 - The Bridge Recognizes Its Own Handwriting

Choose a tag to compare

@RMANOV RMANOV released this 27 Jun 10:12
· 154 commits to main since this release

A small but important follow-up to v3.12.4: the bridge now recognizes the kanban_payload.json it generates as its own artifact, so the sync gate stops mistaking it for a user edit and freezing the mirror. Ships with one documentation-honesty pass.

Highlights

  • Bridge sync no longer blocks on kanban_payload.json. v3.12.4 wired the render-only kanban_payload.json artifact into surface_contract and the merge driver, but missed db_utils.is_generated_bridge_path() and the generated_paths restore list. Because the export regenerates the file every run and leaves it uncommitted, the pre-sync readiness check (_path_allowed_dirty) treated it as a user-managed edit and failed closed with "commit or stash bridge repo edits before sync: kanban_payload.json" — silently freezing the mirror and any downstream restore that depends on it.
  • The file is now treated as a regenerable generated artifact: allowed-dirty through the readiness gate and restorable from DB state alongside shared.json / index.json. This restores the v3.12.4 "sync stays ON" guarantee.
  • Regression test added (test_kanban_payload_is_recognized_as_generated_bridge_path).
  • README honesty pass (docs-only). Dropped the unsourced "proven 2000+ tasks across 3 machines" bridge claim in favor of stating conflict/recovery discipline without an absolute data-loss guarantee; renamed the "Premium / enterprise boundary" section to "Optional private-runtime boundary" and removed anti-fork / moat / airlock marketing framing while keeping the factual contract description.

Notes

  • Version bumped to 3.12.5 (__init__.py, pyproject.toml). No schema or API changes; the bridge fix and docs edit require no migration.