Skip to content

feat(v2.4.0): PR 2/5 — /own:init Phase 6 writes HTML output (mission, stack, roadmap) #11

@DanielPodolsky

Description

@DanielPodolsky

Scope

Change /own:init Phase 6 to write mission.html, stack.html, and roadmap.html instead of .md files, using the templates shipped in PR 1. This is the first activating PR for the v2.4.0 HTML migration — once this merges, new /own:init runs produce HTML output for the project-level files.

Dependencies

Before you scope further — read these

  1. #9 — the locked architecture decisions for the entire v2.4.0 migration. Treat as the constitution.
  2. #10 (merged) — the foundation you'll consume. Specifically:
    • core/templates/html/mission.html.template
    • core/templates/html/stack.html.template
    • core/templates/html/roadmap.html.template
    • Inline HTML comments in each template document the semantic contract (especially the data-document-type body attribute and roadmap's data-phase-number / data-phase-name / data-status on phase sections — PR 3 will parse these).
  3. .claude/commands/own/init.md Phase 6 (currently writes MD heredocs around lines 1106-1222). That's what you're replacing.
  4. CHANGELOG.md [Unreleased] describes what PR 1 shipped and what PR 2-5 will activate. Update it during this PR.

Hard constraints (do not violate)

  • Pure visualization. Same content (problem, audience, DoD, stack table, roadmap phases) — just rendered as HTML. No new SDD steps. No new workflow concepts.
  • theme.css path for product/*.html is ../.theme/theme.css (1 level up from ownyourcode/product/). The templates already have this — preserve it.
  • data-document-type on <body> — non-negotiable per the Option D contract (PR 4 uses it for mutation validation).
  • roadmap.html data-status on phases — non-negotiable. PR 3's phase auto-detection reads this exact attribute. Start every phase as data-status=\"incomplete\".
  • DO NOT attempt to invoke the frontend-design plugin mid-flow. Phase 0.5 already handles theme setup; PR 2 only writes the HTML documents themselves. (See memory entry feedback_pr1_runtime_lessons.md for why.)
  • Update [Unreleased] block in CHANGELOG to mark PR 2 as activating Phase 6 HTML output.

Suggested implementation flow

  1. Read the 3 product templates to see required {{VARS}} and semantic structure.
  2. Read current Phase 6 (lines ~1106-1222 in init.md) to see what data is collected.
  3. Replace the MD heredoc generation with HTML template reads + variable substitution. Use the Write tool with the populated template content.
  4. Test against /tmp/owntest-pr2/ end-to-end: install scripts → /own:init → verify the 3 HTML files exist + render with theme.css link working.
  5. Open browser, confirm visual rendering in light + dark mode.
  6. Update CHANGELOG, run /own:done.

Open this issue's PR with title

feat(v2.4.0): /own:init Phase 6 writes mission/stack/roadmap as HTML (PR 2/5)

Refs #9 · Foundation in #10

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions