Skip to content

Add a zero-warning Sphinx site with mermaid diagrams; rewrite the changelog to Common Changelog - #23

Merged
forkrul merged 2 commits into
masterfrom
ccr-3635ed7e-ja7qow
Oct 4, 2026
Merged

forkrul merged 2 commits into
masterfrom
ccr-3635ed7e-ja7qow

Conversation

@forkrul

@forkrul forkrul commented Oct 4, 2026

Copy link
Copy Markdown
Owner

Sphinx docs (docs/)

  • Sphinx + MyST site that also reads on GitHub. docs/README.md is the GitHub landing page for the folder; docs/index.md is the Sphinx root.
  • docs/architecture.md draws the contracts as 7 mermaid diagrams: the pipeline and its artifacts, smithy's state machine, the adversarial review round, red-amber-green, parallel [P] tasks, how install.sh places a link, and the superpowers policy. They are plain ```mermaid blocks. GitHub renders them natively, and myst_fence_as_directive = ["mermaid"] makes the same blocks sphinxcontrib-mermaid directives in Sphinx.
  • No contract is copied into docs/. docs/_ext/damascus_sources.py generates the pages for the skills, agents, README, example trail, CLAUDE.md and changelog into docs/_generated/ at build time. That directory is gitignored. The extension strips frontmatter and re-points relative links: to the generated page, to docs/, or to GitHub.
  • New CI job sphinx docs (zero warnings) runs sphinx-build -W --keep-going -n. The toolchain is pinned in docs/requirements.txt and is docs-only; install.sh needs none of it.
  • Fix: forge's PRD template had a nested ``` fence that closed the outer block early, so the template rendered broken on GitHub too. The outer fence is now four backticks.

Changelog (Common Changelog)

  • Entries are single-line and imperative, each with PR or commit links (at most two per entry). The release has a one-sentence notice and uses only the Added category, since nothing has been released yet. CI, Dependabot and issue-template noise is dropped.
  • [Unreleased] stays as the repo's one deliberate deviation, because CLAUDE.md, the changelog gate and the Release workflow depend on it. It now has a link definition. CLAUDE.md's release ritual says how to rewrite the notice and add the version link.

README / CLAUDE.md

  • README gains a Documentation section and a docs/ row in Layout. CLAUDE.md documents the zero-warning build and the rule that contracts are never copied into docs/.

Verification

  • sphinx-build -W --keep-going -n: build succeeded, 0 warnings.
  • All 8 mermaid diagrams (7 new plus the README's) parse and render with mermaid 12 in headless Chromium. The built pages render all 7 SVGs with no console errors, and I checked each diagram by screenshot.
  • tests/smoke.sh passes. Frontmatter lint and the example-trail check pass, and ci.yml parses.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NgVoHT9xneQu3hPZSabSGv


Generated by Claude Code

claude added 2 commits October 4, 2026 05:57
…ngelog to Common Changelog

- docs/ is a Sphinx (MyST) site that also reads on GitHub. architecture.md
  draws the contracts as mermaid diagrams (pipeline, smithy's state
  machine, the review round, red-amber-green, parallel [P] tasks,
  install.sh link placement, superpowers policy); the same ```mermaid
  blocks render on GitHub and, via myst_fence_as_directive, in Sphinx.
- docs/_ext/damascus_sources.py generates the stage, agent, example,
  README, contributing and changelog pages from the shipped files at
  build time, so no contract is copied into docs/.
- CI builds with sphinx-build -W --keep-going -n; toolchain pinned in
  docs/requirements.txt.
- Fix forge's PRD template: its nested ``` fence closed the outer block
  early, so the template rendered broken on GitHub too.
- CHANGELOG: one-line imperative entries with PR/commit references, a
  single-sentence notice, no CI/dotfile noise; [Unreleased] kept as the
  repo's documented deviation. README and CLAUDE.md document the docs
  build and the changelog rules.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NgVoHT9xneQu3hPZSabSGv
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NgVoHT9xneQu3hPZSabSGv
@forkrul
forkrul merged commit d500882 into master Oct 4, 2026
5 checks passed
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.

2 participants