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 runwould perform, and write none of it. - rewrite
- The body with one line changed, or an error saying why it will not be.