V0.19.0
Name:v0.19.0Status:planning

v0.19.0 — Polish, composability & rollups

Where v0.18.0 hardened the rune output contract, v0.19.0 builds on that stable base along several threads: visual polish of the Lumina theme, making rune composability a supported and validated surface (SPEC-084), turning bento into a proper composition substrate (SPEC-085), and improving the cross-page aggregation runes that the plan plugin leans on.

Milestone burndown: 0 open work items remaining; peak 0, started Jun 501Jun 5Jun 15
Open work items Ideal burndown
Progress 9/13 work items
Related 26

Work Items

Ready 4
WORK-340 main
Token hygiene: phantom-token reconciliation + vocabulary cleanup
Lumina's CSS references several colour tokens that are never defined, so each paints a stale literal fallback (a sky-blue from an old default theme, or a cool Tailwind gray) that doesn't track light/dark. This is the real cause of the "out of place" blue (e.g. the typography specimen background) and the cold-gray muted text in dark mode. Fix the drift at the source, reconcile the vocabulary, and keep the configurable shapes (presets, generator, docs) in correspondence.
high moderate
0/9 criteria
WORK-341 main
Dark-mode token parity audit
Make dark-mode token coverage deliberate. Most "dark looks off" reports trace to the phantom tokens fixed in WORK-340 (a phantom can't have a dark value); this item closes the genuine remaining gaps and records the intentional shared-token decisions.
medium simple
0/4 criteria
WORK-351 main
Theme-aware global chrome: selection, scrollbars, color-scheme
Three pieces of browser chrome currently ignore the theme. Make them token-driven and mode-aware.
medium simple
0/4 criteria
WORK-352 main
Focus-visible and reduced-motion consistency
Accessibility polish across the theme. Today only ~5 of ~90 rune CSS files define :focus-visible, and only 2 honor prefers-reduced-motion — so keyboard focus is inconsistent and animations don't degrade for motion-sensitive users.
medium moderate
0/4 criteria
Done 9
WORK-296 main
Decompose plan-progress as sugar over aggregate
With the generic aggregate rune in place (WORK-294), plan-progress becomes thin sugar over aggregate — same pattern as backlog / decision-log / plan-activity wrapping collection. plan-progress's current rendering (the progress bar + per-status badge row) is exactly the aggregate composition; we just need plan-specific defaults baked in so the call site stays {% plan-progress /%}.
medium moderate
8/8 criteria
WORK-342 main
Modernize plan card-sugars to compose with the bar rune
The plan sugars backlog, decision-log, and plan-activity lower to collection with bespoke card/table bodies that predate the bar rune. Rebuild their default bodies to compose from bar and give backlog a layout passthrough — while keeping the rollup faithful when the query mixes entity types.
medium moderate
8/8 criteria
WORK-344 main
Expose group metadata in collection item templates
When collection groups results, the per-item template can't see which group it belongs to or that group's size — so authors drop to aggregate for anything group-aware. Expose the group key (and count) on $item so grouped collections can render group context inline.
low simple
4/4 criteria
WORK-345 main
Bento cell adopts card's zone contract; bento becomes a grid primitive
Two structural foundations from SPEC-085: give bento-cell the same zone structure as card, and stop modelling bento as a page-section.
medium moderate
9/9 criteria
WORK-347 main
Explicit bento-cell authoring
Make {% bento-cell %} a first-class authoring path for full per-tile control (the dashboard use case), alongside the heading sugar. Today the bento-cell tag is registered but convertHeadings would swallow a hand-authored cell into the preceding heading's content, so explicit authoring doesn't actually work.
medium moderate
5/5 criteria
WORK-348 main
Bento sizing model, size-derived media placement, and link tiles
Land SPEC-085's sizing model and the placement/link affordances. One grid, one vocabulary: a 6-column default, proportional size presets, and precise cols/rows.
medium moderate
11/11 criteria
WORK-349 main
Aggregate chart layout
Close the one gap between "we have the data" and "we can chart it." Plan entities are already registered in the main site's registry, so {% aggregate type="work" group="status" %} returns real counts today — but aggregate can only render an inline integer or a body-zoned template, not a chart. Add a layout="chart" mode that renders the grouped counts as an SVG, reusing the rf-chart renderer from WORK-333. This is the SPEC-076 "chart layout" future extension, and the clean "data rune feeds viz rune" composition.
medium moderate
6/6 criteria
WORK-353 main
Chart theming contract and SVG reference implementation
Today the rf-chart web component hardcodes its palette (a JS array of semantic token refs) and all geometry (bar width bw*0.75, point r:4, stroke/ font/ gridline sizes). A theme has no say over bar thickness, series colours, etc. Define a provider-agnostic theming contract — a --rf-chart-* custom-property surface — and make the built-in SVG renderer the reference implementation of it.
medium moderate
8/8 criteria
WORK-356 main
Bento levels — heading→footprint ladder
Implement the author-defined levels ladder for bento's heading-sugar path, per ADR-013. One attribute replaces the need for the removed sizing/span mode: a user who wants the old uniform-width grid writes levels="6,5,4,3,2,1".Queued deliberately — the design is settled in ADR-013; left to marinate before implementation.
medium moderate
9/9 criteria