WORK-651
ID:WORK-651Status:done

section declares its body role

section's sections declare preamble, headline and blurb but no body, so reading and dropcap silently do nothing on a section. This is the case packages/transform/src/section-roles.ts exists to catch (SPEC-160 D1). It stands on its own and is the first step of SPEC-160's order.

Priority:highComplexity:trivialMilestone:v0.43.0Source:SPEC-160
claude/post-v0.43-roadmap-mf1ngx View source

Criteria completion

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

Tracking started Oct 28 — check back for trends.

Branches 4
History 1
  1. c8a4017
    Created (done)by bjornolofandersson

Acceptance Criteria

  • sectionSections declares body: 'body', and reading / dropcap take effect on a section's body, asserted in a test
  • Every existing section fixture renders unchanged apart from the body role, and the contract diff on both copies is reviewed

References

  • SPEC-160: D1.
  • ADR-041.

Resolution

Completed: 2026-10-26

Branch: claude/v0-43-0-review-ny4nl1

What was done

  • packages/runes/src/tags/section.ts: sectionSections declares body: 'body', and the schema declares provides: ['prose']. packages/runes/src/config.ts: the Section entry declares provides: ['prose'].
  • packages/runes/test/section-roles.test.ts: tests that data-section="body", data-reading and data-dropcap land on a section's body.
  • packages/lumina/test/prose-capability.test.ts: the body-role audit counts 33. section is audited as a prose body.
  • Contracts: Section no longer lists reading and dropcap as unavailable.

Notes

  • The body role alone was not enough. reading is offered only on a rune that provides prose, which is default-off, so section needed both, the way card has them.