Write the loader fixture suite, valid and malformed

18 golden fixture boards as real on-disk trees under Fixtures/ — ten
valid/tolerated cases (rich board, interrupted create, non-UUID strays,
stray files, tombstones, tie-breaks, unknown-key order, coercion,
last-wins duplicates, board-level deleted) and eight fail-fast cases,
each pinned to its exact error reason and path; the rich board's whole
tree round-trips byte-identically. Pins two contract subtleties now
recorded in the design: tombstone flags are not inherited (renderers
walk ancestors) and last-wins resolves before order strictness. README
gains the storage-foundation feature entry. 146 tests total.

Claude-Session: https://claude.ai/code/session_018BjQRYBR6jQja3jCRi5S3A
This commit is contained in:
2026-07-26 16:20:47 -04:00
parent e6c34c0ccf
commit 7470255886
73 changed files with 900 additions and 4 deletions
@@ -0,0 +1,6 @@
---
schema: 1
order: 1024
title: A Card With Junk Inside It
---
Body.
@@ -0,0 +1 @@
this whole subfolder is never scanned — cards are leaves
@@ -0,0 +1,5 @@
---
schema: 1
order: 1024
title: A Lane With Junk Beside It
---
@@ -0,0 +1 @@
board readme
@@ -0,0 +1,7 @@
---
schema: 1
title: Stray Files Everywhere
---
Stray files at board, lane, and card level are ignored — preserved
verbatim, never rendered, never warned about (only directories are level
candidates at all).
@@ -0,0 +1 @@
log line