v3.12.3 - The Conductor Curates the Day
This release gives the conductor a curated, day-scoped dashboard surface across CLI and tray, and hardens cross-machine bridge sync with a tombstone-safe git merge driver that refuses to resurrect deleted tasks.
Highlights
- Daily dashboard v1. New, intentionally non-bridge-synced
daily_dashboardtable + DAO with day-scoped reads and item caps (8/40), guarded by a hard conductor write-guard (cooperative session-binding, not identity-proof). Addsbin/taskverbsdash-set/dash-rm/dash/fband a new Dashboard tab in the task tray (with an Other / debate-work-items group). Covered bytests/test_daily_dashboard.py. - Tombstone-safe bridge merge driver. New
bridge_merge_driver.pyregisters a git merge driver forshared.json/index.jsonthat does tombstone-union (never resurrects a deleted/archived task), ranks via_dominating_status_clock, fails closed on ambiguity, and guarantees a merged tombstone strictly out-ranks both inputs. Extensive coverage intests/test_bridge_merge_driver.py. - Managed
.gitattributesreadiness gate fix. The merge driver's managed.gitattributesblock is now recognized via a content-verified, path-pinnedis_managed_gitattributes(), so first-time runtime seeding no longer trips the bridge dirty-gate ("commit or stash bridge repo edits before sync"). Staging detection switched fromgit diff --quiettogit status --porcelainso the untracked file in a fresh repo is actually staged, and the readiness preflight deliberately makes no commit (avoids converting a fast-forwardable peer push into a stuck divergence). - Tray full-window launch restored (the tag tip). The tray once again opens the full window when the dashboard is empty.
- Docs / claim-control hygiene. New
docs/ops/CORE_VS_ADVANCED_PATH.md; D1 (NATO DIANA) docs cleanup that removes STRIX-specific "simulator-first" framing wrongly imported into sqlite_memory's posture and restates it as application-enforced append-only governance, local-first, single-operator, test-backed; dashboard write-guard documented as cooperative session-binding rather than identity-proof.
Notes
- The
daily_dashboardtable is not bridge-synced by design — it is local, ephemeral, and day-scoped. - The merge driver is active via local git config the moment it is installed; the managed
.gitattributesrides the worker's next commit. A transient, recoverable edge exists if two peers concurrently seed differently-contented managed.gitattributesbefore either pulls (identical content — the common case — fast-forwards cleanly; not data-loss, not resurrection). - Full test suite reported at 1042 passing at the bridge merge integration.