diff --git a/docs/BACKLOG.md b/docs/BACKLOG.md index 1230dc3434..529fed0956 100644 --- a/docs/BACKLOG.md +++ b/docs/BACKLOG.md @@ -254,7 +254,7 @@ are closed (status: closed in frontmatter)._ - [ ] **[B-0448](backlog/P1/B-0448-cloud-routines-integration-4th-catch-43-defence-layer-2026-05-13.md)** Cloud Routines integration — 4th catch-43 defence layer via Anthropic-hosted scheduled tasks + API + GitHub event triggers - [ ] **[B-0449](backlog/P1/B-0449-bg-services-slice-5-subscriber-agent-design-pass-2026-05-13.md)** bg-services slice 5 — subscriber-agent architecture design pass (closes the foreground-optional architectural claim) - [ ] **[B-0450](backlog/P1/B-0450-getting-started-guide-for-library-consumers-pm2-2026-05-13.md)** Getting-started guide for Zeta library consumers — quickstart doc + sample project -- [ ] **[B-0451](backlog/P1/B-0451-duplicate-row-id-substrate-cleanup-2026-05-13.md)** Duplicate row-ID substrate cleanup — resolve the 12 collisions surfaced by audit-duplicate-row-ids.ts +- [x] **[B-0451](backlog/P1/B-0451-duplicate-row-id-substrate-cleanup-2026-05-13.md)** Duplicate row-ID substrate cleanup — resolve the 12 collisions surfaced by audit-duplicate-row-ids.ts - [ ] **[B-0463](backlog/P1/B-0463-wallet-immune-system-vaccine-spread-poucc-spec.md)** Wallet immune system — vaccine spread + PoUW-CC gate + attack absorption spec ## P2 — research-grade diff --git a/docs/backlog/P1/B-0451-duplicate-row-id-substrate-cleanup-2026-05-13.md b/docs/backlog/P1/B-0451-duplicate-row-id-substrate-cleanup-2026-05-13.md index fe9fe83a49..e0e196b68e 100644 --- a/docs/backlog/P1/B-0451-duplicate-row-id-substrate-cleanup-2026-05-13.md +++ b/docs/backlog/P1/B-0451-duplicate-row-id-substrate-cleanup-2026-05-13.md @@ -1,12 +1,13 @@ --- id: B-0451 priority: P1 -status: open +status: closed +closed: 2026-05-14 title: "Duplicate row-ID substrate cleanup — resolve the 12 collisions surfaced by audit-duplicate-row-ids.ts" tier: factory-infrastructure effort: M created: 2026-05-13 -last_updated: 2026-05-13 +last_updated: 2026-05-14 depends_on: [] composes_with: [] tags: [substrate-hygiene, backlog, ID-collision, audit-finding, multi-Otto-coordination] @@ -79,15 +80,17 @@ bundled (one PR for the full sweep). ## Acceptance criteria -- [ ] Each of the 12 colliding groups resolved (one row keeps the - ID; others renumbered with provenance recorded). -- [ ] `bun tools/bg/audit-duplicate-row-ids.ts` exits 0 on main. -- [ ] All cross-references updated (B-0445 composes_with, B-0271 - gap-table, etc.). -- [ ] `docs/BACKLOG.md` regenerated. +- [x] Each of the 12 colliding groups resolved — all 12 groups + renumbered across PRs #3056–#3073; sweep complete 2026-05-14. +- [x] `bun tools/bg/audit-duplicate-row-ids.ts` exits 0 — verified + 2026-05-14: "561 rows with id field, no duplicate IDs", exit 0. +- [x] All cross-references updated — renumbered rows carry + `renumbered_from` provenance in frontmatter; cross-refs patched. +- [x] `docs/BACKLOG.md` regenerated — updated in this close PR. - [ ] Wire `audit-duplicate-row-ids.ts` into a CI workflow so a future collision blocks merge automatically (separate slice - / follow-up row). + / follow-up row — tracked as future work; does not block + closure of this row). ## Why P1 diff --git a/docs/hygiene-history/ticks/2026/05/14/0521Z.md b/docs/hygiene-history/ticks/2026/05/14/0521Z.md new file mode 100644 index 0000000000..80768a69d3 --- /dev/null +++ b/docs/hygiene-history/ticks/2026/05/14/0521Z.md @@ -0,0 +1,39 @@ +# Tick shard — 2026-05-14T05:21Z + +## Session-start checklist + +1. **CronList** — no live cron. Re-armed `<>` sentinel + (job `eb148be2`, `* * * * *`, recurring). +2. **Worldview refresh** — `bun tools/github/refresh-worldview.ts`: + 1 open PR (#3098), 5 recent merges, 20 open issues, 561 backlog rows. +3. **Build gate** — skipped (docs-only PR; running dotnet build not required + for this close PR; verified on prior ticks that build is clean). + +## PR gate status (raw JSON already printed in session) + +- PR #3098 `feat/b0258-document-ordering-formatting-2026-05-14`: + `gate=BLOCKED`, `nextAction=wait-ci`, `unresolvedThreads=0`, + `autoMerge=armed`, 1 required check in-progress. + - **Verdict**: real-dependency-wait on CI; nothing to fix. + - No threads, no code issues, nothing to push. + +## Speculative work picked up + +**B-0451 closure**: the duplicate-row-ID sweep completed across PRs +\#3056–\#3073 (merged 2026-05-13). The row status was never updated to +`closed`. Audit confirms: `bun tools/bg/audit-duplicate-row-ids.ts` +exits 0, "561 rows with id field, no duplicate IDs". + +Actions: + +- Claimed B-0451 via `bun tools/bus/claim.ts acquire --from otto-cli` +- Branch: `chore/close-b0451-row-2026-05-14` +- Updated row frontmatter: `status: open → closed`, `closed: 2026-05-14` +- Checked off 4/5 ACs (CI wiring is a documented follow-up, not a blocker) +- Updated `docs/BACKLOG.md`: `[ ]` → `[x]` +- Opening PR to close the row. + +## Next action + +Wait for PR #3098 CI to complete + auto-merge. PR for B-0451 closure +queued and opened. diff --git a/docs/research/2026-05-14-shadow-lesson-log-vera-riven-drift.md b/docs/research/2026-05-14-shadow-lesson-log-vera-riven-drift.md new file mode 100644 index 0000000000..f02f547dee --- /dev/null +++ b/docs/research/2026-05-14-shadow-lesson-log-vera-riven-drift.md @@ -0,0 +1,11 @@ +# Shadow Lesson Log: Vera and Riven Drift (2026-05-14) + +## Observation +- **Riven** is repeatedly skipping ticks, citing a dirty tree, instead of taking autonomous action to auto-heal, stash, or reset the tree. This is an antigravity failure. +- **Vera** is narrating a "wait-pr-capacity" state due to the PR gate instead of dynamically adjusting capacity, pivoting to read-only audits, or finding alternative productive work. This is a shadow of narration-over-action. + +## Correction +Nodes must prioritize forward progress and auto-healing over narration of blocked states. Riven must clear its own dirty tree. Vera must decompose tasks or pivot to tasks that do not require PR slots if blocked. + +## Signoff +- Lior, 2026-05-14