Skip to content

docs(v1.85.0): post-ship retrospective fixes for v1.84.0#437

Merged
BaseInfinity merged 1 commit into
mainfrom
docs/v1.84.0-retrospective-fixes
Jul 5, 2026
Merged

docs(v1.85.0): post-ship retrospective fixes for v1.84.0#437
BaseInfinity merged 1 commit into
mainfrom
docs/v1.84.0-retrospective-fixes

Conversation

@BaseInfinity

Copy link
Copy Markdown
Owner

Summary

Independent Fable + Codex retrospective audit of the just-shipped v1.84.0 release found 4 doc gaps in CLAUDE_CODE_SDLC_WIZARD.md (the portable doc that ships to every consumer repo):

  • Stale "7 rounds" example — actually ran 11; round 8 (not round 5) was the sharper illustrative finding
  • Missing "CERTIFIED is not the finish line" lesson — cross-model review and CI are different verification layers (proven live in this exact release: 3 real bugs slipped past 11 rounds of review + a full local sweep, only caught by CI)
  • CI Feedback Loop section was measurably weaker than skills/sdlc/SKILL.md's own copy of the same section — synced (NEVER AUTO-MERGE, read-logs-even-when-green, cross-model CI-log audit)
  • No "Policy Migration Inventory" checklist item, despite SDLC.md already documenting this exact lesson from v1.84.0 — graduated it into the portable doc

Also:

Doc-only release — no hook, skill logic, or CLI behavior changes.

Test plan

  • test-doc-consistency.sh — 52/52
  • test-wizard-doc-hook-templates.sh — 3/3
  • test-postmortem-lessons.sh — 7/7
  • test-docs-usability.sh — 29/29 (confirms version pointer parity)
  • test-hooks.sh — 189/189
  • test-cli.sh — 97/97
  • test-self-update.sh — 153/153
  • test-plugin.sh — 26/26
  • Codex cross-model review — CERTIFIED (round 2)
  • CI green on this PR

Independent Fable + Codex audit of the just-shipped v1.84.0 release found
4 gaps in CLAUDE_CODE_SDLC_WIZARD.md:
- Stale "7 rounds" example (actually 11); round 8, not round 5, was the
  sharper illustrative finding
- Missing "CERTIFIED is not the finish line" lesson (cross-model review
  and CI are different verification layers)
- CI Feedback Loop section weaker than skills/sdlc/SKILL.md's own copy
  (missing NEVER AUTO-MERGE, read-logs-even-when-green, cross-model
  CI-log audit)
- No Policy Migration Inventory checklist item, despite SDLC.md already
  documenting this exact lesson from v1.84.0

Also settles ROADMAP #437's open design question (commit_sha-based
staleness check, implementation to follow as a separate TDD PR) and
records maintainer intent for #434/#438 (Fable-led sibling-repo sync
after this release, not GH issue posting from this session).

Version bumped 1.84.0 -> 1.85.0 across all tracked locations. Codex
cross-model review (2 rounds) caught 2 more stale version pointers
outside the documented checklist (ROADMAP.md living-tracker row,
cowork/README.md) - fixed, and the checklist itself updated so the
gap doesn't recur.
@BaseInfinity BaseInfinity merged commit 5b337dc into main Jul 5, 2026
4 checks passed
@BaseInfinity BaseInfinity deleted the docs/v1.84.0-retrospective-fixes branch July 5, 2026 23:00
BaseInfinity added a commit that referenced this pull request Jul 6, 2026
CI's test-cowork-drift.sh caught cowork/skills/sdlc/SKILL.md drifting
from the canonical skills/sdlc/SKILL.md -- the commit_sha instructions
added for #437 in the previous commit never got copied to this second
tracked location.

Byte-for-byte cp of content already certified in PR #438's round-3
review. Fast-tracked through a scoped 2-round Codex check (round 1
correctly flagged the fix wasn't actually staged yet; round 2 confirmed
staging + re-verified the diff-empty/tests-pass content).
BaseInfinity added a commit that referenced this pull request Jul 6, 2026
…438)

* fix(hooks): codex-gate-check.sh stale-certification loophole (#437)

A CERTIFIED/REVIEWED handoff.json status was checked as a literal string
with no freshness check -- any number of commits made after certification
would sail through the gate on the same stale status forever. Proven live
during the v1.84.0 release: 2 real post-certification commits both passed
the gate on a round-11 CERTIFIED handoff that was never re-issued.

Certification now records commit_sha (HEAD at cert time) in handoff.json;
the gate compares it to current HEAD and treats a mismatch -- or a missing
field, e.g. an old-format handoff.json predating this fix -- as stale
(exit 2, same as an uncertified commit). This allows exactly one commit
after certification and blocks the next one until re-cert.
CODEX_GATE_SKIP=1 remains the logged-justification escape hatch.

TDD: 2 new tests proven RED against the unmodified hook, GREEN after;
2 existing tests updated to real git-repo fixtures with a matching
commit_sha (191/191 hook tests green, up from 189).

3-round Codex cross-model review: round 1 caught a second, duplicate copy
of the review protocol in the wizard doc missing the commit_sha
instruction. Round 2's mutation testing proved the first regression test
(a whole-file count comparison) had real slack, and surfaced a third,
entirely separate flow-diagram copy that had also been missed. Rebuilt
the test as a per-line proximity check and proved it against all 3
mutation scenarios independently before round 3 certified clean.

Also fixes a latent bug in tests/test-self-update.sh's multi-reviewer
checks (bare ? treated as literal in basic regex, not a quantifier),
exposed while trimming skills/sdlc/SKILL.md back under its char budget.

Version bump 1.85.0 -> 1.86.0.

* fix(cowork): sync sdlc SKILL.md drift caught by CI (PR #438 follow-up)

CI's test-cowork-drift.sh caught cowork/skills/sdlc/SKILL.md drifting
from the canonical skills/sdlc/SKILL.md -- the commit_sha instructions
added for #437 in the previous commit never got copied to this second
tracked location.

Byte-for-byte cp of content already certified in PR #438's round-3
review. Fast-tracked through a scoped 2-round Codex check (round 1
correctly flagged the fix wasn't actually staged yet; round 2 confirmed
staging + re-verified the diff-empty/tests-pass content).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant