WORK-615
ID:WORK-615Status:ready

Remove snippet's standalone figure wrapper

SPEC-141 D5/D6, shipped first and on its own. snippet runs in two phases: preprocess, and a postProcess pass, wrapStandaloneSnippets in packages/runes/src/config.ts, which wraps a standalone <pre> in <figure class="rf-snippet">. The wrapper adds no information: data-source and data-lines are already on the <pre>, and .rf-snippet's CSS only resets the margins the figure itself introduced.

Removing it makes snippet single-phase, so WORK-618 moves one concern into the tag module rather than half of one.

Breaking output change. Downstream CSS or tooling selecting .rf-snippet or [data-source-path] must move to pre[data-source]. Authors who want chrome compose it: {% codegroup title="…" %}, or {% figure %} once BUG-028 lands in this milestone.

Priority:mediumComplexity:simpleMilestone:v0.39.0Source:SPEC-141
changeset-release/main View source

Criteria completion

Criteria completion: 0 of 7 (0%) checked; tracking started on Oct 7, no incremental history yet0%25%50%75%100%Oct 7Oct 11

Tracking started Oct 7 — check back for trends.

Branches 5
History 4
  1. 9870c2a
    Content editedby Claude
    docs(plan): close WORK-615, WORK-618 and BUG-027 with resolutions and PR
  2. b77900b
    Content editedby Claude
    test(runes): preprocessors resolve in tree order — failing (BUG-027)
  3. c9b8c9c
    Created (ready)by github-actions[bot]
  4. 1046f41
    Content editedby Claude
    docs(plan): add v0.39.0 milestone, Declarations part two

Acceptance Criteria

  • wrapStandaloneSnippets is removed; a standalone snippet renders as <pre data-source> with no <figure> wrapper
  • Lumina's .rf-snippet rules are removed, and the CSS coverage test passes
  • A changeset records the output change and names the replacement selector, pre[data-source]
  • {% snippet %} inside {% codegroup %} and {% diff %} is unchanged
  • refrakt contracts --check drift is limited to the wrapper removal, both committed copies regenerated
  • npm run seo:baseline:check reports no drift
  • Docs that show or mention the figure wrapper (snippet rune page, SPEC-062-derived content) are updated — refrakt.stale on the touched files names them

References

  • SPEC-141 — "Prerequisite: snippet must become single-phase", D5, D6
  • SPEC-062 — the snippet rune and the wrapper's original rationale