Skip to main content

Module tracker

Module tracker 

Source
Expand description

A tracking issue’s checklist, read as work.

Triage already declines a tracker and holds it open, which is right and leaves it standing still: every run judges it again, comments again, and none of the work written down in it moves. This reads the - [ ] lines, gives each one an issue, and writes the number back beside the item so the body itself is the record. No state file: the checkbox is the state, where a person can read it and correct it by hand.

The trigger is the checklist and never a judgement about what the parts might be. A tracker with no task list is commented on and held exactly as before. Writing - [ ] lines is something somebody does on purpose, which makes this opt in per issue as well as per repository.

Everything else spar writes is additive: a comment, a new issue, a commit on its own branch. This rewrites text a person wrote, in place, in the issue most likely to be the shared plan for a piece of work. So the surgery is line local, every other line is proved byte identical before the write, the body is re-read immediately before each one, and spar triage prints the whole thing without writing any of it.

Structs§

Item
One task list item, as it stands in the body.
Reference
An issue an item’s text already names.
Step
One item and what is to become of it.

Enums§

Action
What spar would do with one unchecked item.
Change
The one edit a write may make to one line.
Origin
Where the issue an item names lives, as the item spells it.

Functions§

decompose
Work the checklist in one tracker, and hand back the children to work.
parse
Every task list item in the body, in order.
plan
What spar would do with each unchecked item, deciding but never writing.
preview
Print the decomposition spar run would perform, and write none of it.
rewrite
The body with one line changed, or an error saying why it will not be.