backlog(B-0545): B-0498 ID collision — renumber sweep (Riven cursor-terminal → next ID)#3619
Conversation
…erminal → next ID) Caught by copilot-pull-request-reviewer on PR #3604 thread: - docs/backlog/P1/B-0498-riven-cursor-terminal-* (2026-05-15, from #3603) - docs/backlog/P2/B-0498-substrate-evolution-algebra-* (2026-05-14) Per b0451_per_collision_renumber_procedure: first-merged wins. P2 (2026-05-14) predates → keeps B-0498. P1 (2026-05-15) → renumbers to next free (B-0546). This row IS the filed-correction surface; implementation happens in a follow-up PR. Priority P2 — collision exists but no active break; address within 1-2 weeks. Composes: - memory/feedback_b0451_per_collision_renumber_procedure_external_references_rule_trumps_first_merged_2026_05_14.md - .claude/rules/claim-acquire-before-worktree-work.md (ID allocation discipline section) - .claude/rules/refresh-before-decide.md (per-ID-allocation scope) Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b0bcac6436
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| The renumber is a **substrate-correction**, NOT a feature. Implementation: | ||
|
|
||
| - Move file: `git mv docs/backlog/P1/B-0498-riven-* docs/backlog/P1/B-0546-riven-*` |
There was a problem hiding this comment.
Replace wildcard destination in rename command
The documented sweep command uses a wildcard in the destination (git mv ... B-0546-riven-*), which is unsafe in Bash because unmatched destination globs are passed literally; running this as written can rename the file to a path containing a * character instead of the intended concrete filename. In the renumber workflow, that would leave the backlog row under an invalid/unexpected name and likely break follow-up references/indexing, so the command should name the exact target file (or compute it programmatically) rather than using a wildcard destination.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Pull request overview
Adds a new P2 backlog row (B-0545) to document and track the discovered B-0498 ID collision, and to define the intended renumber target/sweep scope for a follow-up implementation PR.
Changes:
- Introduces backlog row B-0545 describing the B-0498 collision (P1 vs P2 rows) and the “first-merged-wins” renumber procedure reference.
- Captures proposed renumber target (B-0546) and a checklist of cross-reference updates to perform in the implementation sweep.
- Records rationale for P2 priority and scope-bounds (filed-correction surface only).
Comments suppressed due to low confidence (3)
docs/backlog/P2/B-0545-b0498-collision-renumber-sweep-2026-05-15.md:47
- P1: The example command
gh pr list --search "B-NNNN" --state allwon’t actually enumerate the in-flight IDs you list below (it searches for the literal stringB-NNNN). Use a concrete search term/pattern that matches real PR titles (e.g., the specific IDs, or a prefix likeB-054), or reword this to describe the check without giving a non-functional command.
## Next free ID
At time of filing (2026-05-15T22:55Z), `git ls-tree origin/main` plus `gh pr list --search "B-NNNN" --state all` shows:
- B-0542 last on main
- B-0543/B-0544 taken in flight (PR #3614, OPEN)
- B-0545 — THIS ROW, claimed
- **B-0546** — next free for the renumber target
docs/backlog/P2/B-0545-b0498-collision-renumber-sweep-2026-05-15.md:70
- P1:
tick-shards-are-immutableis referenced as if it’s a named rule, but there’s no such rule/doc in the repo; this reads like a dead xref. Consider linking to an existing authority that states shard immutability (e.g.,docs/hygiene-history/ticks/README.md, which describes shards as immutable events) or rename this to the actual rule/document name.
- Update `id:` frontmatter inside the moved file
- Update any `depends_on:` / `composes_with:` fields in OTHER backlog rows that pointed at B-0498 in the Riven sense
- Update tick shards that QUOTE the Riven B-0498: PER `tick-shards-are-immutable` discipline, do NOT in-place-edit; instead, append a correction note in a new shard OR add a glossary entry in the renumber row
- Update any tools/scripts: rename references via `grep -rln "B-0498-riven\|B-0498.*riven" memory/ docs/ .claude/ tools/`
docs/backlog/P2/B-0545-b0498-collision-renumber-sweep-2026-05-15.md:88
- P2: In the “Composes with” section,
claim-acquire-before-worktree-work.mdandrefresh-before-decide.mdare referenced as bare filenames, but the canonical paths are under.claude/rules/…. Consider linking them with their full repo paths (as other backlog rows do) so readers can navigate unambiguously.
## Composes with
- The `b0451_per_collision_renumber_procedure` memory (2026-05-14) — same shape, second instance
- The `claim-acquire-before-worktree-work.md` rule's "ID allocation discipline" section — this collision is an instance the discipline is meant to prevent
- `refresh-before-decide.md` invariant at ID-allocation scope — both surfaces (merged + in-flight) must be checked; the Riven-cursor row at 2026-05-15 likely skipped the on-disk B-0498 P2 check
| title: B-0498 ID collision — renumber sweep (Riven cursor-terminal scaffold → new ID) | ||
| type: substrate-correction | ||
| status: open | ||
| created: 2026-05-15 |
…kson → HaPPY-like QECC (#3941) * research(B-0562): QG isomorphism Step 2 — cube + Adinkra + Cayley-Dickson → HaPPY-like QECC Step 2 of the 4-step QG isomorphism proof path opened in B-0543 / PR #3614. Step 1 (B-0544, PR #3614) formalized Zeta_{RA} = (Zeta, M, A) with an internal monad M for memory and modal operator A for attention. Step 2 unfolds the two axioms into a 4-axis cube (Remember × When × Pay × Attention), grafts the Adinkra-Gates supermultiplet layer onto cube vertices, lifts the cube through a Cayley-Dickson tower (R → C → H → O → S → T), and proposes the algebraic shape that matches HaPPY (holographic perfect-tensor) QEC codes. Originally allocated as B-0545; collided with PR #3619's renumber-sweep that re-took B-0545 for Riven's cursor-terminal loop work. Renumbered to B-0562 (next free above all merged-on-main + in-flight #3878's B-0561) per the multi-Otto ID-allocation discipline in .claude/rules/otto-channels-reference-card.md. Crash-recovery note: this row + research file were the only artifacts from the pre-crash Otto session that hadn't already shipped via concurrent PRs (rule landed via #3935, B-0507 follow-on via #3937, Lior tick via #3936). Per-artifact refresh-before-decide caught the duplications before pushing. Co-Authored-By: Claude <noreply@anthropic.com> * fix(b-0562): MD029/MD047 lint + BACKLOG.md index regen CI failures on PR #3941: - markdownlint MD029 line 22 (blockquote ordered list starting at "2." preserves source numbering from B-0543's 4-step proof strategy; added <!-- markdownlint-disable-next-line MD029 --> + clarifying intro) - markdownlint MD047 line 102 (missing trailing newline) - BACKLOG.md generated-index drift (B-0562 row added; incidentally sweeps up pre-existing B-0507/B-0508 [ ] → [x] flip that should have landed with PR #3937 but didn't trigger a regen) Co-Authored-By: Claude <noreply@anthropic.com> * fix(b-0562): markdownlint MD029 + MD047 — bold-prose + trailing newline Resolves Copilot review threads on PR #3941: - L22: ordered-list `> 2.` in blockquote → bold `> **Step 2.**` (MD029) - L102: missing trailing newline (MD047) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
Summary
copilot-pull-request-revieweron PR shard(tick): 2217Z — arm-sweep continued: #3601 (merged), #3603 (armed) #3604 (tick shard 2217Z thread):docs/backlog/P1/B-0498-riven-cursor-terminal-*-2026-05-15.md(from merged feat(riven): Riven cursor-terminal loop scaffold [B-0498] (decomposed) #3603)docs/backlog/P2/B-0498-substrate-evolution-algebra-*-2026-05-14.md(pre-existing)b0451_per_collision_renumber_procedure: first-merged-wins → P2 (2026-05-14) keeps B-0498; P1 (2026-05-15) renumbers to next free (B-0546).Test plan
git ls-tree origin/main -- docs/backlog/— both files exist🤖 Generated with Claude Code