From 1140743fd5ad3dbaeb970ea1404d1378cf313c56 Mon Sep 17 00:00:00 2001 From: Felipe Rosa Date: Sun, 30 Aug 2026 02:20:56 +0000 Subject: [PATCH 1/2] ci(commitlint): pin the four #2817 review-wave squash subjects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three squash-merge headers (#2828, #2829, #2837) crossed 100 characters only because GitHub appended the PR suffix, and #2830's subject is capitalised ("Orca-mode"). They are already on shared dev, so — matching every prior exception in this file — pin the exact full subjects instead of rewriting history. The rolling promotion #2817 fails Commit Messages on that range until this lands. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_013gGxGgKskzyzr1HRUB6cV3 --- commitlint.config.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/commitlint.config.ts b/commitlint.config.ts index bedb78330..dac2f315b 100644 --- a/commitlint.config.ts +++ b/commitlint.config.ts @@ -51,6 +51,19 @@ export default { 'spawn-context-contract#doctor-modes: mode-drift check + tighten-only --fix across all worktrees (#2779)', 'feat(hooks): retire orchestration-guard, validate-completion, and hook trust (hooks-v2#retire) (#2780)', ].includes(message.split('\n')[0]), + // Historical exception (2026-08-30, #2817 review-fix wave): four squash + // subjects landed on dev over the 100-character gate once GitHub appended + // `(#NNNN)` (#2828/#2829/#2837), and one (#2830) has a capitalised + // "Orca-mode" subject that trips subject-case. Same posture as above: + // exact full-subject pins, no rewrite of shared dev history, do not + // reuse these subjects and do not broaden this to a pattern. + (message: string) => + [ + 'docs(wish): record the #2817 FIX-FIRST review and fix disposition in the dual-mode Orca ledger (#2828)', + 'fix(orca): adapter readback, wait bound, stream faults, version gate, and doctor resilience (#2829)', + 'fix: Orca-mode lifecycle guards + retire the dead `genie mcp` entry in .mcp.json (#2830)', + 'docs(wish): record re-review #1 of #2817, refresh the fix disposition, retire the UI entries (#2837)', + ].includes(message.split('\n')[0]), // Historical exception: four `wish:`-prefixed wish-evolution commits on // the release-pipeline-collapse PR branch pre-date the engineering work. // They captured the wish-document drafts (council pivot, reviewer From 711d5986e5a0925958d11bf9696f4b3c1bf4999d Mon Sep 17 00:00:00 2001 From: Felipe Rosa Date: Sun, 30 Aug 2026 02:21:46 +0000 Subject: [PATCH 2/2] ci(commitlint): also pin the #2840 squash subject Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_013gGxGgKskzyzr1HRUB6cV3 --- commitlint.config.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/commitlint.config.ts b/commitlint.config.ts index dac2f315b..e6b308311 100644 --- a/commitlint.config.ts +++ b/commitlint.config.ts @@ -51,9 +51,9 @@ export default { 'spawn-context-contract#doctor-modes: mode-drift check + tighten-only --fix across all worktrees (#2779)', 'feat(hooks): retire orchestration-guard, validate-completion, and hook trust (hooks-v2#retire) (#2780)', ].includes(message.split('\n')[0]), - // Historical exception (2026-08-30, #2817 review-fix wave): four squash + // Historical exception (2026-08-30, #2817 review-fix wave): five squash // subjects landed on dev over the 100-character gate once GitHub appended - // `(#NNNN)` (#2828/#2829/#2837), and one (#2830) has a capitalised + // `(#NNNN)` (#2828/#2829/#2837/#2840), and one (#2830) has a capitalised // "Orca-mode" subject that trips subject-case. Same posture as above: // exact full-subject pins, no rewrite of shared dev history, do not // reuse these subjects and do not broaden this to a pattern. @@ -63,6 +63,7 @@ export default { 'fix(orca): adapter readback, wait bound, stream faults, version gate, and doctor resilience (#2829)', 'fix: Orca-mode lifecycle guards + retire the dead `genie mcp` entry in .mcp.json (#2830)', 'docs(wish): record re-review #1 of #2817, refresh the fix disposition, retire the UI entries (#2837)', + 'docs(wish): promotion sequence without #2833; record staging-leak follow-up and dogfood evidence (#2840)', ].includes(message.split('\n')[0]), // Historical exception: four `wish:`-prefixed wish-evolution commits on // the release-pipeline-collapse PR branch pre-date the engineering work.