Phase 1 of the decision surface (01 ▸ Malformed input, settled
2026-07-31): BoardLoadFailure aggregates the walk's defects in walk
order — stop-at-first retires. Environmental failures (unreadable root,
not-a-directory) stay immediate single-defect throws: there is no walk
to collect from. A defective root index is recorded and the walk
continues into the children (nothing in the walk consults the parsed
root document — verified); a defective lane, card, or trash-entry index
records and skips its subtree, Re-check's whole-walk re-aggregation
being the designed loop for what hides beneath. load(skipping:) is the
per-open skip channel: a skipped path's item is omitted from the model
and surfaces as LoadWarning.userSkipped; root paths are unskippable by
construction. The reload-breakage banner carries the aggregate ("…and
N more"), single-defect sentences byte-identical to before. Two new
multi-defect fixture boards; suite 2591 green.
Claude-Session: https://claude.ai/code/session_01CqjXB7ASoWtbyoGod68k97
11 lines
356 B
Markdown
11 lines
356 B
Markdown
---
|
|
schema: 1
|
|
kind: lane
|
|
order: 2048
|
|
title: A Lane That Will Not Parse
|
|
labels: [red, green
|
|
---
|
|
Defect #3: unparseable YAML — an unterminated flow sequence, the same shape
|
|
`unparseable-yaml.kanban` uses one level up. The card below is never enumerated: a broken lane
|
|
takes its subtree with it, and repair-then-re-check is what reveals what it was hiding.
|