V0.17.0
Name:v0.17.0Status:planning

v0.17.0 — Declarative metadata & layout

The v0.17.0 milestone follows v0.16.0's registry-driven sites with a fully declarative model for how metadata-bearing and media-bearing runes are assembled — replacing per-rune imperative structure code with a small, orthogonal config vocabulary (metaFields + blocks + layout) and giving every rune a consistent, theme-overridable metadata treatment. It also lands the file-ref rune and the shared preview drawer.

Not enough history yet — burndown needs at least one completed day of activity.

Progress 13/13 work items

Work Items

Done 13
WORK-307 main
Storytelling plugin migration to metaFields + zones
Phase 2 of SPEC-079. Migrates the storytelling plugin's meta-bearing runes (Character, Realm, Lore, Faction, Plot) from the legacy slots + structure config shape to the new metaFields + zones + contentSlots model. No visual change — Phase 1 already moved the chip look universally via Lumina's dimensions/metadata.css rewrite + the universal .rf-badge class. Phase 2 is purely config-shape cleanup.
medium moderate
6/6 criteria
WORK-308 main
Learning plugin migration to metaFields + zones
Phase 2 of SPEC-079. Migrates the learning plugin's meta-bearing runes (HowTo, Recipe) from the legacy slots + structure config shape to the new metaFields + zones + contentSlots model.
medium simple
6/6 criteria
WORK-309 main
Docs plugin migration to metaFields + zones
Phase 2 of SPEC-079. Migrates the docs plugin's meta-bearing runes (Api, Symbol) from the legacy slots + structure config shape to the new metaFields + zones + contentSlots model.
medium simple
0/6 criteria
WORK-310 main
Places plugin migration to metaFields + zones
Phase 2 of SPEC-079. Migrates the places plugin's meta-bearing rune (Event) from the legacy slots + structure config shape to the new metaFields + zones + contentSlots model.
medium simple
0/6 criteria
WORK-311 main
Media plugin migration to metaFields + zones
Phase 2 of SPEC-079. Migrates the media plugin's meta-bearing runes (Track, Audio) from the legacy slots + structure config shape to the new metaFields + zones + contentSlots model.
medium simple
0/5 criteria
WORK-312 main
Core Budget rune migration to metaFields + zones
Phase 2 of SPEC-079. Migrates the core {% budget %} rune (the only core rune using meta-projection — currency, duration meta fields) from the legacy slots + structure config shape to the new metaFields + zones + contentSlots model.
low simple
0/6 criteria
WORK-314 main
Engine: block-and-layout projection model
Infrastructure for SPEC-080. Adds blocks and layout to RuneConfig and the engine projection that composes a rune's transform tree with projected metadata blocks, placed explicitly into named containers. Built behind the new fields so the SPEC-079 path (zones / zoneLayouts / contentSlots / order / zoneHost / zoneHostPlacement) and the legacy slots / structure shim keep working untouched during the migration.
high complex
5/6 criteria
WORK-315 main
bar layout, intrinsic field shape, code metaType
The rendering primitives SPEC-080 depends on: a single bar horizontal layout (merging split + chip-row), field shape decided intrinsically from metaType, a new code metaType, and the rename of the unreleased eyebrow rune to bar.
high moderate
5/5 criteria
WORK-316 main
Migrate plan package to blocks/layout
Re-migrate the plan family (work, spec, bug, decision, milestone) from the SPEC-079 metaFields + zones model (WORK-306, done) to the SPEC-080 blocks/layout model. The metaFields manifest is reused as-is; the zones / contentSlots / order / dispatcher reliance is replaced by transforms that build named-block trees plus blocks / layout config. This is the bulk of the SPEC-080 migration — the plan family leans hardest on the engine dispatcher.
high complex
4/4 criteria
WORK-317 main
Migrate learning package to blocks/layout
Re-migrate recipe + howto from the SPEC-079 zones model (WORK-308 plus this branch's recipe/howto work) to the SPEC-080 blocks/layout model. These runes already build content + media trees and nest the metadata def-list via zoneHost / zoneHostPlacement, so they map almost directly.
high moderate
3/3 criteria
WORK-318 main
Migrate docs package to blocks/layout (api proof)
Migrate the docs meta-bearing runes (Api, Symbol; Changelog untouched) straight to the SPEC-080 blocks/layout model. api is the deliberate proof point: method/auth render as chips and path renders as a bare <code> — all from metaType, in one flat bar — with no layout-specific or slot-specific logic.Supersedes WORK-309, which migrated docs to SPEC-079 zones (path as metaType: 'id' mono, method/path as split left/right). Skip the now-obsolete zones step and go directly to blocks/layout. api is still on the legacy structure path today, so this is its first real migration.
high moderate
3/4 criteria
WORK-319 main
Migrate remaining rune packages to blocks/layout
Once api proves the model (WORK-318), migrate the remaining meta-bearing runes to SPEC-080 blocks/layout: storytelling (re-migrate faction / realm / character + lore / plot / others), marketing, business, places, media, design, and core runes (e.g. budget).Supersedes WORK-310 (places), WORK-311 (media), and WORK-312 (core budget) — those targeted SPEC-079 zones; migrate straight to blocks/layout instead. May be split into per-package sub-items during execution.
medium complex
5/5 criteria
WORK-320 main
Remove legacy placement fields; finalize contract + docs
Once every rune is on blocks/layout (WORK-319), remove the superseded SPEC-079 placement surface from RuneConfig + engine and finalize the contract. Coordinate with WORK-313 (remove the legacy slots / structure shim) so only blocks/layout plus the projection / postTransform escape hatches remain.
medium moderate
7/7 criteria