feat(docs): render every diagram with Archify; add illustrations and a new social card - #166
Merged
Conversation
…a new social card Diagrams. Thirteen Archify diagrams (typed JSON sources in docs/diagrams/src, each validated at Archify's showcase bar: 9/9 checks, 0 errors, 0 warnings, and visual-checked at desktop sizes in both themes) replace the fifteen hand-written Mermaid diagrams in README, ARCHITECTURE, ONBOARDING, GUIDE, the substrate docs, the routing doc, the plan overview and eight docs-site pages. Four views are new: the claim lifecycle, one session's hooks, the forge verify pipeline and the universal-router cascade. Each was checked against the code; the router diagram describes `forge route fit` as a MAP shrinkage toward the shipped prior, and the verify diagram binds untracked files into the code state. - scripts/diagrams.mjs pins Archify by commit (node + git only): `build` validates, renders, exports the dual-theme SVG through the viewer's own Export menu (Archify's headless Chrome driver) and writes the receipt; `check` is the offline CI check; `sync` refreshes the byte-identical docs-site copies in mintlify/images/diagrams; `site` is the Pages step. - The Pages build renders each interactive page and refuses one whose sha256 differs from its validated receipt (rendering is byte-deterministic; a fresh fetch of the pin reproduces every receipt). The gallery at /diagrams/ is linked from the landing page and the status page. - forge docs check rejects new hand-written Mermaid diagrams and embeds of unregistered diagrams; the generated repo map stays Mermaid. - .cache/ joins IGNORE_DIRS, so a fetched tool checkout stays out of the import graph, forge impact/scope and the repo map. Visual assets. Seven docs-site pages open with an illustration; the landing page's evidence band has a background veiled to keep its text at >= 5.4:1 (flat under prefers-contrast: more); the link-preview card is og.jpg (284 KB), rendered from docs/assets/og.svg by scripts/og-card.mjs, which refuses a card whose text leaves the safe area or that exceeds link-preview size limits. The landing hero now says 10 native targets. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GVVG2VDETWsDxMu6MBWPz2
CodeWithJuber
marked this pull request as ready for review
September 26, 2026 23:04
CodeWithJuber
pushed a commit
that referenced
this pull request
Sep 26, 2026
… Windows The Windows CI job failed "the repository's diagrams match their receipts" after #166 merged: with core.autocrlf, Git checked docs/diagrams/src/*.json out with CRLF line endings, so each source's sha256 differed from the receipt in docs/diagrams/diagrams.json and all thirteen diagrams read as changed. The receipts hash exact bytes, so the sources must be byte-stable across platforms: .gitattributes now pins docs/diagrams/** and the docs-site SVG copies to LF. A new test asks git which eol applies to those paths. Reproduced with a core.autocrlf=true clone (check fails before, passes after). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GVVG2VDETWsDxMu6MBWPz2
12 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
This follows #165, which has shipped in v1.6.0. It carries out two requests:
1. Thirteen Archify diagrams replace the fifteen hand-written Mermaid diagrams.
docs/UNIVERSAL_ROUTING.md, the plan overview and eight docs-site pages.forge verifypipeline and the universal-router cascade.docs/diagrams/src/use Archify's typed schemas (architecture, workflow, sequence, dataflow, lifecycle). Each passes Archify's showcase bar: 9/9 artifact checks, 0 errors, 0 warnings. Each also passes Archify's visual check at 1440×900 to 2048×1320 in both themes.forge route fitis a MAP shrinkage toward the shipped prior, not a Bayesian update.forge verify,forge imagine --run, CI and a human accept/revert.<Frame>, with a link. The interactive pages support pan, zoom, search (/), a guide (?) and tracing a node's dependencies.scripts/diagrams.mjspins Archify by commit and uses only node and git.buildvalidates, renders, exports the SVG through the viewer's own Export menu (Archify's headless-Chrome driver), refreshes the docs-site copy and writes a receipt todocs/diagrams/diagrams.json.checkruns offline and is in the quality gate. It fails when a source changed without a re-render, when a source isn't registered, when an SVG or docs-site copy is missing or stale, or when a declared embed is gone.syncrefreshes the byte-identical docs-site copies inmintlify/images/diagrams/; Git stores each identical file once.siteis the Pages step. It renders the ~0.8 MB interactive pages, which are not committed, and refuses to publish any page whose sha256 differs from its validated receipt./diagrams/is linked from the landing page's nav and footer and from the status page. It meets WCAG AA in both themes: the worst contrast is 5.84:1 in dark and 4.62:1 in light, with no overflow at 1440, 760 or 390 px.forge docs checknow rejects hand-written Mermaid diagrams and embeds of unregistered diagrams. The generated repository map stays Mermaid, because it is laid out from the live import graph.docs/diagrams/README.md.2. Illustrations and the social card.
prefers-contrast: more.og.jpg(284 KB), rendered byscripts/og-card.mjsfromdocs/assets/og.svg. The script refuses to write the card if a font didn't load, if text crosses into the art or out of the crop-safe margins, or if the file exceeds the ~300 KB that link-preview scrapers accept. The oldog.pngwas 1.3 MB.test/pages.test.jsnow checks that theog:imagefile ships fromdocs/assetsand thattwitter:imageis the same card.3.
.cache/stays out of the import graph.forge impact,forge scopeand the generated repository map walked into.cache/. Locally, the pinned Archify checkout there showed up as 219 project files..cacheis now inIGNORE_DIRS, with a regression test that fails without the fix.Checklist
npm testpasses on the rebased tree: 1,700 tests, 1,696 pass, 0 fail, 4 platform-gated skips (Node 22)npm run checkpasses (Biome lint + format)feat:/fix:/docs:…)CHANGELOG.mdupdated under## [Unreleased]forge substrate,forge impact, router/gate, or MCP substrate toolsRisk & rollback
IGNORE_DIRS. The rest is docs, images and a build-time diagram pipeline.javascript-code-scanning) finds 0 results on this tree. One finding in a new test regex was removed before the push.github-social-preview.pngfrom the asset bundle in the repository's GitHub settings.Extra checks (tick if applicable)
npm run typecheckpasses🤖 Generated with Claude Code
https://claude.ai/code/session_01GVVG2VDETWsDxMu6MBWPz2
Generated by Claude Code