WORK-647
ID:WORK-647Status:ready

Compositions accept implicitSection on a sections model

implicitSection exists on the sections model (packages/types/src/content-model.ts): when no section heading is found, all children become one section instead of preamble. The composition parser does not accept the key, so itinerary, whose conditional content model only exists to add it, cannot be expressed. Accepting it removes that rune's need for a conditional model (SPEC-169 D2, D3).

Priority:mediumComplexity:simpleMilestone:v0.42.0Source:SPEC-169
claude/v0-42-0-planning-ata7nd View source

Criteria completion

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

Tracking started Oct 22 — check back for trends.

Branches 3
History 1
  1. abc833f
    Created (ready)by bjornolofandersson

Acceptance Criteria

  • A composition accepts implicitSection on a sections model, and its attribute keys must equal emitAttributes' keys, with an error naming the mismatch otherwise
  • With no section heading, all content becomes one item of the sections slot, and $each is bound the same way as for a real section, asserted in a test
  • The error for a conditional content model names SPEC-169's alternatives: implicit sections, list each and templates
  • The composed-runes guide documents implicitSection

Approach

  • In a composition there is no emitTag, so the implicit section is an ordinary item of the sections slot and its attributes supply the $each values (D3).
  • The error text for a conditional model is shared with WORK-648's and D5's alternatives. D5 (templates covering several values) waits on SPEC-168's templates; name it in the message only once it exists, or phrase the message so it does not promise it.

References

  • SPEC-169: D2, D3.