WORK-270
Setting up your dashboard 0 entities found · 9/32 branches scanned
ID:WORK-270Status:done

Plan entity embeddability (sourceFile + extract)

Make plan entities embeddable so {% expand $item.id /%} renders their bodies in entityRoutes detail pages. The plan register hook currently sets sourceUrl only; add sourceFile and an extract that returns the entity rune's transformed body. This is the prerequisite the SPEC-071 dogfood depends on.

Priority:highComplexity:moderateMilestone:v0.16.0Source:SPEC-071
claude/v0.16.0 View source

Criteria completion

Criteria completion: 0 of 4 (0%) checked; tracking started on May 25, no incremental history yet0%25%50%75%100%May 25Jun 15

Tracking started May 25 — check back for trends.

Branches 2
History 2
  1. d9c0a2c
    Created (done)by bjornolofandersson
  2. 7ab7615
    Content editedby Claude
    plan: add v0.16.0 milestone and work breakdown for SPEC-069/070/071

Acceptance Criteria

  • The plan register hook sets sourceFile (the entity's source .md path) for spec / work / bug / decision / milestone
  • An extract returns the entity rune's top-level subtree so {% expand $item.id /%} inlines the entity body
  • entityRoutes detail pages for plan entities render non-empty content
  • Tests confirm expand works on each plan entity type

Dependencies

  • WORK-269 (embed() embeddability contract)

References

  • SPEC-071
  • SPEC-069 — embeddability contract

Resolution

Completed: 2026-05-25

Branch: claude/v0.16.0

What was done

  • Verified the prerequisite is already met: the plan plugin's performUnconditionalScan (invoked inside the register hook) registers every plan entity with sourceFile (project-root-relative) and a closure extract that returns the entity's top-level rune node from a re-parse — done as part of SPEC-066/WORK-251 (v0.15.0). So {% expand $item.id /%} already renders plan entity bodies.
  • Added plugins/plan/test/embeddability.test.ts (1): scans a temp plan/ (spec/work/milestone), runs configure+register, and asserts each entity has sourceFile + a functional extract returning the matching rune node.

Notes

  • No production code change needed — the milestone's premise ("register sets sourceUrl only") was based on the TransformedPage-scan path; the unconditional-scan path already sets sourceFile+extract. Combined with WORK-268's sourceUrl back-fill, plan entities are both embeddable (sourceFile) and linkable (back-filled sourceUrl) in the dogfood.