Expand description
The shapes that cross the boundary between spar and a model, and the shapes spar keeps for itself.
Everything a model produces is parsed leniently: an LLM that answers “medium” where the schema said “med” is not a reason to abandon a run that has already spent real money. Anything genuinely unrecognisable is still an error, because silently downgrading a blocking finding is worse than stopping.
Structs§
- Adjudication
- One reviewer’s judgement of a finding the other reviewer raised.
- Adjudication
Doc - Contested
Item - Disposition
- Dispute
- Finding
- Issue
- Issue
Ref - Issue
Run - The outcome of working one issue, or resuming one PR.
- Judged
- A finding after both reviewers have had their say.
- Label
- Ledger
Entry - Persisted
State - Everything needed to pick a review back up, including on another machine.
- Plan
- Plan
Item - PrRef
- PrView
- Response
Doc - Review
- Skipped
Item - Triage
Response - Triage
Verdict
Enums§
- Action
- A reviewer’s point gets exactly one of these. Refutation is a first class outcome, not friction: an agent that accepts every comment to get approved produces worse code, not better.
- Complexity
- How much work an issue is. Drives ordering: cheap unblocking work first.
- Item
Kind - Issues and pull requests share one number sequence per repository, so a number names exactly one of them and spar can work out which.
- Next
Action - Risk
- How likely a change here is to break something.
- Severity
- Only
Blockinggates a merge. This is the whole defence against the nitpick spiral: a competent reviewer can always find something, so “no objections remaining” is not a stopping condition but “no blocking objections” is. - Standing
- Status
- Terminal state of one issue or one resumed PR.
- Verdict
Constants§
Functions§
- de_bool
- A boolean that may arrive as
true,"true","yes", or1. - de_i64
- An integer that may arrive as a number, a float, or a quoted string, with or
without a leading
#.
Type Aliases§
- Ledger
- Refuted points, keyed by
finding_key. Ordered so the settled block in a prompt is stable between rounds, which keeps prompt caches warm and diffs readable.