T-IIRK-add-the-roadmap-entity-type-and-its-create-check-ops
State: closed/done · Impact: high · Complexity: medium
The sdlc 1.0 plan needed a checkable entity that groups milestones under a shipped version and validates the group as a whole — the tracking document the rest of the 15-phase plan hangs its milestones and tasks off. No such entity type existed.
Milestone and Task entities existed with their own schema/contract/ops triads, but nothing sat one level above Milestone to group them by shipped version and validate the group as a whole.
Proposed
Section titled “Proposed”A new roadmap entity type: RoadmapSchema/RoadmapContract in
schema.ts, docs/planning/roadmaps/RM<NNNN>.md id-only filenames, a
body template with an Overview section plus free-form ## vX.Y.Z
version sections, sdlc roadmap create, and sdlc roadmap check
validating that every milestone wikilink resolves, every one of those
milestones’ own tasks resolve, no milestone is double-booked across
versions, and no unexplained closed/abandoned or closed/superseded
milestone lingers.
Approach
Section titled “Approach”- Added
RoadmapSchema/RoadmapContracttolib/model/entities/roadmap/schema.ts, mirroring Milestone’s shape minus the sub-id suffix and theversion/target_datefields. - Wrote the
roadmap/definition.mdcompanion doc andbody-template.eta. - Implemented
ops/create.ts(mintsRM-NNNN) andops/check.ts(the cross-reference validator). - Registered the entity type in the model’s dispatch/obsidian-index wiring and added schema/create/check tests.
| Area | Note |
|---|---|
solutions/ontological/lib/model/entities/roadmap/ | New entity: schema, definition, body template, create/check ops, tests |
Acceptance criteria
Section titled “Acceptance criteria”- AC-1:
sdlc roadmap create -t "<title>" --plan-doc "…"mints anRM-NNNNfile underdocs/planning/roadmaps/. - AC-2: sdlc roadmap check reports a broken milestone wikilink, a milestone linked from two version sections, and an unresolved task inside a linked milestone.
- AC-3:
bun test solutions/ontological/lib/model/entities/roadmappasses.
Out of scope
Section titled “Out of scope”- none
Dependencies
Section titled “Dependencies”- none