feat(backlog): B-0409 wallet immune system — PoUW-CC + vaccine spread#2709
Merged
Merged
Conversation
…ck absorption P1 wallet spec: PoUW-CC five-factor gate, bivector attack absorption, vaccine spread via firefly sync, mechanical authorization (proposal ≠ permission). Defends against authority laundering, capability gifting, 51% cartel, confused deputy. Implementation starts at Cl(2,0). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds a new P1 backlog row specifying a “wallet immune system” concept (PoUW-CC gate + attack absorption + vaccine propagation) and wires it into the generated backlog index, extending the planning substrate for wallet/trust-boundary work.
Changes:
- Added new backlog item
B-0409underdocs/backlog/P1/with spec + acceptance checklist. - Updated
docs/BACKLOG.mdto includeB-0409in the P1 list.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/backlog/P1/B-0409-wallet-immune-system-vaccine-spread-poucc-spec.md | New P1 backlog row documenting the spec, dependencies, research links, and acceptance criteria. |
| docs/BACKLOG.md | Adds B-0409 entry to the generated P1 backlog index. |
| title: "Wallet immune system — vaccine spread + PoUW-CC gate + attack absorption spec" | ||
| tier: product | ||
| effort: L | ||
| created: 2026-05-11 |
AceHack
added a commit
that referenced
this pull request
May 14, 2026
…rate-hygiene sweep (#3073) * fix(backlog): resolve B-0409 3-way collision — completes B-0451 substrate-hygiene sweep Fifth and FINAL per-collision cleanup from the B-0451 sweep. Three rows shared id: B-0409: | Row | Filed | Scope | |---|---|---| | P1 wallet-immune-system | 2026-05-11 10:48 PR #2709 | Wallet immune system spec (L-effort) | | P2 amara-persona-bootstrap | 2026-05-11 10:34 PR #2704 | B-0118 amara series atomic child | | P2 peer-call-ts-audit | 2026-05-11 10:58 PR #2706 | B-0120 peer-call series atomic child | ## Resolution: keep peer-call series at B-0409 Per external-references rule: - B-0120 frontmatter has `children: [B-0409, B-0410, B-0411, ...]` AND `depends_on: [B-0409, B-0410, ...]` — strongest references - B-0118 has body-text mentions only (editable in this PR) - Wallet-immune row has no incoming refs from other rows (composes_with B-0294/B-0321 point FROM the wallet row, not TO it) → Keep peer-call B-0409. Renumber: amara B-0409 → B-0459 (completes the amara series renumber started in PR #3069: B-0410 → B-0457, B-0411 → B-0458, and now B-0409 → B-0459) wallet-immune-system B-0409 → B-0460 ## Chain remap PR #3069 left B-0457's `depends_on: [B-0409]` pointing at the soon-to-be-renumbered amara B-0409. This PR remaps it: B-0457.depends_on: [B-0409] → [B-0459] B-0457.composes_with: ..., B-0409, ... → ..., B-0459, ... Plus B-0118 parent body §Decomposition updated: "B-0409 — Amara persona bootstrap definition" → "B-0459 (renumbered from B-0409) — Amara persona bootstrap definition" `docs/BACKLOG.md` regenerated. ## Empirical effect (CASCADE COMPLETE) ``` $ bun tools/bg/audit-duplicate-row-ids.ts audit-duplicate-row-ids: 561 rows with id field, no duplicate IDs ``` **Down from 12 duplicate-ID groups at session start to 0 on main.** B-0451 cleanup progress: 11/12 → **12/12** (sweep complete). ## Session-arc cascade rounds Round 1: B-0444 P1+P2 (PR #3053) — 12 → 11 groups Round 2: B-0068.1 (PR #3057) — 11 → 10 groups Round 3: B-0090.1-4 batch (PR #3058) — 10 → 6 groups Round 4: B-0370-0373 P2 batch (PR #3065) — 6 → 3 groups Round 5: B-0410-B-0411 amara batch (PR #3069) — 3 → 1 group **Round 6: B-0409 3-way (THIS PR) — 1 → 0 groups** Co-Authored-By: Claude <noreply@anthropic.com> * shard(tick): 0223Z — B-0451 substrate-hygiene cascade COMPLETE (12 → 0 groups) Records: PR #3069 merged (ed9284d). Cross-PR sequencing constraint cleared. Executed the final B-0409 3-way cleanup in PR #3073. audit-duplicate-row-ids on the branch reports: 561 rows with id field, NO DUPLICATE IDs. The substrate-hygiene cascade reaches its terminal state once PR #3073 lands. Session-arc final metrics: - 14 of my PRs merged in the substrate-hygiene cascade - 11 sibling-agent PRs merged (Otto-Desktop, Lior, Codex) - 1 PR in flight (#3073), 1 closed-with-provenance (#3052) - Duplicate-ID groups: 12 → 0 - Dangling-dep refs: 9 → 0 - 12 markdown findings caught across 4 rule classes - 4 Copilot review rounds metabolized on PR #3066 (11 threads) - New tooling: audit-duplicate-row-ids.ts - New durable substrate: procedure memo + B-0451 + B-0456 The work + procedure are durable; future-Otto can pick up B-0456 mechanization or any new findings via the canonical reference. Co-Authored-By: Claude <noreply@anthropic.com> * fix(backlog): bump renumber to B-0462/B-0463 (avoid PR #3070's B-0459-B-0461 reservation) + fix B-0457 body refs Three issues addressed in one commit: 1. **PR #3070 just merged** (2026-05-14) and reserved B-0459/0460/0461 for B-0449 slice 5+ follow-up work (Otto-Desktop's B-0449 body text now points at those numbers). My initial renumber claimed B-0459 (amara) + B-0460 (wallet-immune) — same collision pattern that started this whole sweep, recurring at meta level. Bumped to next-available: B-0462 (amara) + B-0463 (wallet-immune). 2. **Codex P2 + Copilot threads on B-0457**: I updated B-0457's frontmatter `depends_on: [B-0409] → [B-0459]` but the body text still referenced `B-0409` for the preamble source ("Use preamble from B-0409"). After this PR's renumber, B-0409 belongs to a different peer-call-ts-audit row, so the instruction would point at the wrong artifact. Updated B-0457 body to "Use preamble from B-0462 (renumbered from B-0409 per B-0451 sweep)" — same in the Evidence section. 3. **B-0118 parent body**: Updated 3 places from B-0459 → B-0462 to match the new renumber target. ## Final state ``` $ bun tools/bg/audit-duplicate-row-ids.ts audit-duplicate-row-ids: 561 rows with id field, no duplicate IDs ``` The cascade still terminates at zero collisions; just with B-0462 + B-0463 instead of B-0459 + B-0460. ## Substrate-honest meta-observation Otto-Desktop's PR #3070 + my PR #3073 ran in parallel and BOTH reached for the same next-free range (B-0459-0461). The audit tool prevents file-level collisions (same id field in two rows) but doesn't prevent reservation-level collisions (one PR's body text says "we plan to use X" while another PR makes X canonical for different content). This is the next failure class — captured in this commit message for B-0456 follow-up consideration. Co-Authored-By: Claude <noreply@anthropic.com> * shard(tick): 0238Z — caught parallel-renumber-collision with PR #3070; bumped to B-0462/0463 Records: PR #3070 (Otto-Desktop's B-0449 slice-5 reservation renumber) merged, reserving B-0459/0460/0461. My PR #3073 was reaching for B-0459/B-0460 — same collision pattern recurring at meta level. Bumped to B-0462/B-0463. Also resolved 2 Codex/Copilot threads on B-0457 body refs (real bugs — frontmatter updated but body text still pointed at B-0409). Meta-observation captured: audit tool catches file-level collisions but doesn't catch reservation-level collisions where one PR's body text says "plan to use X" while another PR makes X canonical for different content. Next failure class for B-0456 follow-up consideration. Co-Authored-By: Claude <noreply@anthropic.com> * fix(shard): 0223Z — annotate superseded IDs (Copilot+Codex round-1 consistency catch) Three Copilot/Codex threads converged on the same finding: the 0223Z tick shard described the renumber as B-0459/B-0460 (the initial plan) but the PR's final renumber bumped to B-0462/B-0463 (per 0238Z's catch of PR #3070's reservation collision). Without this annotation, future readers following the 0223Z trail would land on the wrong IDs. Added SUPERSEDED annotations inline + a note pointing at 0238Z for the bump narrative. The PR body has also been updated to reflect the final IDs. Cumulative threads resolved across this PR: 3 (Copilot round-1). Co-Authored-By: Claude <noreply@anthropic.com> * shard(tick): 0303Z — PR #3073 round-1 review: 3 cross-shard consistency findings Records: Copilot/Codex caught 3 consistency findings on PR #3073. Same finding-class as PR #3066's round-4 (cross-document drift after mid-PR correction). Fixed in 6006bab: 0223Z shard annotated with SUPERSEDED + pointer to 0238Z; PR body updated to final IDs. This shard was pre-validated by check-md032-blanks-around-lists.ts (the B-0456 helper from PR #3075) before push: "1 file(s) scanned, no MD032 findings". Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test plan
🤖 Generated with Claude Code