From 2859b3a207d4fd03e815316390e8b6f133574759 Mon Sep 17 00:00:00 2001 From: Codeman maintainer Date: Sun, 18 Oct 2026 16:52:37 +0200 Subject: [PATCH] fix(story-mode): two open endings the last words missed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From a recall sample of clean finishes: "the box hasn't answered yet" is something not done, and "One thing worth flagging: …" is a heads-up. Co-Authored-By: Claude Opus 5.5 (1M context) --- src/story-mode.ts | 4 ++-- test/story-mode.test.ts | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/story-mode.ts b/src/story-mode.ts index aac6f421..0fd52684 100644 --- a/src/story-mode.ts +++ b/src/story-mode.ts @@ -291,7 +291,7 @@ const KEY_KINDS: Array<[StoryKeyKind, RegExp]> = [ [ 'problem', // "bug-fixing" and "cron-broken-network" are names, and a bare "warning" is often one too. - /\b(problems?|bugs?(?!-| fix)|(? = [ [ 'pending', // "Left out" is open work, unless Claude chose it ("left out on purpose", "rather than guessed"). - /(? { expect(keyKindOf('The old menu used to break when the list was empty.')).toBeUndefined(); expect(keyKindOf('JSON files still open the live log viewer, as intended.')).toBeUndefined(); expect(keyKindOf('Two reviews are still open.')).toBe('pending'); + expect(keyKindOf("I sent the request, but the box hasn't answered yet.")).toBe('pending'); + expect(keyKindOf('One thing worth flagging: the PR went conflicting because of my push.')).toBe('problem'); // "Left out" is open work, unless Claude chose it. expect(keyKindOf('The README update is left out for now.')).toBe('pending'); expect(