Development record
The bundled ROADMAP rule domain still teaches retired phases and milestones. internal/core/rules/defaults/rules.json:34 injects 'The roadmap is intent-driven; each phase ends in a milestone.' into every managed repository on a prompt that names a roadmap, milestone or phase, although adr-2609212115255771 retired the phase, the milestone and the word roadmap (decision 8 replaces this domain with the decision's statement) and adr-2609292012006845 carries that forward. abcd's own repository masks the defect with a repo override (.abcd/rules.json:127-131), so its own sessions never see it; a sibling session's user test of an adopted repository on v0.9.0 reported it on 2026-10-03. The brief-wide sweep iss-2609251618079479 does not name the defaults file.
The bundled ROADMAP rule domain still teaches retired phases and milestones. internal/core/rules/defaults/rules.json:34 injects 'The roadmap is intent-driven; each phase ends in a milestone.' into every managed repository on a prompt that names a roadmap, milestone or phase, although adr-2609212115255771 retired the phase, the milestone and the word roadmap (decision 8 replaces this domain with the decision's statement) and adr-2609292012006845 carries that forward. abcd's own repository masks the defect with a repo override (.abcd/rules.json:127-131), so its own sessions never see it; a sibling session's user test of an adopted repository on v0.9.0 reported it on 2026-10-03. The brief-wide sweep iss-2609251618079479 does not name the defaults file.
Evidence 2026-10-04 (a downstream lab)
A downstream private project on v0.9.0 shaped a whole brief around M0 to M8 milestones because the bundled ROADMAP rule taught them as current, while bare abcd ahoy called the install up to date (captured separately as iss-2610040758303107). It is not only a stale-release problem: at tip 57d5ec9fa internal/core/rules/defaults/rules.json still carries "The roadmap is intent-driven; each phase ends in a milestone." The lab rated the consequence major.
Grounds
- pursued: a managed repository prompting about a roadmap, milestone or phase is told phases and milestones are retired; shown wrong if any bundled default rule names a phase or milestone without saying it is retired, or a phase prompt stops recalling ROADMAP (TestNoBundledRuleTeachesPhasesOrMilestonesAsCurrent)
Frontmatter
| id | iss-2610030807157970 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610030807157970-the-bundled-roadmap-rule-domain-still.md
open on GitHub ↗ · commit history ↗
mentions4
- adr-2609212115255771Phases and milestones are retired: sequencing is dependencies rendered as status, the checkpoint is the derived release
- adr-2609292012006845Now, Next and Later list an intent in a lane under Now only; phases stay retired
- iss-2609251618079479After adr-2609212115255771 retired the phase, the milestone and the word roadmap, the brief outside the mental-model chapter still describes the phase as the live sequencing unit: 59 files under .abcd/development/brief mention it, among them 01-product/04-scope.md (bounded by the planned phases), and the glossary entries release, version, loop, plan and spec, whose prose says a phase sequences the work and a release falls out of completing one. itd-2609211913453478 rewrote only the mental-model chapter and repointed each entry's not_to_be_confused_with; no record carries the rest of the sweep.
- iss-2610040758303107Bare abcd ahoy prints 'staleness: up to date' when the running binary matches its own install's pin, a comparison made from disk alone by design (itd-111; internal/core/ahoy/vintage.go, Staleness), and the line says neither what it compared against nor that abcd update --check is the verb that asks for the newest release. A downstream user on v0.9.0, several releases behind, read 'up to date' as current and kept working against bundled guidance that predated the retirement of phases and milestones.