The board wears a picture — background becomes a mapping, and the window chrome follows it under a thin frost
background is {color:, image:} and only a mapping at every level; the board's image paints the full window under a transparent title bar, with a thin-material frost strip keeping the chrome legible and the standard accommodations intact.
Claude-Session: https://claude.ai/code/session_014PtZdPwqZuqEDLc6wZMtEy
This commit is contained in:
+1
-1
@@ -19,7 +19,7 @@ Lane/card folder names are fixed literal lowercase-UUIDv4-shaped strings (never
|
||||
| `tombstones.kanban` | A tombstoned lane and a tombstoned card, both still on disk and still in the snapshot, flagged (`isDeleted`) rather than removed. Also proves a tombstoned lane doesn't recursively flag its own un-deleted children. |
|
||||
| `duplicate-order-tie-break.kanban` | Three cards sharing one `order` in one lane, and two lanes sharing one `order` — both broken by folder name, ascending. |
|
||||
| `unknown-key-order.kanban` | Unknown/reserved frontmatter keys interleaved with schema-owned ones at board, lane, and card level — `document.unknownFields` must preserve exactly the order they were written in. |
|
||||
| `coercion.kanban` | Lenient-field coercion and fallback: wrong-type scalars that coerce (`title: 2048`, `iconColor: 42`, `background: 12345`, `width: "3"`) versus ones with no sensible reading that fall back to the default (`title: [a, b]`, `background: {x: 1}`, `width: 1.5`), plus a `deleted` with an unusable timestamp that still tombstones. |
|
||||
| `coercion.kanban` | Lenient-field coercion and fallback: wrong-type scalars that coerce (`title: 2048`, `iconColor: 42`, `width: "3"`) versus ones with no sensible reading that fall back to the default (`title: [a, b]`, `width: 1.5`, and `background: 12345` — a bare scalar, which `background` no longer has a reading for at all), plus `background: {x: 1}` — a legal mapping naming neither subkey, so no color and no trace — and a `deleted` with an unusable timestamp that still tombstones. |
|
||||
| `duplicate-top-level-keys.kanban` | A top-level key written twice — at board, lane (the strict `order` field), and card level. Last occurrence wins; **not** a fail-fast case (settled, newer than the original card text). Round-tripped to prove the earlier occurrence survives on disk, invisible only to reads. |
|
||||
| `board-level-deleted.kanban` | A board-level `deleted:` key — legal per the frontmatter table but meaningless; ignored + warned, rest of the board loads normally. |
|
||||
| `optional-keys.kanban` | `order` and `schema` optional below the board root (re-ruled 2026-07-31). One lane holds a ranked card plus every order-less shape — no key, an explicit null, `order: banana`, `order: .nan` — which all read as append-at-end in folder-name order; the strip holds a ranked lane, a `schema`-less one, and an order-less one. Also the golden case for the minimum agent card: a card whose whole frontmatter is a title. |
|
||||
|
||||
+3
-2
@@ -3,5 +3,6 @@ schema: 1
|
||||
order: 4096
|
||||
background: {x: 1}
|
||||
---
|
||||
A mapping has no sensible string reading — malformed, falls back to no
|
||||
color.
|
||||
A mapping is a legal `background` — it carries `color` and `image` subkeys
|
||||
— but this one names neither, so there is no color to read and the card
|
||||
falls back to none.
|
||||
|
||||
+2
@@ -3,3 +3,5 @@ schema: 1
|
||||
order: 5120
|
||||
background: 12345
|
||||
---
|
||||
`background` is a mapping and only a mapping, so a bare scalar has no
|
||||
reading at all — malformed, no color, bytes preserved.
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
schema: 1
|
||||
title: Wire up the loader's stray tolerance
|
||||
order: 2048
|
||||
background: coral
|
||||
background: {color: coral}
|
||||
icon: flag.fill
|
||||
iconColor: orange
|
||||
---
|
||||
|
||||
@@ -3,7 +3,7 @@ schema: 1
|
||||
order: 1024
|
||||
title: Doing
|
||||
width: 2
|
||||
background: '#3478F6'
|
||||
background: {color: '#3478F6'}
|
||||
icon: hammer.fill
|
||||
iconColor: blue
|
||||
---
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
schema: 1
|
||||
order: 2048
|
||||
title: Done
|
||||
background: green
|
||||
background: {color: green}
|
||||
---
|
||||
Completed work lives here until someone clears it out.
|
||||
|
||||
@@ -5,7 +5,7 @@ title: "Rich Demo Board"
|
||||
created: 2026-07-01T09:00:00Z
|
||||
modified: 2026-07-26T16:41:38Z
|
||||
modified-by: claude
|
||||
background: "#1E1E1E"
|
||||
background: {color: "#1E1E1E"}
|
||||
icon: rectangle.stack.fill
|
||||
iconColor: purple
|
||||
|
||||
|
||||
Reference in New Issue
Block a user