Skip to content

docs: documentation management overhaul (decision record)#387

Draft
interacsean wants to merge 1 commit into
mainfrom
claude/agitated-fermi-1f9d0c
Draft

docs: documentation management overhaul (decision record)#387
interacsean wants to merge 1 commit into
mainfrom
claude/agitated-fermi-1f9d0c

Conversation

@interacsean

Copy link
Copy Markdown
Contributor

What

Adds decisions/documentation-management-overhaul.md — an ADR-style decision record for reworking how docs are authored, generated, and kept from drifting.

Why

All ~65 docs are hand-maintained today with no enforced source↔doc link, so API drift is invisible (e.g. timeline.md documents a component not exported from index.ts). The existing docs-update.lock.yml bot only patches drift after merge, heuristically.

The decision (summary)

  • One-way source → output. Humans edit only *.docs-outline.md (prose + English example intents + sources); AI (resync-docs skill) synthesizes the .md, a runnable [unit].examples.tsx, and the manifest. Nothing generated is ever hand-edited.
  • Deterministic pre-merge gate. A no-LLM check-docs script hashes the type surface + outline (+ advisory snapshot) and reconciles against index.ts both ways, so a forgotten/undocumented export blocks CI. Output hashes are tracked too — a hand-edited generated file fails CI.
  • Live examples. One runnable examples.tsx per unit; .md fences are extracted from it (shown === runs). A dedicated AppShell-based renderer app globs them in place (no copy).
  • Re-exports get lightweight reference units (upstream link + claims by name). The post-merge bot is retired.
  • Rollout: pilot on 2–3 components → build-out → AI-assisted migration of the rest.

The full workflow diagram (Mermaid, renders inline on GitHub) and verification plan are in the doc.

Note

This PR is a decision record only — no pipeline code yet. Opening as draft for team review of the approach before implementation.

🤖 Generated with Claude Code

One-way source→output docs pipeline: authored outlines drive AI-synthesized
docs + runnable examples, gated deterministically pre-merge by interface/
outline hashing and index.ts coverage reconciliation. Retires the post-merge
docs-update bot in favour of a blocking check + local resync-docs skill.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant