V0.44.0
Name:v0.44.0Status:complete

v0.44.0 — Hero, cta and testimonial compose

The first marketing runes become compositions over section, beside the plugin runes they will replace. Before they can, a composed rune has to put its universal attributes somewhere other than its empty root, and state its chrome defaults (SPEC-145 D31–D34, SPEC-160 D7, SPEC-161 D1).

Milestone burndown: 0 open work items remaining; peak 5, started Oct 29024Oct 29Nov 4
Open work items Ideal burndown
Progress 14/14 work items
Related 33
History 15
  1. e34259a
    statusplanning→complete
    by bjornolofandersson
  2. 696934e
    Content editedby Claude
    Plan: v0.44.0 complete; SPEC-161 and SPEC-181 accepted; SPEC-160 and SPE
  3. 99771c3
    Content editedby bjornolofandersson
  4. 7370042
    Content editedby Claude
    v0.44.0: a paragraph fills a rune's own values; testimonial keeps its by
  5. 58c3b59
    Content editedby bjornolofandersson
  6. 69c462c
    Content editedby Claude
    v0.44.0 batch 6: stage hero, cta and testimonial; document and enforce s
  7. bbcfb94
    Created (planning)by bjornolofandersson
  8. d68f00e
    Content editedby Claude
    plan: stage testimonial; plugin runes accept the composed form first
  9. d14882c
    Content editedby Claude
    plan: SPEC-181 uses a staging site and settles the rollout
  10. 7052a8d
    Content editedby Claude
    plan: SPEC-181 staged runes, WORK-680..684
  11. 0ec343f
    Content editedby Claude
    plan: draft v0.45.0 and v0.46.0; WORK-660 joins v0.44.0
  12. c527aa0
    Content editedby Claude
    plan: accept ADR-042 to ADR-045; SPEC-166 D6 formats; WORK-669 to WORK-6
  13. 3c2340b
    Content editedby Claude
    plan: revise SPEC-156 against the code; rename the stack layout to lead
  14. a785d87
    Content editedby Claude
    plan: action button size follows the section's prominence (SPEC-160 D7)
  15. 07d27ce
    Content editedby Claude
    plan: draft v0.44.0, hero, cta and testimonial compose

Work Items

Done 14
WORK-660 main
Stop documenting heading eyebrows
ADR-046 decides that an eyebrow is a paragraph directly before the headline, never a heading. The docs still teach the heading form. The guide's only example of it uses hero, which renders it wrongly (BUG-047), and nineteen rune pages say "a short paragraph or heading" in the same boilerplate sentence.The native page-section runes keep their grammar until each one is composed (ADR-046, decision 4), so some of them still accept the heading form. The docs stop recommending it anyway: it is not the direction, and documenting less than a rune accepts is safe where documenting more is not.
medium simple
4/4 criteria
WORK-664 main
section takes guest-fit
The native hero and feature host a media guest with guestFit: 'bleed', a config field. A config field cannot differ between compositions that place the same section, and hero needs bleed where a card-like composition needs clip (SPEC-160 D7).
medium simple
4/4 criteria
WORK-665 main
hero is a composition over section
hero becomes a section with a split, cover, the header and {% actions %}, with no rune CSS of its own (SPEC-160 D7). WORK-654 leaves a composed hero fixture; this item completes it and compares it with the plugin.
high complex
8/8 criteria
WORK-666 main
cta is a composition over section
cta becomes a section with a header and {% actions %}, with no rune CSS of its own (SPEC-160 D7).
medium moderate
7/7 criteria
WORK-667 main
A lead layout for blocks
A blocks entry renders through bar (a row) or definition-list (a label/value grid). Neither draws a byline, a lead value with secondary values beneath, which testimonial and cast each hand-roll in their CSS (SPEC-161 D6).
medium simple
5/5 criteria
WORK-668 main
testimonial is a composition over section, with a codemod for its byline
testimonial becomes one section with a portrait media zone, the rating and byline metablocks, and the quote slot (SPEC-161 D1). Its author and role move from a **Name** — Role paragraph to attributes, so the schema table can publish them.
medium complex
9/9 criteria
WORK-669 main
A theme override aimed at a composed rune is reported and dropped
ADR-042 makes a composed rune's config its definition's: a theme cannot know which definition it faces, so an override of a composed rune's blocks or metaFields is a guess that silently resolves to nothing. Nothing enforces this yet. mergeThemeConfig and mergeRuneConfig (packages/transform/src/merge.ts) guard the identity fields on every rune, and nothing else, so a theme's runes: entry keyed to a composed rune's type name applies.v0.44.0 adds the first composed runes a theme could try to override (hero, cta, testimonial), so the guard lands with them.
high simple
5/5 criteria
WORK-680 main
A staging site renders the docs with staged runes in place of plugin runes
A second site, staging, renders site/content with the project runes in site/staged-runes/ preferred over the plugin runes they replace (SPEC-181 D1). It uses only existing configuration: runes.dir and runes.prefer (__project__).
high simple
6/6 criteria
WORK-681 main
Stage hero, cta and testimonial on the staging site
The composed hero, cta and testimonial move out of the test fixtures into site/staged-runes/. This makes the review of WORK-665, WORK-666 and WORK-668 possible: the runes' reference pages, the homepage and every other page that uses them, rendered with the compositions on the staging site.
high simple
6/6 criteria
WORK-683 main
Document the staging convention and rollout, and test that conversions follow it
Every conversion of a plugin rune into a composition is staged until it goes live, and goes live on its own (SPEC-181 D5, D6). Writing that down is not enough to make it happen, so this item also adds a test that fails when a conversion skips staging.
medium simple
4/4 criteria
WORK-684 main
The plugin hero accepts start and end for align, and the site content uses them
The composed hero takes align="start | center | end", which is section's vocabulary. The plugin hero takes left | center | right. The staging site renders the same content as main, so align="left" on the homepage and on the hero reference page would be invalid there (SPEC-181 D7). The plugin hero learns the new values first, and the content moves to them.
high simple
5/5 criteria
WORK-685 main
The plugin testimonial accepts author and role attributes, and the codemod is applied to this repository
The composed testimonial (WORK-668) takes author and role attributes and reports a **Name** — Role paragraph as content-unmatched. The plugin testimonial takes no author attribute. So WORK-668 built refrakt marketing migrate-testimonial but did not apply it: the rewritten content would not have rendered through the plugin.The staging site renders the same content as main (SPEC-181 D7). The plugin testimonial therefore learns the attributes first, and the codemod is then applied.
high simple
6/6 criteria
WORK-686 main
A paragraph field takes an item model, and fills the rune's own attributes
The content model reads structured values out of a list item (itemModel) and a heading (headingExtract), but not out of a paragraph, and what it extracts can only reach an emitted child or $each (SPEC-182). This item adds both missing pieces, reusing the list-item vocabulary.
high moderate
7/7 criteria
WORK-687 main
testimonial reads its byline from the paragraph again, and the attribute migration is reversed
The staged testimonial reads **Name** — Role through WORK-686's paragraph item model, and keeps author and role as the alternative form (SPEC-182 D6). The content migration and the codemod that pointed the other way are reversed before v0.44.0 is released (D7).
high simple
7/7 criteria