Documentation
¶
Overview ¶
Package roadmap renders a markdown view of a tree's epics and the milestones nested under them. It is the read-side companion to the mutating verbs in package verb: every entity already lives in the tree, so this package only orders, groups, and prints.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AppendCandidates ¶
AppendCandidates returns the concatenation of generated and candidates, with a single blank line between them. If candidates is empty, generated is returned unchanged.
func ExtractCandidates ¶
ExtractCandidates returns the bytes of the first recognized candidates-or-backlog section in src, including its `## ` heading and trailing newline, up to (but not including) the next `## ` heading at the same level. Returns nil when no recognized section is present.
Recognition is case-sensitive on the heading word and tolerates trailing whitespace. The function does not parse list items; the caller appends the bytes verbatim to a generated roadmap so hand-curated content survives a regenerate.
func Render ¶
Render produces the markdown roadmap document for t. Output is deterministic — entities are sorted by id within their group — so callers can byte-compare the result to detect drift.
Layout:
# Roadmap ## E-01 — <title> (<status>) | Milestone | Title | Status | |---|---|---| | M-001 | ... | done |
Milestones whose `parent` does not resolve to an epic in t are surfaced under a final "Unparented milestones" section so they don't disappear from the report. (`aiwf check` is the place to fix the underlying reference; render just doesn't hide it.)
Types ¶
This section is empty.