shard(tick): 0742Z — PR #3376 merged; 7-thread fix on PR #3379; CRITICAL B-0528-free-claim correction#3381
Conversation
…CAL B-0528-free-claim correction PR #3376 (0710Z shard) merged at ccff9b0 after 3-thread fix at 0729Z. PR #3379 (0724Z shard) picked up 7 unresolved threads (2 Codex P2 + 5 Copilot) on: path-bug (5x→6x dotdot), borrow-count reconciliation, 3-advisories→2-advisories, no-cleaning-needed diagnostic gap, AND CRITICALLY the B-0528-free-claim that was wrong (B-0528 was taken by PR #3342; my on-disk check ran against a stale primary worktree on detached HEAD). All 7 resolved via graphql resolveReviewThread. Substrate-honest correction comment posted to PR #3323 thread at 07:42Z; actual next-free B-NNNN is B-0531. The chain-of-evidence preserves the first (wrong) advisory + the correction, rather than rewriting history. Refresh-before-decide failed at ID-allocation scope for the SECOND time in two ticks. Mitigation: replace local-on-disk find with `git ls-tree -r origin/main` after `git fetch`. Follow-on B-NNNN candidate. Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR adds a single tick-shard history file documenting an Otto-CLI tick at 0742Z. It records that PR #3376 merged, PR #3379 received 7 review threads that were all addressed, and posts a substrate-honest correction to a prior PR #3323 comment that incorrectly claimed B-0528 was free (actual next-free is B-0531).
Changes:
- New tick-shard file under
docs/hygiene-history/ticks/2026/05/15/recording tick activity, thread resolution, and substrate-honest corrections - Documents an updated three-step ID-allocation discipline (fetch + ls-tree origin/main + gh pr list) to replace the local
findstep that produced the wrong claim - Tracks substrate-wide path-bug cohort (5x→6x dotdot) progress: 2 of 6 fixed
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4d1514d524
ℹ️ 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".
Co-Authored-By: Claude <noreply@anthropic.com>
…ical anchor Codex P2 catch on PR #3384: my anchor cited docs/hygiene-history/ticks/2026/05/15/0742Z.md, but that file doesn't exist on this branch (#3384's commit predates PR #3381 merge). Chicken-and-egg between cross-PR file refs. Fix: cite PRs #3381 + #3323 (durable on GitHub regardless of branch state) instead of file path. The PR #3381 description contains the file content; readers can navigate to the shard via the PR. Co-Authored-By: Claude <noreply@anthropic.com>
…D-allocation discipline (#3384) * feat(rules): replace local find with git ls-tree on origin/main for ID-allocation Empirical anchor: tick 0742Z on 2026-05-15. Otto-CLI's primary worktree was stuck on detached HEAD (65c7865) from an 8h-stale Lior rebase. The local `find docs/backlog` returned B-0526 as the top, missing B-0527 + B-0528 already on origin/main. My "B-0528 is free" advisory comment to Lior on PR #3323 was wrong as a result. Caught by Copilot review on PR #3379. The fix: use `git fetch origin main` + `git ls-tree -r origin/main` for the merged-state check. This bypasses the local worktree's HEAD and reads actual merged state from the remote ref. Local `find` is now explicitly called out as the wrong tool with the 0742Z incident as the empirical anchor. Composes with refresh-before-decide.md (the invariant) at the per-ID-allocation scope. Co-Authored-By: Claude <noreply@anthropic.com> * fix(rules): cite PR refs instead of file path for ID-allocation empirical anchor Codex P2 catch on PR #3384: my anchor cited docs/hygiene-history/ticks/2026/05/15/0742Z.md, but that file doesn't exist on this branch (#3384's commit predates PR #3381 merge). Chicken-and-egg between cross-PR file refs. Fix: cite PRs #3381 + #3323 (durable on GitHub regardless of branch state) instead of file path. The PR #3381 description contains the file content; readers can navigate to the shard via the PR. Co-Authored-By: Claude <noreply@anthropic.com> * fix(rules): use git fetch origin (no branch arg) + drop name attribution per Copilot Two Copilot threads on PR #3384: 1. git fetch origin main only updates FETCH_HEAD; may leave refs/remotes/origin/main stale under some configs (refspec overrides, partial-clone). Switched to (no branch arg) which updates all configured refs reliably. 2. Name attribution 'Lior' in body prose violates the no-name-in-rule-body convention. Replaced with generic 'peer-agent' (preserves operational meaning; specific attribution lives in the linked tick shard). Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Summary
Test plan
🤖 Generated with Claude Code