V0.45.0
Name:v0.45.0Status:complete

v0.45.0 — Steps and the ladder

A composition can number its items. Composition templates gain one tag, {% group %}, that arranges what it holds as a row or a ladder, and steps becomes the first composition built on a numbered ladder (SPEC-156, SPEC-161 D5).

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

Progress 10/10 work items
Related 16

Work Items

Done 10
WORK-583 main
Emit sequence ordinals as nodes, not CSS counters
A numbered sequence renders its ordinal through CSS:
medium moderate
7/8 criteria
WORK-585 main
Name the Steps item container, and normalise Playlist onto refs
Every rune that declares sequence: names the container holding its items — except one. Steps builds its <ol> at plugins/marketing/src/tags/steps.ts:166 and pushes it straight into children two lines later, so the element carries no data-name, gets no BEM element class, and cannot be addressed from a layout tree.
medium trivial
5/6 criteria
WORK-676 main
Composition templates place group with a bar or ladder arrangement
A composition template has no way to arrange ordinary slots as a row, except by placing the bar rune, which is a name-resolution boundary (SPEC-145 D19). And it has no way to wrap an each slot's items in a list. SPEC-156 D2 and D3 answer both with one template tag, {% group name="…" layout="bar|ladder" %}, an engine wrapper with an arrangement.
high moderate
8/8 criteria
WORK-677 main
A composition declares sequence in its definition, and a ladder stamps only its own list
Whether an ordinal is information is a fact about the content, so sequence is identity (SPEC-158 D2). A composition declares it in its definition, where a theme's replacement template cannot remove it (SPEC-156 D12, ADR-045). And a ladder's data-sequence lands on the ladder only, not on every ordered list inside the rune (D14).
high moderate
5/5 criteria
WORK-678 main
steps is a composition over section and a ladder
steps is a section with a numbered sequence of steps, each a section with a split (SPEC-161 D5). Its numbering needs a ladder, which WORK-676 and WORK-677 provide, and SPEC-169 D4's example is the template.
medium moderate
5/5 criteria
WORK-679 main
Track declares metaFields and blocks, and its byline is a variant
Track's config is { block, parent, defaultElevation, editHints }. Its artist, duration and date are hand-built spans, and track.css hand-writes the row and the duration's push to the end. The byline form (name above, artist, year and duration beneath) needs no new mechanism, only adoption (SPEC-156 D7).
low moderate
5/5 criteria
WORK-688 main
Prominence gains a marquee step and sizes the whole header and flush band
prominence gets a fifth step, marquee, above display (SPEC-183 D1). Each step now sizes the blurb and the header's spacing as well as the title (D2). A flush band at display or marquee takes its padding from the step (D3). Lumina paints the display and marquee titles with a gradient (D4), and the large buttons apply at marquee only (D5).
medium moderate
8/8 criteria
WORK-689 main
The composed hero and cta adopt marquee and display, and are compared against the plugins
The staged hero defaults to marquee and the staged cta declares display (SPEC-183 D1). Their comparison tests then check that every value the plugin stylesheets set comes from the register instead (D6). Whatever differences remain are explained, as SPEC-181's review gate requires.
medium simple
5/5 criteria
WORK-690 main
Loud titles scale down on a phone
At 3.25rem a marquee title cannot fit a long word on a phone: the cover example's "Documentation" overflows a 390px screen on refrakt.md and staging alike. Found reviewing staging on a phone. Below 640px of container width the two loud steps ramp smaller: marquee at 5/3 of the resting size (2.5rem) and display at 4/3 (2rem). The plugin hero and cta take the same sizes, so the two sites stay identical until they go live.
medium simple
4/4 criteria
WORK-691 main
The composed testimonial matches the plugin: one column without media, card padding, a plain pullquote
Reviewing the staged testimonial on staging.refrakt.md (SPEC-181) found four differences from the plugin:
medium simple
8/8 criteria