The standing ledger for odu-impact items that accumulate between kolu pin bumps.
The contract (kolu's .claude/rules/surface.md): odu consumes @kolu/surface* via a loose npins pin — deliberately no per-PR pair (three-repo lockstep was rejected; drishti is the tight twin). In exchange, every API-facing kolu surface PR must post its odu-impact verdict (breaks-at-bump / adoption-opportunity / none, with the grounding grep) — and any non-none verdict lands here as a line item: the kolu PR, the affected odu site, the verdict.
The trigger: the moment this ledger holds a breaks-at-bump item, the next pin bump is schedulable work, not someday-work. Adoption-only items batch until a bump is scheduled anyway.
Consumed by: each pin-bump PR drains the ledger — its body checks off every line item (adopted / fixed / explicitly deferred with reason) and closes the drained entries.
(The 2026-07 bump in flight predates this ledger and drains the obligations recorded in kolu's plan note instead — SR1's two hand-finalization sites, SR2's cast sweep.)
The standing ledger for odu-impact items that accumulate between kolu pin bumps.
The contract (kolu's
.claude/rules/surface.md): odu consumes@kolu/surface*via a loose npins pin — deliberately no per-PR pair (three-repo lockstep was rejected; drishti is the tight twin). In exchange, every API-facing kolu surface PR must post its odu-impact verdict (breaks-at-bump / adoption-opportunity / none, with the grounding grep) — and any non-none verdict lands here as a line item: the kolu PR, the affected odu site, the verdict.The trigger: the moment this ledger holds a breaks-at-bump item, the next pin bump is schedulable work, not someday-work. Adoption-only items batch until a bump is scheduled anyway.
Consumed by: each pin-bump PR drains the ledger — its body checks off every line item (adopted / fixed / explicitly deferred with reason) and closes the drained entries.
(The 2026-07 bump in flight predates this ledger and drains the obligations recorded in kolu's plan note instead — SR1's two hand-finalization sites, SR2's cast sweep.)