Expand description
The spine documents’ grammar: how a row of Roadmap.md is written
and read, and the six fields a Memo outline carries.
The part crates/kernel/spec/Spine.lean specifies this module.
Shape and truth are two doors. check_* answers “is this written
like a roadmap”; what the rows then mean — how they hang together,
what each is worth, what may be started — is crate::plan’s, and it
is separate because a mistyped row is repaired by editing the line
while a circular dependency is repaired by rethinking the work.
Six columns, and the index is a path. 2.3.1 hangs under 2.3,
so the table states a tree without a second file to say so; Weight
is a ratio among the rows that share a parent, never a quantity; and
Needs names the rows that must finish first. The three columns the
old four-column table lacked are what let one plan carry multi-level
progress, a dependency graph and a ready set instead of pointing at a
diagram file nobody parses.
Every write goes through this file. Assembling a row of Markdown anywhere else would be a second opinion on what a row looks like, and a grammar may only have one.
Structs§
- NewChild
- A child to hang under a node: what it is, and how big a slice of its parent it takes.
- Roadmap
Row - One row, as the table spells it.
Enums§
- Evidence
Cell - The evidence column, three-way: empty and invalid are different facts — one renders as “in progress”, the other as “suspect”.
- Roadmap
Shape - Deliberately exhaustive shape verdict.
- Roadmap
Status - The five states, closed. The spellings below are the canonical table strings, and there is exactly one set of them: a second set would be a second authority over what a resident is allowed to write.
- Scope
Change - Scope-change vocabulary: requirements move by KEEP/ADD/DROP, never by piling replacements into a bigger project.
- Write
Moment - The three moments the plan may be written.
Constants§
- ROADMAP_
COLUMNS - The number of columns the roadmap table has. Named because three places state it — the parser, the refusal it writes, and the template — and a plan whose columns disagree with its reader has no denominator at all.
- ROADMAP_
FILE - The name of the plan file, in every building at every depth.
- ROADMAP_
STATUS_ SPELLINGS - Status column spellings — the parse table, data not code. These are the words the template asks a resident to write.
Functions§
- check_
roadmap_ shape - Finds the first pipe table and checks the six-column contract. Pure
string work, no I/O;
crate::planbuilds the tree from what comes back. - insert_
children - Hangs new children under a node, returning the whole text.
- set_
roadmap_ status - Rewrites one row of the first table, returning the whole text.