Commit 7fc138f
Extends parseWishGroups in src/term-commands/dispatch.ts to capture the
descriptive text after `### Group N: <title>` headings, exposing it via a
new `title?: string` field on GroupDefinition. The richer parser at
src/services/wish-parser.ts already does this — this minimal regex
extension surfaces the title to the dispatch path so /work can use it as
PG task titles instead of bare "Group N".
Locks the invariant that title MUST NOT participate in groupsSignature
(via comment + dedicated test), so prose edits to a group heading don't
flip the signature and force `genie reset`.
Group 1 deliverables met:
- title?: string added to GroupDefinition (wish-state.ts)
- groupPattern regex extended with `(.*)$` capture group (dispatch.ts)
- 4 new test cases in parseWishGroups describe block (dispatch.test.ts):
title capture, missing title, multi-group with deps, signature stability
Validation:
- bun test src/term-commands/dispatch.test.ts: 66 pass / 0 fail
- bun run typecheck: clean
- bun run lint: only pre-existing warnings (3, all in unrelated files)
Wish: fix-wish-task-tree-unification (Group 1 of 4 — title capture only;
Group 2 adds --wish flag, Group 3 adds adopt-by-title, Group 4 updates
SKILL.md).
Refs #1300
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 0c3ed41 commit 7fc138f
4 files changed
Lines changed: 361 additions & 2 deletions
File tree
- .genie/wishes/fix-wish-task-tree-unification
- src
- lib
- term-commands
0 commit comments