You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(brief): parse only the leading id-list in Depends on / Conflicts with (#103)
`_id_list` tokenised the *entire* field value, so a trailing rationale —
`139 (no data dependency, but PR-order is kept …)` or an em-dash for "none" —
parsed into bogus ids (`no`, `data`, `but`, `PR-order`, `—`) and `_check_dep_graph`
rejected them, crashing the whole `pdca flow` batch before any bundle ran. These two
are the only list-parsed brief fields, yet the template's own `value (explanation)`
hint teaches authors and the headless planner to write a note on the value line.
Parse only the leading run of id tokens and stop at the first non-id token: an id is
a bare reference (issue number `139`, tracker key `PROJ-12`/`AA`); a rationale word —
lowercase letters and no digit — ends the run, so a value of pure prose or a bare `—`
yields `[]`. Non-numeric ids still parse (the driver keys bundles by arbitrary id).
Also clarify both brief templates' field hints to "ids only on the value line, any
trailing note is ignored" so the example stops modelling the failure.
Tests (test_brief.OrderingFields): trailing parenthetical, em-dash rationale, em-dash-
only "none", and a non-numeric id followed by rationale. Full offline suite: 168 OK.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Eduard Ralph <15236434+eduralph@users.noreply.github.com>
Copy file name to clipboardExpand all lines: template/templates/brief.md.tpl
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -18,8 +18,8 @@
18
18
widen it. Omit only for non-structural behavioural bug fixes (principles.md §1.1).>
19
19
- **Repo + branch target:** <owner/repo> @ <branch> (resolve here at Plan — do not leave to Do)
20
20
- **Onto branch:** <remote>/<existing-pr-branch> (optional — stack the fix as a commit onto an existing open PR's branch instead of opening a new PR; the fix is tested, committed, and pushed against THIS branch; docs 03)
21
-
- **Depends on:** <id>[, <id>…] (optional — batch/lane scheduling waits until these bundles are COMPLETE before this one runs; docs 09)
22
-
- **Conflicts with:** <id>[, <id>…] (optional — never co-schedule these in the same concurrent wave, e.g. they edit a shared file; docs 09)
21
+
- **Depends on:** <id>[, <id>…] (optional — ids only on the value line, any trailing note is ignored; batch/lane scheduling waits until these bundles are COMPLETE before this one runs; docs 09)
22
+
- **Conflicts with:** <id>[, <id>…] (optional — ids only on the value line, any trailing note is ignored; never co-schedule these in the same concurrent wave, e.g. they edit a shared file; docs 09)
23
23
- **Surfaces:** <where the change is observable — `gui` (touches the frontend / an E2E
24
24
through the app is needed), `data` (backend/logic only), or`both`. Drives which
25
25
runtime gates apply (e.g. an E2E gate runs only when this is `gui`). Optional.>
0 commit comments