fix(#1455): resolve project-code-prefixed roadmap headings
* fix: remove hardcoded phase project-code prefix cap
Centralize project-code prefix stripping/matching and replace fixed {1,6} caps so long codes (for example MANIFOLD-117) resolve across phase, roadmap parser, roadmap upgrade, and validate flows.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: address review feedback on prefix parsing
- allow project_code prefixes with digits and underscores while preserving milestone parsing
- use shared optional project-code prefix source in phase dir parsing
- extend regression coverage for APP1/APP_1 prefixed phases
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chore: resolve review nit in phase-id test comment
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: resolve project-code-prefixed roadmap headings
Make getRoadmapPhaseInternal recover from drifted project-code-prefixed ROADMAP headings while preserving canonical bare-heading preference. Add init.phase-op and parser regressions for #1455 and guard gsd-roadmapper against emitting project_code in headings.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chore: add changeset for project-code phase fix
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chore: update roadmapper agent size baseline
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix(#1455): tighten project-code prefix regex to [A-Z] start; add boundary test; document source order
Resolves blockers from review:
- Regex changed from [A-Z_][A-Z0-9_]* to [A-Z][A-Z0-9_]* so leading
underscores (_FOO-7, _-7) are never misread as project-code prefixes;
adds boundary test asserting both do NOT strip.
- Adds comment to roadmapPhaseLookupSources explaining why 3 sources are
needed (order-dependent canonical-heading preference).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Solvely-Colin <211764741+Solvely-Colin@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -226,6 +226,10 @@ current milestone number and a two-digit phase index within that milestone
|
||||
active milestone context (default: `1` for new projects). This ensures downstream tools that
|
||||
parse `### Phase N-NN:` headers for milestone-scoped workflows receive correctly prefixed IDs.
|
||||
|
||||
`project_code` is only a phase-directory prefix. Never include `project_code` in ROADMAP phase
|
||||
checklist entries or detail headers. For example, even when `project_code: "PROJ"` is configured,
|
||||
write `Phase 7` for `sequential` and `Phase 1-07` for `milestone-prefixed`, not `Phase PROJ-7`.
|
||||
|
||||
## Granularity Calibration
|
||||
|
||||
Read granularity from config.json. Granularity controls compression tolerance.
|
||||
@@ -328,6 +332,7 @@ After roadmap creation, REQUIREMENTS.md gets updated with phase mappings:
|
||||
### 1. Summary Checklist (under `## Phases`)
|
||||
|
||||
Use the form matching `phase_id_convention` from config.
|
||||
Do not include `project_code` in checklist phase IDs.
|
||||
|
||||
**Sequential (default — when absent or `"sequential"`):**
|
||||
|
||||
@@ -348,6 +353,7 @@ Use the form matching `phase_id_convention` from config.
|
||||
### 2. Detail Sections (under `## Phase Details`)
|
||||
|
||||
Use the header form matching `phase_id_convention` from config.
|
||||
Do not include `project_code` in detail header phase IDs.
|
||||
|
||||
**Sequential (default):**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user