Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/hygiene-history/ticks/2026/05/01/2042Z.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
| 2026-05-01T20:42:00Z | opus-4-7 / autonomous-loop tick | 98fc7424 | Review-thread-drain tick across PRs #1153 + #1155. **REFRESH WORLD MODEL**: poll-pr-gate-batch on the 4 session PRs returned #1154 + #1156 MERGED, #1153 BLOCKED resolve-threads, #1155 BLOCKED wait-ci with non-required dup-link warning. Ran GraphQL queries to enumerate unresolved threads β€” 6 on #1153, 3 on #1155. Per-class taxonomy: 1 outdated (Codex P2 paginate, already fixed by 275458e), 8 real-fix. **Three commits this tick**: (1) `6b8c743` on #1153 β€” 4 fixes: requireValue rejects `-` prefix not just `--` (Copilot β€” `--owner -h` was silently consuming `-h` as value); spawn() drops explicit stdio so child.stdout/stderr non-null typed (Copilot β€” strict tsc broke); listOpenPRs uses `gh api --paginate ... --jq '.[].number'` for line-oriented primitive output instead of line-split JSON parsing of multi-line page bodies (Codex P2 + Copilot P1 dup); de-name "Aaron 2026-05-01" β†’ "the human maintainer 2026-05-01" in CLAUDE.md bullet + script header (Copilot β€” persona-name-on-current-state-surface rule, lineage stays in memory/ files). (2) `9e12f3f` on #1153 β€” Copilot P0: pollAllBounded must never reject. Wrapped `await pollFn(...)` in try/catch, converts rejections to PollOutcome.error with exitCode -1. New test asserts the invariant (synthetic Promise.reject becomes PollError; other PRs land normally). 11/0/131ms. (3) `cea6017` on #1155 β€” Codex P1 + Copilot P0 dup-link MEMORY.md fix (cherry-pick artifact from cross-branch merge produced two rows for the dynamic-bash file; removed older shorter row, kept newer with worked-example footer); Copilot abs-path fix (replaced `/Users/.../SQLSharp/...` in caused_by with `../SQLSharp/...` per cross-platform-reproducibility rule). All 11 unresolved threads resolved across both PRs after each fix landed. Cron 98fc7424 healthy. | [PR #1153 +2 commits, all 8 threads resolved (1 outdated, 7 real-fix); PR #1155 +1 commit, all 3 threads resolved; both PRs now wait-ci only with no warnings; auto-merge armed; final state confirmed via poll-pr-gate-batch] | The review-thread-drain demonstrated the new tools' value end-to-end this tick: poll-pr-gate-batch surfaced the BLOCKED states; structured `unresolvedThreads` count drove the GraphQL queries; per-class taxonomy (outdated vs real-fix) classified each finding before action; the new TS form factor caught its own pattern-violations (the persona-name finding by Copilot is exactly the kind of issue the SQLSharp `pattern memory file` warns about β€” js-in-ts shape leaks into other dimensions like attribution-on-current-state-surfaces). The DST tests held across the 4-change refactor + the new throw-recovery invariant β€” proof that the test suite isn't ornamental. The new try/catch invariant also generalizes: an orchestrator's "must-never-throw" contract is testable in TS, was previously only documentation in bash equivalents. Carved blade reinforced: *"DST coverage isn't a nice-to-have β€” it's the only way the orchestrator-must-never-throw contract gets enforced."* |
Loading