Publication systems

Static-First Explorable Essays

A proof-backed guide to publishing rigorous interactive articles without turning the whole page into an app.

An explorable essay is not a static article with a widget attached. The prose, figures, data, source notes, and proof gates need one folder contract so each claim can change without breaking the route.

Question

How should a technical article carry long-form prose and interactive figures without making every paragraph depend on runtime JavaScript? The platform blueprint answers with a static-first rule1: ship the article as HTML, then hydrate only the figures that need state.

Local Model

The working model has five layers. MDX owns the content. Astro owns the publication shell. React islands own interactive figures. Data artifacts feed those figures before build time. Tests, Storybook states, browser checks, and scaffold validation prove that the page still renders.

Figure 1. Static-First Article Layers The second essay starts from the registered blueprint: content, shell, islands, data artifacts, and verification stay separate so each layer can be tested directly.
Static-first article layersMDX contentPublication shellInteractive islandsData artifactsVerification

Mechanism

Each essay folder contains the article, configuration, data, assets, and figure code. That keeps the local proof close to the claim: pure model logic gets unit tests, visual states get Storybook, and rendered pages get Playwright coverage.

Proof Ladder

This article now carries its first article-owned data artifact: a checked-in proof ladder derived from the platform blueprint. It names the owner and gate for each layer before future figures add runtime state.

LayerOwnerGate
Contentindex.mdxAstro content route renders the essay slug.
Publication shellEssayRenderer.astroAstro build emits the static essay route.
Interactive islandsfigures/Future figure islands must ship fixtures, Storybook states, and model tests.
Data artifactsdata/proof-ladder.jsonZod parsing and unit tests reject missing or reordered proof steps.
VerificationstaticFirstEssay.test.ts and home.spec.tsVitest, Playwright, static build, and scaffold validation pass.

Proof Flow

The first dedicated article figure reads the same proof-ladder data instead of copying a second diagram by hand. The SVG and gate list are static output, so the article gains a figure without adding hydration work.

Figure 2. Proof Ladder Flow A React-rendered static figure consumes the article-owned proof-ladder JSON and turns the layer contract into a source-to-verification path.
Static-first proof flowFive ordered nodes connect the article content, shell, islands, data artifacts, and verification gates.1Contentindex.mdx2Publication shellEssayRenderer.astro3Interactive islandsfigures/4Data artifactsdata/proof-ladder.json5VerificationstaticFirstEssay.test.ts and home.spec.ts
  • Contentindex.mdxAstro content route renders the essay slug.
  • Publication shellEssayRenderer.astroAstro build emits the static essay route.
  • Interactive islandsfigures/Future figure islands must ship fixtures, Storybook states, and model tests.
  • Data artifactsdata/proof-ladder.jsonZod parsing and unit tests reject missing or reordered proof steps.
  • VerificationstaticFirstEssay.test.ts and home.spec.tsVitest, Playwright, static build, and scaffold validation pass.
Figure 2. Proof Ladder Flow proof metadata
  • FigureProof renders the figure title and caption through the shared FigureFrame shell.
  • ProofLadderFlow consumes article-owned proof-ladder data without client hydration.
  • Playwright verifies non-empty SVG nodes, links, and proof gates.

Gate Inspector

The first stateful figure keeps the same data boundary. It hydrates only the inspector, then lets the reader switch proof layers while the owner, claim, and gate still come from the checked-in ladder.

Interactive Figure 3. Proof Gate Inspector A hydrated React island consumes the article-owned proof-ladder JSON and exposes one stateful view over the owner, claim, and gate for each platform layer.
Stateful proof gate inspectorA stateful proof gate inspector generated from article-owned proof ladder data.1Content2Publication shell3Interactive islands4Data artifacts5Verification
Proof layer

Content

Owner
index.mdx
Claim
The article body stays in MDX so prose can render as static HTML.
Gate
Astro content route renders the essay slug.
Selected layer: Content
Interactive Figure 3. Proof Gate Inspector proof metadata
  • FigureProof keeps source metadata outside the hydrated React island.
  • ProofGateInspector hydrates only the interactive figure controls with client:visible.
  • Playwright verifies the island, selected layer state, source summary, and reset path.

Scrollytelling Primitive

The scrollytelling proof follows the blueprint’s minimal model: an Astro wrapper hydrates one small React island, the active step comes from fixed article-owned data IDs, and the route keeps a useful static first render before the observer updates. The island now passes that active step into one child figure through props, proving the first child-context boundary without adding a registry.

Cross-article scrollytelling registries are explicitly vetoed: No cross-article scrollytelling registry is accepted for this static-first route until a registry contract, article ownership model, and repeated-article choreography need are source-registered and proven.

General child-figure choreography frameworks are explicitly vetoed: No general child-figure choreography framework is accepted for this static-first route until repeated child-figure needs, a state ownership contract, and a testing strategy are source-registered and proven.

Step 1

Start With the Static Route

The primitive keeps a useful first render: the reader sees the active step, progress rail, source note, and gate text in HTML.

Source
blueprint-001
Locator
BLUEPRINT.md sections 5, 9, and 13
Gate
Vitest validates the fixed step IDs and Playwright verifies the static first render.
  • Step IDs are fixed data fields, not prose-derived state.
  • The article owns the step data artifact.
  • The scrolly section renders readable HTML before client state updates.

Step 2

Hydrate One Visible Primitive

The hydrated island tracks the visible step and updates the sticky summary without creating a global timeline framework.

Source
blueprint-001
Locator
BLUEPRINT.md sections 13 and 16
Gate
Playwright verifies the island hydrates and changes the active step from fixed data IDs.
  • The wrapper uses client:visible.
  • The island owns only local active-step state.
  • No external analytics transport or cross-article observer registry is introduced.

Step 3

Prove the Boundary

Passing tests prove the primitive boundary without claiming child-figure context, choreography, or a general scrollytelling framework.

Source
blueprint-001
Locator
BLUEPRINT.md sections 13, 17, and 20
Gate
Vitest, Playwright, typecheck, build, and scaffold validation pass for the rendered scrolly section.
  • The browser route exposes the accepted scrollytelling marker.
  • Mobile layout avoids horizontal overflow.
  • Future child-figure step context remains a separate proof.

Scroll Analytics

The first scroll analytics boundary stays local to the page. When the active Scrolly step changes, the island dispatches a scrolly:step-change event whose detail contains only the artifact ID, source ID, active step ID, target ID, and trigger. The same island reduces those events into scrolly:step-aggregate session counts keyed by fixed step IDs and triggers. A route-level boundary listens for that aggregate and emits a local route:analytics-summary event with the route ID, source ID, last artifact, active step, and fixed artifact totals. A first transport adapter can queue the Scrolly aggregate through a same-origin navigator.sendBeacon endpoint when one is passed in, but this published route leaves the endpoint unconfigured. The live collector boundary is explicitly vetoed until a collector runtime is source-registered and proven. Persistent reader tracking is explicitly vetoed until reader identity, storage, retention, and consent boundaries are source-registered and proven. The third-party provider boundary is also explicitly vetoed: no provider SDK, remote script, provider project ID, cross-origin collection endpoint, cookie, fingerprint, persistent reader identity, dashboard, retention, or delivery guarantee is accepted. Cross-article analytics registries are explicitly vetoed until a registry contract, ownership model, and collector boundary are source-registered and proven.

Event
scrolly:step-change
Payload
Fixed article IDs only
Aggregation
In-memory session counts
Transport
Optional same-origin Beacon adapter, endpoint not configured
Route Summary
route:analytics-summary with local route totals
Collector
No live analytics collector is accepted for this static-first route until a source-registered runtime endpoint exists.
Reader Tracking
No persistent reader tracking is accepted for this static-first route until reader identity, storage, retention, and consent boundaries are source-registered and proven.
Provider
No third-party analytics provider is accepted for this static-first route until a provider, data contract, and privacy boundary are source-registered and proven.
Registry
No cross-article analytics registry is accepted for this static-first route until a registry contract, ownership model, and collector boundary are source-registered and proven.
Not Claimed
No live collector, third-party provider, provider SDK, persistent reader tracking, cross-article analytics registry, global analytics artifact map, or shared analytics event bus

Generated Data

The article now has its first generated data pipeline. A deterministic script reads the checked-in proof ladder, emits a generated gate summary, and exposes a check mode so stale data fails before the article builds.

MetricValue
Artifactstatic-first-proof-gate-summary
Pipelinescripts/generate_static_first_gate_summary.py
Total gates5
Unique owners5
Final gateVitest, Playwright, static build, and scaffold validation pass.

Visual Baseline

The first visual-regression proof is local and article-owned. Playwright now snapshots the static proof-flow figure and one hydrated gate-inspector state, so layout drift in either proof surface has a committed baseline to compare against.

CI Proof

The first CI proof keeps local screenshot baselines and post-deploy live checks out of the Ubuntu smoke gate, then runs a separate browser command for the static-first route. GitHub Actions now checks generated data drift, unit tests, typecheck, build, Storybook, audit, and CI-safe Playwright coverage before accepting the app gates.

Live Deployment

The first live deployment proof checks the production Cloudflare Pages route at tutorials-e4t.pages.dev. The live probe verifies that the static-first route returns HTML, carries this proof marker, renders the static proof-flow figure, and hydrates the gate-inspector island.

Provider
Cloudflare Pages
Route
/essays/static-first-explorable-essays/
Probe
tests/static-first-live.spec.ts

Preview Deployment

The first preview deployment proof targets a non-production Cloudflare Pages branch alias with PREVIEW_BASE_URL. The preview probe verifies that the static-first route returns HTML, carries this preview marker, sends the preview X-Robots-Tag: noindex header, renders the static proof-flow figure, and hydrates the gate-inspector island.

Provider
Cloudflare Pages preview
Route
/essays/static-first-explorable-essays/
Probe
tests/static-first-preview.spec.ts

Rollback Proof

The first rollback proof records the Cloudflare Pages boundary and the credentialed mutation: rollback targets must be successful production deployments, and preview deployments are not valid rollback targets. The mutation runner used a redacted credential preflight, rolled production back to a named successful deployment, then restored production to the starting deployment after the live probes passed.

Provider
Cloudflare Pages production rollback
Route
/essays/static-first-explorable-essays/
Probe
tests/static-first-rollback.spec.ts
Runner
scripts/cloudflare_pages_rollback_mutation.py
Preflight
npm run deployment:rollback:check-config
Mutation status
Accepted credentialed proof. Future runs still require CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, and CLOUDFLARE_PAGES_PROJECT before mutating production.
Proof artifacts
artifacts/proofs/tut-026-cloudflare-*.json

Custom-Domain Deployment

The first custom-domain deployment boundary is an explicit veto. No custom-domain deployment guarantee is accepted for this static-first route until a domain name, DNS ownership, custom hostname binding, certificate behavior, Pages production-domain mapping, and focused live checks are source-registered and proven.

Decision
explicit_veto
Accepted
The published route keeps the accepted Cloudflare Pages production, preview, rollback, and credentialed rollback mutation proofs unchanged.
Not Claimed
No DNS record, zone ownership, custom hostname binding, certificate issuance, Pages production-domain mapping, apex or www redirect, HSTS policy, or SSL mode is claimed.
Next Proof
Source-register the target domain, DNS and hostname contract, certificate behavior, Pages binding, redirect policy, and focused live checks before claiming custom-domain deployment.

Math Rendering

The first math proof keeps TeX source in article-owned data and renders it with KaTeX during the static build. The route gets HTML and MathML before any figure island hydrates.

Equation 1. Static-First JavaScript Budget

Jinitial=Jshell+iHJiJ_{initial}=J_{shell}+\sum_{i\in H}J_i

A compact equation expresses the blueprint's static-first rule: the route should ship the shell first, then add only the hydrated islands in the set H.

Renderer
katex
Source
blueprint-001
Locator
BLUEPRINT.md sections 3, 5, and 18
Gate
Vitest renders this expression through KaTeX, and Playwright verifies KaTeX HTML and MathML on the route.
  • The TeX source lives in article-owned data.
  • KaTeX renders the expression to static HTML during the Astro build.
  • No client hydration directive is required for the rendered math.

MDX Math Parser

The parser proof leaves one source-backed expression in MDX instead of importing the static math component. Astro passes the syntax through remark-math and rehype-katex, then the static route receives KaTeX HTML and MathML.

Pstatic=Hmdx+KmathmlP_{static}=H_{mdx}+K_{mathml}

This boundary proves the shared MDX parser path only. It does not introduce a custom compiler, shared macro system, or cross-article math registry.

Math Macros

The first shared macro proof is limited to two KaTeX rendering-option macros in the Astro MDX pipeline. They shorten repeated platform terms while keeping author-defined macro state, custom compilers, and cross-article registries out of scope.

Cross-article macro registries are explicitly vetoed: No cross-article macro registry is accepted for this static-first route until a registry contract, macro ownership model, author override policy, collision strategy, and renderer test strategy are source-registered and proven.

Author-defined macro state is explicitly vetoed: No author-defined macro state is accepted for this static-first route until an author macro model, ownership boundary, override policy, collision strategy, renderer strategy, and focused tests are source-registered and proven.

Custom math compilers are explicitly vetoed: No custom math compiler is accepted for this static-first route until a compiler contract, MDX compatibility boundary, renderer strategy, authoring syntax, migration plan, and focused tests are source-registered and proven.

StaticRoute=Hmdx+iHHydratedIslandi\StaticRoute = H_{mdx} + \sum_{i \in H}\HydratedIsland_i
Macros
\StaticRoute, \HydratedIsland
Renderer
rehype-katex with KaTeX macros
Source
blueprint-001
Gate
Vitest and Playwright verify static KaTeX HTML, MathML, and the macro source annotation.
Registry Boundary
The published route keeps the existing shared KaTeX macro map frozen in Astro config for two blueprint-backed platform terms.
State Boundary
The Math Macros section renders one source-backed MDX expression without reading author-owned macro definitions, route state, browser storage, or external macro files.
Compiler Boundary
The published route keeps math rendering on the existing Astro MDX pipeline with remark-math, rehype-katex, and the frozen shared KaTeX macro map.
Not Claimed
No cross-article macro registry, global macro catalog, route-fed macro map, author-defined macro storage, macro import protocol, or macro collision resolution policy is introduced.
State Not Claimed
No author-defined macro storage, per-article override map, mutable macro registry, macro import block, macro collision policy, or browser-persisted macro state is introduced.
Compiler Not Claimed
No custom math compiler, custom markdown dialect, Mathigon-like compiler layer, MDX replacement parser, or compiler-owned authoring syntax is introduced.
Next Proof
Source-register an author macro model, ownership boundary, override and collision policy, renderer strategy, and focused tests before accepting author-defined macros.
Compiler Next Proof
Source-register a compiler contract, authoring syntax, MDX compatibility boundary, renderer strategy, migration plan, and focused tests before accepting a custom math compiler.

Code Blocks

The first code-block proof is article-owned data. It keeps technical examples inside the essay folder, attaches the source registry boundary, renders through Astro’s Shiki-backed code highlighter as static HTML, and passes the same source text into one shared copy control. Cross-article code registries are explicitly vetoed: No cross-article code registry is accepted for this static-first route until a registry contract, code ownership model, language and highlighter policy, copy-control boundary, and focused tests are source-registered and proven. Broad clipboard guarantees are explicitly vetoed: No broad clipboard guarantee is accepted for this static-first route until a clipboard contract, permission model, browser support matrix, fallback path, and focused tests are source-registered and proven. A general copy-control framework is explicitly vetoed: No general copy-control framework is accepted for this static-first route until repeated article needs, a copy ownership model, accessibility copy, support and fallback policy, delivery contract, and focused tests are source-registered and proven. A custom syntax-highlighting framework is explicitly vetoed: No custom syntax-highlighting framework is accepted for this static-first route until repeated article needs, a language and highlighter policy, theme ownership, renderer contract, accessibility checks, and focused tests are source-registered and proven.

Registry Boundary
The published route keeps code examples in this article's checked-in data artifact.
Not Claimed
No cross-article code registry, global code-snippet catalog, route-fed code map, code import protocol, or cross-route code dedupe layer is introduced.
Next Proof
Source-register a second article need, code ownership model, registry contract, language and highlighter policy, copy-control boundary, and focused tests before enabling a shared code registry.
Copy Boundary
The published route keeps the shared copy control limited to one user-click write from article-owned source text.
Clipboard Not Claimed
No background clipboard write, automatic copy, read access, browser-wide permission guarantee, cross-browser support guarantee, or clipboard history behavior is introduced.
Clipboard Next Proof
Source-register a browser clipboard contract, permission and user-activation model, support matrix, fallback behavior, accessibility copy, and focused tests before claiming a broad clipboard guarantee.
Framework Boundary
The published route keeps copy-control behavior in one shared Astro component that receives article-owned source text through props.
Framework Not Claimed
No general copy abstraction, copy provider, global copy registry, fallback command layer, support matrix, telemetry, delivery guarantee, or cross-article copy workflow is introduced.
Framework Next Proof
Source-register repeated article needs, a copy ownership model, accessibility copy, support and fallback policy, delivery contract, and focused tests before claiming a general copy-control framework.
Highlighter Boundary
The published route keeps syntax highlighting on the existing Astro Code component and Shiki output for one article-owned code block.
Highlighter Not Claimed
No custom highlighter runtime, custom markdown dialect, code transform framework, theme registry, language plugin registry, or framework-owned renderer contract is introduced.
Highlighter Next Proof
Source-register repeated article needs, a language and highlighter policy, theme ownership model, renderer contract, accessibility checks, and focused tests before claiming a custom syntax-highlighting framework.

Example 1. Article-Owned Code Block Contract

A compact TypeScript example shows how a code block can name its source registry entry, local data artifact, and proof gate before a shared copy control copies that exact source text.

Ready
export const articleCodeBlockProof = {
  sourceId: "blueprint-001",
  artifact: "./data/code-blocks.json",
  gate: "Vitest + Playwright + build"
} as const;
Language
ts
Source
blueprint-001
Locator
BLUEPRINT.md sections 2, 7, and 9
Gate
Vitest validates this code-block artifact, and Playwright verifies the rendered Shiki-highlighted pre/code block plus the reusable copy payload.
  • Code examples live in article-owned data instead of ad hoc inline prose.
  • The rendered block exposes its language, source registry ID, and local proof gate.
  • The shared copy control uses the same article-owned source text without creating a cross-article code registry.

Appendix

The first appendix proof is article-owned data. It keeps extended material inside the essay folder, names the same source registry boundary, and stays compact enough to render as static HTML.

Appendix A. Source-Backed Long-Form Contract

The platform can attach compact extended material to an article while keeping source registry IDs, local gates, and article ownership visible.

Source
blueprint-001
Locator
BLUEPRINT.md sections 2, 5, and 7
Gate
Vitest validates this appendix artifact, and Playwright verifies the rendered appendix section.
  • Appendix entries live in the article folder, not in a global prose system.
  • Each entry names its source registry ID and local proof gate.
  • The article renders appendix material as HTML before any optional figure hydration.

A general appendix framework is explicitly vetoed here. The route keeps this appendix inside article-owned data and rejects cross-article appendix registries, shared extended-material models, registry-owned ordering, backlink systems, remote appendix fetches, custom markdown dialects, and generalized footnote, glossary, and appendix bundles until their ownership, ordering, renderer, registry, and focused-test boundaries are source-registered and proven.

Glossary

The first glossary proof is article-owned data. It defines the platform terms that recur across prose, figures, and gates without adding a global terminology system.

Article-owned data artifact

A lightweight JSON, CSV, or asset file that lives inside one essay folder and feeds that essay's prose, figures, or verification gates.

Source blueprint-001, BLUEPRINT.md sections 5, 6, and 7. Gate: Vitest validates this glossary artifact, and Playwright verifies the rendered term list.

Island hydration

The pattern where the article ships as static HTML, then hydrates only the interactive React components that need browser state.

Source blueprint-001, BLUEPRINT.md sections 3 and 5. Gate: The static-first browser smoke keeps the rendered glossary and hydrated figure boundary on the same route.

Static-first essay

A long-form technical article that renders prose and source-backed structure as HTML before adding optional hydrated figures.

Source blueprint-001, BLUEPRINT.md sections 2 and 5. Gate: The scaffold validator keeps the article folder contract registered beside this glossary proof.

Cross-article glossary frameworks are explicitly vetoed here: No cross-article glossary framework is accepted for this static-first route until repeated article needs, term ownership, slug and reference rules, renderer behavior, registry boundaries, and focused tests are source-registered and proven. A general glossary framework is explicitly vetoed here: No general glossary framework is accepted for this static-first route until repeated article needs, term ownership, framework-owned definitions, slug and collision policy, backlink behavior, renderer contract, and focused tests are source-registered and proven.

Cross-Article Not Claimed

No cross-article glossary framework, global terminology registry, route-fed glossary map, shared term dedupe layer, registry-owned slug system, or remote glossary fetch is introduced.

General Boundary

The route uses the existing glossary schema for alphabetized terms, stable slugs, source locators, and proof gates without framework-owned definitions.

General Not Claimed

No general glossary framework, framework-owned definitions, automatic backlink system, global collision policy, custom glossary syntax, or remote glossary fetch is introduced.

General Next Proof

Source-register repeated article needs, a term ownership model, definition source, slug and collision policy, backlink behavior, renderer contract, and focused tests before claiming a general glossary framework.

Source Notes

The first citation proof is article-owned data. The note below resolves a rendered claim to the registered blueprint source and keeps the proof gate beside the article. A full citation manager and footnote list component are explicitly vetoed: No full citation manager or footnote list component is accepted for this static-first route until a citation data model, reference syntax, backlink contract, ownership boundary, and renderer strategy are source-registered and proven.

  1. Back to claim Static-first platform layers. The blueprint requires MDX essays, frontmatter, citations, article metadata, publication-shell footnotes, article-owned data, and verification gates for source-backed long-form articles.

    Source
    blueprint-001
    Locator
    BLUEPRINT.md sections 2, 5, and 6
    Gate
    Vitest validates this source-note artifact, and Playwright verifies the rendered reference and note.
System Boundary
explicit_veto
Accepted
The published route keeps the existing source-note data article-owned and renders one blueprint-backed reference through the shared SourceNoteReference component.
Not Claimed
No full citation manager, general bibliography parser, BibTeX or CSL import path, global citation data store, or cross-article citation registry is introduced.
Next Proof
Source-register a citation and footnote model, article versus shared ownership boundary, reference syntax, backlink behavior, parser or renderer strategy, and focused tests before enabling a full citation or footnote system.

Source Boundary

The source boundary now renders from article-owned data instead of prose-only markup. The shared component exposes the accepted platform claims and the unclaimed system boundaries without fetching remote sources or hydrating client state.

Limits

This article rewrites the accepted platform blueprint. It does not promote third-party downloads, copy inspected site prose, or claim that every future article needs the same figure technology. Canvas and WebGL remain article-level choices. The two data-backed figure wrappers now use a reusable figure proof primitive while their figure data stays article-owned. The deployment stack now includes an explicit custom-domain veto; it still does not claim Cloudflare build-setting enforcement, unauthenticated rollback mutation, or rollback safety beyond the tested Cloudflare Pages production route. The shared source-boundary summary, shared source-note reference, one explicit full citation and footnote-system veto, first static math renderer, MDX math parser path, narrow shared math macros, one explicit cross-article macro registry veto, one explicit author-defined macro state veto, one explicit custom math compiler veto, one Astro Code/Shiki-highlighted article block, one explicit custom syntax-highlighting framework veto, one reusable copy control fed by article-owned code, one explicit cross-article code registry veto, one explicit broad clipboard guarantee veto, one explicit general copy-control framework veto, one article-owned glossary, one explicit cross-article glossary framework veto, one explicit general glossary framework veto, one article-owned appendix, one explicit general appendix framework veto, one reusable scrollytelling primitive, one child-figure scrolly context, one explicit cross-article scrollytelling registry veto, one explicit general child-figure choreography framework veto, one local scroll analytics event, one in-memory analytics aggregate, one optional same-origin Beacon transport adapter, one local route analytics summary, one reusable article artifact index, one reusable article starter manifest, one reusable article starter workflow, one reusable starter-readiness rollup, one reusable starter-handoff packet, one reusable article evidence trail, one reusable article proof manifest, one reusable article verification matrix, one reusable release-readiness rollup, and one explicit custom-domain deployment veto are proven. A runtime source-boundary crawler, full citation or footnote system, custom-domain deployment guarantee, live analytics collector, persistent reader tracking, third-party analytics provider, cross-article analytics registry, cross-article scrollytelling registry, cross-article macro registry, cross-article code registry, broad clipboard guarantee, general copy-control framework, custom syntax-highlighting framework, cross-article glossary framework, general glossary framework, general appendix framework, author-defined macro state, custom math compiler, cross-article artifact registry, global starter registry, global starter readiness registry, global starter workflow registry, global starter handoff registry, starter package generator, runtime starter filesystem scan, global evidence registry, global proof registry, release dashboard, remote status fetch, automated proof inference, global verification registry, CI dashboard integration, remote build log fetch, live deployment status poller, CMS task store, remote artifact scan, remote template fetch, global release readiness registry, automated release decision, cross-article figure proof registry, and general child-figure choreography framework are explicitly vetoed for this route until source-registered citation data, reference syntax, backlink, renderer, runtime, identity, storage, provider, registry, ownership, code, clipboard, glossary, appendix, highlighter, macro, compiler, domain, DNS, certificate, hostname, figure metadata, artifact inventory, starter ownership, starter workflow ownership, starter readiness ownership, starter handoff ownership, evidence registry, proof registry, verification registry, release readiness, and privacy boundaries exist. Source-registered third-party provider integration remains a future proof.

The reusable article artifact index is proven only as static article-owned content, data, primitive, and verification file groups. It does not introduce a global artifact registry, CMS task store, remote filesystem scan, runtime source crawl, or personalized editor progress.

The reusable article starter manifest is proven only as static article-owned starter contract groups. It does not introduce a global starter registry, starter package generator, runtime filesystem scan, remote template fetch, CMS task store, or personalized editor progress.

The reusable article starter workflow is proven only as static article-owned workflow steps for copying the starter, replacing tokens, registering sources, wiring data, rendering primitives, and closing local gates. It does not introduce a global starter workflow registry, starter package generator, runtime filesystem scan, remote template fetch, CMS task store, or personalized editor progress.

The reusable starter-readiness rollup is proven only as static counts and local artifact routes derived from article-owned starter manifest and starter workflow data. It does not introduce a starter dashboard, generated starter package, runtime filesystem scan, remote template fetch, CMS task store, global starter readiness registry, or personalized editor progress.

The reusable starter-handoff packet is proven only as static counts and local routes derived from article-owned starter manifest, starter workflow, starter-readiness, and release-handoff data. It does not introduce a starter dashboard, generated starter package, runtime filesystem scan, remote template fetch, CMS task store, global starter handoff registry, or personalized editor progress.

The reusable article evidence trail is proven only as static article-owned evidence items that map source-backed claims to local artifacts and gates. It does not introduce a global evidence registry, remote log fetch, CI dashboard, CMS task store, automated claim inference, or personalized editor progress.

The reusable article claim ledger is proven only as static article-owned source-claim decisions. It does not introduce a global claim ledger, remote source crawl, automated claim inference, CMS review queue, client-hydrated claim review, or personalized editor progress.

The reusable article claim map is proven only as static article-owned claim-to-evidence routes. It does not introduce a global claim routing registry, automated claim routing, remote source crawl, CMS review queue, client-hydrated claim map, or personalized editor progress.

The reusable article proof manifest is proven only as static article-owned proof packets. It does not introduce a global proof registry, release dashboard, automated proof inference, remote status fetch, CMS review queue, or personalized editor progress.

The reusable article verification matrix is proven only as static article-owned verification groups, commands, targets, and evidence. It does not introduce a global verification registry, CI dashboard integration, remote build log fetch, live deployment status poller, or personalized editor progress.

The reusable article release handoff is proven only as static article-owned handoff packets. It does not introduce a release dashboard, remote deployment status fetch, CMS task store, automated publish orchestration, global handoff registry, or personalized editor progress.

The reusable release-readiness rollup is proven only as static counts and local artifact routes derived from article-owned checklist, proof-manifest, verification-matrix, and release-handoff data. It does not introduce a release dashboard, remote status fetch, automated release decision, CMS queue, global readiness registry, or personalized editor progress.

The reusable article checklist primitive is proven only as static article-owned publish-readiness data. It does not introduce a CMS task store, global authoring workflow engine, remote checklist fetch, or reader/editor progress state.

The reusable publication QA summary is proven only as a static summary over article-owned checklist and source-boundary data. It does not introduce a global QA registry, authoring workflow engine, CMS task store, remote checklist or source-boundary fetch, or personalized editor progress.

The reusable authoring flow primitive is proven only as static article-owned authoring checkpoints. It does not introduce a global workflow engine, CMS task store, remote workflow fetch, or personalized editor progress.

The reusable publication workflow primitive is proven only as static article-owned publication milestones. It does not introduce a global workflow engine, release dashboard, CMS task store, remote workflow fetch, or personalized editor progress.

Publish Readiness

This pass moves the article out of shell status for the tested platform boundary. The accepted stack covers source-registered prose, article-owned data, the reusable article artifact index, the article promotion-readiness gate, the reusable article starter manifest, the reusable article starter workflow, the reusable starter-readiness rollup, the reusable starter-handoff packet, the reusable article claim ledger, the reusable article claim map, the reusable article evidence trail, the reusable article proof manifest, the reusable article verification matrix, the reusable article release handoff, the reusable release-readiness rollup, the reusable publication workflow primitive, the reusable authoring flow primitive, the reusable article checklist primitive, the reusable publication QA summary, static and hydrated figures, the reusable figure proof primitive, the reusable scrollytelling primitive and its first child-figure context, one explicit cross-article scrollytelling registry veto, one explicit general child-figure choreography framework veto, generated data, local visual baselines, CI-safe browser proof, live and preview deployment probes, rollback mutation proof, one explicit custom-domain deployment veto, source notes, the shared source-note reference component, one explicit full citation and footnote-system veto, appendix material, one explicit general appendix framework veto, glossary terms, one explicit cross-article glossary framework veto, one explicit general glossary framework veto, static code blocks, Astro Code/Shiki syntax highlighting, one explicit custom syntax-highlighting framework veto, the reusable copy control, one explicit cross-article code registry veto, one explicit broad clipboard guarantee veto, one explicit general copy-control framework veto, static KaTeX math rendering, the MDX math parser path, narrow shared math macros, one explicit cross-article macro registry veto, one explicit author-defined macro state veto, one explicit custom math compiler veto, local scroll analytics, in-memory analytics aggregation, an optional same-origin Beacon transport adapter, one local route analytics summary, one explicit live collector veto, one explicit persistent reader tracking veto, one explicit third-party provider veto, and one explicit cross-article analytics registry veto.

Artifact Index

Static-First Artifact Index

The index names the local content, data, primitive, and verification files that must stay aligned before the route claims publication readiness.

  1. 1. Content shell Accepted

    Route prose, frontmatter, and article configuration stay in the article folder.

    • Artifact
      index.mdx
      Kind
      content
      Gate
      Content collection and browser smoke verify the rendered route.
    • Artifact
      essay.config.ts
      Kind
      configuration
      Gate
      Focused unit tests verify accepted proofs, rejected boundaries, and data artifact records.
  2. 2. Article data Accepted

    Checked-in JSON artifacts and route-visible TypeScript loaders carry source boundaries, checklists, workflow, claim ledgers, claim maps, proof manifests, evidence trails, verification matrices, release handoffs, and authoring state.

    • Artifact
      data/source-boundary.json
      Kind
      data
      Gate
      Zod loader and ArticleSourceBoundary browser coverage keep accepted and rejected claims local.
    • Artifact
      data/article-artifact-index.json
      Kind
      data
      Gate
      Zod loader verifies group order and item uniqueness before tests and build.
    • Artifact
      data/promotion-readiness.json
      Kind
      data
      Gate
      ArticlePromotionReadiness consumes checked-in focused command and promotion gate metadata.
    • Artifact
      data/article-sections.json
      Kind
      data
      Gate
      ArticleSectionNav uses the checked-in section data rendered by the route.
    • Artifact
      data/article-checklist.json
      Kind
      data
      Gate
      ArticleChecklist and release readiness use the checked-in publish-readiness checklist.
    • Artifact
      data/article-starter-manifest.json
      Kind
      data
      Gate
      Zod loader verifies starter contract group order, entry order, and unique IDs before tests and build.
    • Artifact
      data/article-starter-workflow.json
      Kind
      data
      Gate
      Zod loader verifies starter workflow step order and unique IDs before tests and build.
    • Artifact
      data/article-evidence-trail.json
      Kind
      data
      Gate
      Zod loader verifies evidence item order and item uniqueness before tests and build.
    • Artifact
      data/article-claim-ledger.json
      Kind
      data
      Gate
      Zod loader verifies claim order and claim uniqueness before tests and build.
    • Artifact
      data/article-claim-map.json
      Kind
      data
      Gate
      Zod loader verifies claim route order and route uniqueness before tests and build.
    • Artifact
      data/article-proof-manifest.json
      Kind
      data
      Gate
      Zod loader verifies proof order and proof uniqueness before tests and build.
    • Artifact
      data/article-verification-matrix.json
      Kind
      data
      Gate
      Zod loader verifies group order, check order, and check uniqueness before tests and build.
    • Artifact
      data/article-release-handoff.json
      Kind
      data
      Gate
      Zod loader verifies handoff group order and item uniqueness before tests and build.
    • Artifact
      data/publication-workflow.json
      Kind
      data
      Gate
      ArticlePublicationWorkflow renders the checked-in publication workflow record.
    • Artifact
      data/authoring-flow.json
      Kind
      data
      Gate
      ArticleAuthoringFlow renders the checked-in authoring flow record.
    • Artifact
      data/proof-ladder.json
      Kind
      data
      Gate
      The static proof ladder table and figures consume this checked-in ladder data.
    • Artifact
      data/figure-proofs.json
      Kind
      data
      Gate
      FigureProof wrappers consume this checked-in figure metadata.
    • Artifact
      data/proof-gate-summary.generated.json
      Kind
      data
      Gate
      The proof gate summary loader checks the generated data against the proof ladder.
    • Artifact
      data/scrollytelling-steps.json
      Kind
      data
      Gate
      The Scrolly figure consumes checked-in step data rendered by the route.
    • Artifact
      data/code-blocks.json
      Kind
      data
      Gate
      CodeExample surfaces consume checked-in code example records.
    • Artifact
      data/math-examples.json
      Kind
      data
      Gate
      MathExample surfaces consume checked-in math example records.
    • Artifact
      data/source-notes.json
      Kind
      data
      Gate
      SourceNotes and inline references consume checked-in source note records.
    • Artifact
      data/glossary.json
      Kind
      data
      Gate
      The glossary section consumes checked-in terminology records.
    • Artifact
      data/appendix.json
      Kind
      data
      Gate
      The appendix section consumes checked-in appendix records.
    • Artifact
      data/appendix.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in appendix data before rendering.
    • Artifact
      data/articleArtifactIndex.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in artifact index data before rendering.
    • Artifact
      data/promotionReadiness.ts
      Kind
      loader
      Gate
      Route import validates the checked-in promotion-readiness packet and exports the local readiness evaluation.
    • Artifact
      data/articleChecklist.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in article checklist data before rendering.
    • Artifact
      data/articleClaimLedger.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in claim ledger data before rendering.
    • Artifact
      data/articleClaimMap.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in claim map data before rendering.
    • Artifact
      data/articleEvidenceTrail.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in evidence trail data before rendering.
    • Artifact
      data/articleProofManifest.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in proof manifest data before rendering.
    • Artifact
      data/articleReleaseHandoff.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in release handoff data before rendering.
    • Artifact
      data/articleSections.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in article sections data before rendering.
    • Artifact
      data/articleStarterManifest.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in starter manifest data before rendering.
    • Artifact
      data/articleStarterWorkflow.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in starter workflow data before rendering.
    • Artifact
      data/articleVerificationMatrix.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in verification matrix data before rendering.
    • Artifact
      data/authoringFlow.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in authoring flow data before rendering.
    • Artifact
      data/codeBlocks.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in code blocks data before rendering.
    • Artifact
      data/figureProofs.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in figure proofs data before rendering.
    • Artifact
      data/glossary.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in glossary data before rendering.
    • Artifact
      data/mathExamples.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in math examples data before rendering.
    • Artifact
      data/proofGateSummary.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in proof gate summary data before rendering.
    • Artifact
      data/proofLadder.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in proof ladder data before rendering.
    • Artifact
      data/publicationWorkflow.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in publication workflow data before rendering.
    • Artifact
      data/scrollytellingSteps.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in scrollytelling steps data before rendering.
    • Artifact
      data/sourceBoundary.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in source boundary data before rendering.
    • Artifact
      data/sourceNotes.ts
      Kind
      loader
      Gate
      Route import validates and exports the checked-in source notes data before rendering.
  3. 3. Shared primitives Accepted

    Route-visible Astro and React primitives render article sections, source boundaries, figures, examples, source notes, analytics boundaries, and publication records without implicit component ownership; route-local figure support files are listed explicitly.

    • Artifact
      src/components/ArticleArtifactIndex.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, group order, and zero nested Astro islands.
    • Artifact
      src/components/FigureFrame.astro
      Kind
      component
      Gate
      The route imports shared figure chrome for static and hydrated figure surfaces.
    • Artifact
      src/components/FigureFrame.css
      Kind
      support
      Gate
      FigureFrame imports this shared chrome stylesheet directly.
    • Artifact
      src/components/FigureProof.astro
      Kind
      component
      Gate
      FigureProof renders source metadata and proof checks around article-owned figures.
    • Artifact
      src/components/FigureControls.tsx
      Kind
      support
      Gate
      FigureProof imports FigureMetadataList from the shared figure controls module.
    • Artifact
      src/components/FigureControls.module.css
      Kind
      support
      Gate
      FigureControls imports this CSS module for the metadata and figure text primitives.
    • Artifact
      src/components/ArticleSectionNav.astro
      Kind
      component
      Gate
      ArticleSectionNav renders the visible section list from article-owned section data.
    • Artifact
      src/components/ArticleSourceBoundary.astro
      Kind
      component
      Gate
      ArticleSourceBoundary renders accepted and rejected boundaries from article-owned data.
    • Artifact
      figures/ProofLadderFlow/ProofLadderFlow.tsx
      Kind
      figure
      Gate
      The route imports the static proof ladder figure from the article-local figures folder.
    • Artifact
      figures/ProofLadderFlow/ProofLadderFlow.module.css
      Kind
      support
      Gate
      ProofLadderFlow imports this CSS module directly.
    • Artifact
      figures/ProofLadderFlow/ProofLadderFlow.stories.tsx
      Kind
      support
      Gate
      Storybook renders the route-local proof ladder figure for authoring review.
    • Artifact
      figures/ProofLadderFlow/ProofLadderFlow.test.ts
      Kind
      support
      Gate
      Focused figure tests exercise the route-local proof ladder model and static markup.
    • Artifact
      figures/ProofLadderFlow/model.ts
      Kind
      support
      Gate
      ProofLadderFlow imports this local model builder directly.
    • Artifact
      figures/ProofGateInspector/ProofGateInspector.tsx
      Kind
      figure
      Gate
      The route imports the hydrated proof gate figure from the article-local figures folder.
    • Artifact
      figures/ProofGateInspector/ProofGateInspector.module.css
      Kind
      support
      Gate
      ProofGateInspector imports this CSS module directly.
    • Artifact
      figures/ProofGateInspector/ProofGateInspector.stories.tsx
      Kind
      support
      Gate
      Storybook renders the route-local proof gate inspector for authoring review.
    • Artifact
      figures/ProofGateInspector/ProofGateInspector.test.ts
      Kind
      support
      Gate
      Focused figure tests exercise the route-local proof gate model and hydrated markup.
    • Artifact
      figures/ProofGateInspector/model.ts
      Kind
      support
      Gate
      ProofGateInspector imports this local model builder directly.
    • Artifact
      src/components/ArticleEvidenceTrail.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, evidence items, and zero nested Astro islands.
    • Artifact
      src/components/ArticleClaimLedger.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, claim decisions, and zero nested Astro islands.
    • Artifact
      src/components/ArticleClaimMap.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, claim routes, and zero nested Astro islands.
    • Artifact
      src/components/ArticleProofManifest.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, proof packets, and zero nested Astro islands.
    • Artifact
      src/components/ArticleVerificationMatrix.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, local commands, and zero nested Astro islands.
    • Artifact
      src/components/ArticleReleaseHandoff.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, handoff packets, and zero nested Astro islands.
    • Artifact
      src/components/ArticleReleaseReadiness.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, readiness counts, local artifact routes, and zero nested Astro islands.
    • Artifact
      src/components/ArticlePromotionReadiness.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, readiness gates, focused commands, and zero nested Astro islands.
    • Artifact
      src/components/ArticleStarterManifest.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, starter contract entries, and zero nested Astro islands.
    • Artifact
      src/components/ArticleStarterWorkflow.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, starter workflow steps, and zero nested Astro islands.
    • Artifact
      src/components/ArticleStarterReadiness.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, starter readiness counts, local artifact routes, and zero nested Astro islands.
    • Artifact
      src/components/ArticleStarterHandoff.astro
      Kind
      component
      Gate
      Unit and browser checks verify the shared marker, starter input status counts, and zero nested Astro islands.
    • Artifact
      src/components/ArticlePublicationWorkflow.astro
      Kind
      component
      Gate
      ArticlePublicationWorkflow renders the visible publication workflow record.
    • Artifact
      src/components/ArticlePublicationQa.astro
      Kind
      component
      Gate
      ArticlePublicationQa renders the visible publication QA record.
    • Artifact
      src/components/ArticleAuthoringFlow.astro
      Kind
      component
      Gate
      ArticleAuthoringFlow renders the visible authoring flow record.
    • Artifact
      src/components/ArticleChecklist.astro
      Kind
      component
      Gate
      ArticleChecklist renders the visible checklist record.
    • Artifact
      src/components/CodeExample.astro
      Kind
      component
      Gate
      CodeExample renders checked-in article code-block records without a global code registry.
    • Artifact
      src/components/CodeCopyControl.astro
      Kind
      support
      Gate
      CodeExample imports the scoped copy button support component directly.
    • Artifact
      src/components/MathExample.astro
      Kind
      component
      Gate
      MathExample renders checked-in article math-expression records without a custom compiler.
    • Artifact
      src/components/StaticMath.tsx
      Kind
      support
      Gate
      MathExample imports the static KaTeX rendering helper directly.
    • Artifact
      src/components/SourceNotes.astro
      Kind
      component
      Gate
      SourceNotes renders checked-in article source-note records at the route boundary.
    • Artifact
      src/components/SourceNoteReference.tsx
      Kind
      component
      Gate
      SourceNoteReference renders inline source-note references from article-owned source-note data.
    • Artifact
      src/components/figures/shared/Scrolly/Scrolly.astro
      Kind
      component
      Gate
      Scrolly renders checked-in article scrollytelling steps through the shared island wrapper.
    • Artifact
      src/components/figures/shared/Scrolly/ScrollyIsland.tsx
      Kind
      support
      Gate
      Scrolly imports this client island wrapper directly.
    • Artifact
      src/components/figures/shared/Scrolly/model.ts
      Kind
      support
      Gate
      Scrolly and its island import this shared local step model.
    • Artifact
      src/components/figures/shared/Scrolly/ScrollyStepContextFigure.tsx
      Kind
      support
      Gate
      ScrollyIsland imports this local step context figure directly.
    • Artifact
      src/components/figures/shared/Scrolly/Scrolly.module.css
      Kind
      support
      Gate
      The Scrolly island and step context import this CSS module directly.
    • Artifact
      src/components/RouteAnalyticsBoundary/RouteAnalyticsBoundary.astro
      Kind
      component
      Gate
      RouteAnalyticsBoundary keeps local analytics summaries scoped to the published route.
    • Artifact
      src/components/RouteAnalyticsBoundary/RouteAnalyticsBoundaryIsland.tsx
      Kind
      support
      Gate
      RouteAnalyticsBoundary imports this scoped client island directly.
    • Artifact
      src/components/RouteAnalyticsBoundary/model.ts
      Kind
      support
      Gate
      The route analytics island imports this local aggregate model.
  4. 4. Verification handoff Accepted

    Focused checks and scaffold validation close the article artifact contract before handoff.

    • Artifact
      src/content/essays/staticFirstEssay.test.ts
      Kind
      test
      Gate
      Vitest verifies local data, static HTML markers, and no client-hydrated artifact index.
    • Artifact
      tests/home.spec.ts
      Kind
      test
      Gate
      Playwright verifies the published route and artifact-index browser markers.
    • Artifact
      scripts/validate_tutorial_scaffold.py
      Kind
      validator
      Gate
      Scaffold validation verifies queue, state, evidence, and required project artifacts before closeout.
Source
blueprint-001
Accepted
The static-first route has its first reusable article artifact-index primitive: article-owned artifact groups render through shared ArticleArtifactIndex.astro in the publish-readiness section without client hydration.
Not Claimed
No global artifact registry, cross-article artifact inventory, starter dashboard, global starter handoff registry, CMS task store, remote filesystem scan, runtime source crawl, client-hydrated artifact index, or personalized editor progress is introduced.

Starter Manifest

Static-First Starter Manifest

The manifest names the checked-in article files, data artifacts, starter templates, and verification gates that let a second essay start by copying the starter folder.

  1. 1. Content shell Accepted

    The route starts from local MDX, frontmatter, config, data, assets, and figure folders.

    • Article MDX Accepted
      Kind
      content
      Path
      index.mdx
      Gate
      Content collection and browser smoke verify the rendered route before publication.
    • Essay config Accepted
      Kind
      configuration
      Path
      essay.config.ts
      Gate
      Focused unit tests verify source, proof, data, and rejected-boundary records.
    • Assets folder Accepted
      Kind
      folder
      Path
      assets/
      Gate
      The folder exists in the article and starter contract before promoted media is added.
    • Figures folder Accepted
      Kind
      folder
      Path
      figures/
      Gate
      The folder exists in the article and starter contract before local figures are added.
  2. 2. Article data Accepted

    Typed JSON artifacts keep source, proof, release, and starter contracts article-owned.

    • Source boundary Accepted
      Kind
      data
      Path
      data/source-boundary.json
      Gate
      Zod loader and browser coverage verify accepted and rejected claims.
    • Starter manifest Accepted
      Kind
      data
      Path
      data/article-starter-manifest.json
      Gate
      Zod loader verifies group order, entry order, and unique entry IDs.
    • Starter workflow Accepted
      Kind
      data
      Path
      data/article-starter-workflow.json
      Gate
      Zod loader verifies step order and unique starter workflow IDs.
    • Artifact index Accepted
      Kind
      data
      Path
      data/article-artifact-index.json
      Gate
      The artifact index records the starter manifest as a local authoring scaffold.
    • Proof manifest Accepted
      Kind
      data
      Path
      data/article-proof-manifest.json
      Gate
      The proof manifest records the starter manifest proof before release handoff.
    • Verification matrix Accepted
      Kind
      data
      Path
      data/article-verification-matrix.json
      Gate
      The verification matrix records focused tests for the starter manifest.
    • Release handoff Accepted
      Kind
      data
      Path
      data/article-release-handoff.json
      Gate
      The release handoff records the starter manifest packet before closeout.
  3. 3. Starter templates Accepted

    The reusable starter mirrors the rendered primitive and its typed data contract.

    • Starter README Accepted
      Kind
      documentation
      Path
      src/content/essay-starters/static-first/README.md
      Gate
      Starter tests verify the required folder contract and local ownership guidance.
    • MDX template Accepted
      Kind
      template
      Path
      src/content/essay-starters/static-first/index.mdx.template
      Gate
      Starter tests verify the ArticleStarterManifest import and placement.
    • Config template Accepted
      Kind
      template
      Path
      src/content/essay-starters/static-first/essay.config.ts.template
      Gate
      Starter tests verify the starterManifestProofs entry.
    • Starter manifest data template Accepted
      Kind
      template
      Path
      src/content/essay-starters/static-first/data/article-starter-manifest.json.template
      Gate
      Starter tests verify draft ordering and local data paths.
    • Starter manifest schema template Accepted
      Kind
      template
      Path
      src/content/essay-starters/static-first/data/articleStarterManifest.ts.template
      Gate
      Starter tests verify the Zod loader parses the starter manifest template.
    • Starter workflow data template Accepted
      Kind
      template
      Path
      src/content/essay-starters/static-first/data/article-starter-workflow.json.template
      Gate
      Starter tests verify draft workflow order and local gate placeholders.
    • Starter workflow schema template Accepted
      Kind
      template
      Path
      src/content/essay-starters/static-first/data/articleStarterWorkflow.ts.template
      Gate
      Starter tests verify the Zod loader parses the starter workflow template.
    • Starter readiness component placement Accepted
      Kind
      template
      Path
      src/content/essay-starters/static-first/index.mdx.template
      Gate
      Starter tests verify ArticleStarterReadiness import, props, and placement.
    • Starter handoff component placement Accepted
      Kind
      template
      Path
      src/content/essay-starters/static-first/index.mdx.template
      Gate
      Starter tests verify ArticleStarterHandoff import, props, and placement.
  4. 4. Verification handoff Accepted

    Focused unit, browser, and scaffold gates keep the starter manifest visible and static.

    • Article unit test Accepted
      Kind
      test
      Path
      src/content/essays/staticFirstEssay.test.ts
      Gate
      Vitest verifies the data artifact, schema, MDX usage, and config records.
    • Starter unit test Accepted
      Kind
      test
      Path
      src/content/essay-starters/articleStarter.test.ts
      Gate
      Vitest verifies the starter template includes the manifest data and renderer.
    • Browser smoke Accepted
      Kind
      test
      Path
      tests/home.spec.ts
      Gate
      Playwright verifies the shared marker, entries, and no nested Astro island.
    • Scaffold validator Accepted
      Kind
      validator
      Path
      scripts/validate_tutorial_scaffold.py
      Gate
      Scaffold validation verifies queue, state, evidence, and required project artifacts.
Source
blueprint-001
Accepted
The static-first route has its first reusable article starter-manifest primitive: article-owned starter contract groups render through shared ArticleStarterManifest.astro in the publish-readiness section without client hydration.
Not Claimed
No global starter registry, starter readiness registry, starter handoff registry, starter package generator, runtime filesystem scan, CMS task store, remote template fetch, client-hydrated starter state, or personalized editor progress is introduced.

Starter Workflow

Static-First Starter Workflow

The workflow turns the copied starter folder into a source-registered article by sequencing token replacement, source registration, article data wiring, route rendering, and local verification.

  1. 1. Copy starter Accepted

    Copy the starter folder into the essay collection and keep content, data, assets, and figures together.

    Artifact
    src/content/essay-starters/static-first/
    Gate
    Starter unit coverage verifies the source folder contract before a new article copies it.
  2. 2. Replace placeholders Accepted

    Replace frontmatter, prose, and config tokens before the route claims draft or published status.

    Artifact
    index.mdx and essay.config.ts
    Gate
    Focused article tests reject unresolved placeholder tokens and verify the rendered route copy.
  3. 3. Register source Accepted

    Tie accepted claims to source registry IDs and keep rejected platform boundaries in article-owned data.

    Artifact
    source_registry.yaml and data/source-boundary.json
    Gate
    Source-boundary parsing and scaffold validation keep the article tied to registered local sources.
  4. 4. Wire article data Accepted

    Populate local JSON artifacts and matching loaders before shared primitives render the publication record.

    Artifact
    data/*.json and data/*.ts
    Gate
    npm run test -- staticFirstEssay articleStarter verifies data order, IDs, and starter template alignment.
  5. 5. Render static primitives Accepted

    Render source, proof, starter, release, and workflow primitives as static HTML in the article route.

    Artifact
    ArticleStarterWorkflow.astro, ArticleStarterReadiness.astro, ArticleStarterHandoff.astro, and index.mdx#publish-readiness
    Gate
    Focused browser smoke verifies shared markers and zero nested Astro islands inside the starter workflow, starter-readiness rollup, and starter-handoff packet.
  6. 6. Close local gates Accepted

    Run focused unit, type, build, browser, Storybook, diff, scaffold, commit, and push gates before handoff.

    Artifact
    tests/home.spec.ts, run_log.md, state.md, todo.md, evidence_ledger.yaml
    Gate
    Scaffold validation and run-log closeout record the accepted artifact and next unchecked product todo.
Source
blueprint-001
Accepted
The static-first route has its first reusable article starter-workflow primitive: article-owned starter workflow steps render through shared ArticleStarterWorkflow.astro in the publish-readiness section without client hydration.
Not Claimed
No global starter workflow registry, global starter readiness registry, global starter handoff registry, starter package generator, runtime filesystem scan, remote template fetch, CMS task store, client-hydrated starter workflow or handoff state, or personalized editor progress is introduced.

Claim Ledger

Static-First Claim Ledger

The ledger records which source-backed platform claims are accepted for this article, where each claim renders, and which local gate keeps it honest.

  1. 1. Source registration Accepted

    BLUEPRINT.md is the accepted architecture source for this static-first platform proof.

    Source
    blueprint-001, BLUEPRINT.md sections 1, 2, and 5
    Artifact
    source_registry.yaml
    Decision
    Accept blueprint-001 as the local source for platform layer, article folder, and verification claims.
    Gate
    The source-boundary data and scaffold validator keep the article tied to the registered source.
  2. 2. Article data ownership Accepted

    Article-owned JSON data carries source claims, proof artifacts, verification gates, and release handoff records before publication.

    Source
    blueprint-001, BLUEPRINT.md sections 7, 8, and 14
    Artifact
    data/article-claim-ledger.json
    Decision
    Accept a checked-in claim ledger as article data, not as a global claim database.
    Gate
    Zod parsing verifies claim order and unique IDs before tests and build.
  3. 3. Evidence route Accepted

    Accepted claims must stay connected to local artifacts and verification gates in the rendered publish-readiness path.

    Source
    blueprint-001, BLUEPRINT.md sections 5 and 16
    Artifact
    data/article-evidence-trail.json
    Decision
    Accept static claim decisions beside the existing evidence trail so readers and authors see source, artifact, and gate together.
    Gate
    ArticleClaimLedger and ArticleEvidenceTrail browser coverage verify static markers without runtime fetches.
  4. 4. Release decision Accepted

    Release handoff should carry claim, evidence, verification, and next-work packets as local files before the automation releases the lock.

    Source
    blueprint-001, BLUEPRINT.md sections 18 and 19
    Artifact
    data/article-release-handoff.json
    Decision
    Accept the claim ledger as part of the validation packet for release closeout.
    Gate
    Focused browser smoke verifies the claim ledger, release handoff, and zero nested Astro islands.
  5. 5. Claim map route Accepted

    Accepted claim decisions should route to their evidence, verification, handoff, and local artifact records before release closeout.

    Source
    blueprint-001, BLUEPRINT.md sections 5, 14, and 16
    Artifact
    data/article-claim-map.json
    Decision
    Accept a checked-in claim map as article-owned routing data between the claim ledger, evidence trail, verification matrix, and release handoff.
    Gate
    Focused unit coverage verifies every claim-map route points at an existing claim, evidence item, verification group, and handoff item.
  6. 6. Proof manifest route Accepted

    Accepted proof packets should name their owner, local artifact, gate, evidence note, and release status before closeout.

    Source
    blueprint-001, BLUEPRINT.md sections 5, 14, and 19
    Artifact
    data/article-proof-manifest.json
    Decision
    Accept a checked-in proof manifest as article-owned release data, not as a global proof registry or dashboard.
    Gate
    Focused unit and browser coverage verify proof IDs, owners, artifacts, gates, evidence notes, and release statuses.
Source
blueprint-001
Accepted
The static-first route has its first reusable article claim-ledger primitive: article-owned source-claim decisions render through shared ArticleClaimLedger.astro in the publish-readiness section without client hydration.
Not Claimed
No global claim ledger, remote source crawl, automated claim inference, CMS review queue, client-hydrated claim review, or personalized editor progress is introduced.

Claim Map

Static-First Claim Map

The map connects each accepted claim-ledger decision to the evidence item, verification group, release handoff item, and local artifact that keeps the claim reviewable.

  1. 1. Source registration Accepted
    Claim
    source-registration
    Evidence
    platform-layers, Platform layers
    Verification
    source-data-gates, Source and data gates
    Handoff
    source-boundary-record, Source boundary record
    Artifact
    source_registry.yaml
    Gate
    Scaffold validation keeps the registered blueprint source tied to article data before closeout.
  2. 2. Article data ownership Accepted
    Claim
    article-data-ownership
    Evidence
    article-folder-contract, Article folder contract
    Verification
    source-data-gates, Source and data gates
    Handoff
    claim-ledger, Claim ledger
    Artifact
    data/article-artifact-index.json
    Gate
    Zod loaders verify article-owned data order and IDs before the route renders.
  3. 3. Evidence route Accepted
    Claim
    evidence-route
    Evidence
    claim-ledger, Claim ledger
    Verification
    browser-visual-gates, Browser and visual gates
    Handoff
    evidence-trail, Evidence trail
    Artifact
    data/article-evidence-trail.json
    Gate
    Focused browser coverage verifies the claim ledger and evidence trail as static publish-readiness records.
  4. 4. Release decision Accepted
    Claim
    release-decision
    Evidence
    release-handoff, Release handoff
    Verification
    closeout-gates, Closeout gates
    Handoff
    queue-state, Queue state
    Artifact
    data/article-release-handoff.json
    Gate
    Run log, evidence ledger, state, todo, scaffold validation, commit, and push close the route handoff.
  5. 5. Claim map route Accepted
    Claim
    claim-map-route
    Evidence
    claim-map, Claim map
    Verification
    source-data-gates, Source and data gates
    Handoff
    claim-map, Claim map
    Artifact
    data/article-claim-map.json
    Gate
    Focused unit coverage verifies every claim-map route points at an existing claim, evidence item, verification group, and handoff item.
  6. 6. Proof manifest route Accepted
    Claim
    proof-manifest-route
    Evidence
    proof-manifest, Proof manifest
    Verification
    source-data-gates, Source and data gates
    Handoff
    proof-manifest, Proof manifest
    Artifact
    data/article-proof-manifest.json
    Gate
    Focused unit coverage verifies proof-manifest routes point at an accepted claim, evidence item, verification group, and handoff item.
Source
blueprint-001
Accepted
The static-first route has its first reusable article claim-map primitive: article-owned claim-to-evidence routes render through shared ArticleClaimMap.astro in the publish-readiness section without client hydration.
Not Claimed
No global claim routing registry, automated claim routing, remote source crawl, CMS review queue, client-hydrated claim map, or personalized editor progress is introduced.

Evidence Trail

Static-First Evidence Trail

The trail maps selected blueprint-backed claims to local article artifacts and verification gates before release handoff.

  1. 1. Platform layers Accepted

    Static-first essays separate MDX content, publication shell, hydrated islands, data artifacts, and verification.

    Source
    blueprint-001, BLUEPRINT.md sections 2 and 5
    Artifact
    index.mdx
    Gate
    Focused unit and browser checks verify the layer prose, article navigation, and rendered layer figure.
  2. 2. Article folder contract Accepted

    Each essay keeps prose, configuration, data, assets, and figure code in one article-owned folder contract.

    Source
    blueprint-001, BLUEPRINT.md sections 8 and 14
    Artifact
    data/article-artifact-index.json
    Gate
    The artifact index loader and focused browser smoke verify local content, data, primitive, and verification files.
  3. 3. Verification stack Accepted

    The article verifies source data, static build behavior, browser rendering, Storybook output, diff hygiene, and scaffold state before closeout.

    Source
    blueprint-001, BLUEPRINT.md sections 3, 5, and 16
    Artifact
    data/article-verification-matrix.json
    Gate
    The verification matrix renders the local commands, targets, and evidence without fetching CI dashboards or remote logs.
  4. 4. Claim ledger Accepted

    Source-backed claims are recorded as article-owned decisions before they feed the evidence and release workflow.

    Source
    blueprint-001, BLUEPRINT.md sections 1, 5, 7, and 14
    Artifact
    data/article-claim-ledger.json
    Gate
    The claim ledger renders source-claim decisions, local artifacts, and gates without automated inference or remote source crawls.
  5. 5. Claim map Accepted

    Each accepted claim-ledger decision routes to evidence, verification, handoff, and local artifact records as checked-in article data.

    Source
    blueprint-001, BLUEPRINT.md sections 5, 14, and 16
    Artifact
    data/article-claim-map.json
    Gate
    The claim map loader and focused unit coverage verify claim, evidence, verification, and handoff references.
  6. 6. Release handoff Accepted

    Release handoff stays article-owned: local artifacts, validation gates, ledgers, and next work move together before the automation releases the lock.

    Source
    blueprint-001, BLUEPRINT.md sections 18 and 19
    Artifact
    data/article-release-handoff.json
    Gate
    The release handoff component and browser smoke verify static handoff packets without dashboards or publish orchestration.
  7. 7. Proof manifest Accepted

    Each accepted proof packet keeps owner, artifact, gate, evidence, and release status visible before release handoff.

    Source
    blueprint-001, BLUEPRINT.md sections 5, 14, and 19
    Artifact
    data/article-proof-manifest.json
    Gate
    The proof manifest component and browser smoke verify static proof packets without dashboards, remote status fetches, or global proof registries.
Source
blueprint-001
Accepted
The static-first route has its first reusable article evidence-trail primitive: article-owned evidence items render through shared ArticleEvidenceTrail.astro in the publish-readiness section without client hydration.
Not Claimed
No global evidence registry, remote log fetch, CI dashboard, CMS task store, automated claim inference, client-hydrated evidence trail, or personalized editor progress is introduced.

Proof Manifest

Static-First Proof Manifest

The manifest names the proof packets, owners, artifacts, gates, evidence notes, and release status that must stay reviewable before the article handoff closes.

  1. 1. Source boundary proof Accepted
    Proof ID
    source-boundary-proof
    Owner
    Article folder
    Artifact
    data/source-boundary.json
    Gate
    Zod parsing and browser coverage verify accepted and rejected claims from checked-in data.
    Evidence
    ArticleSourceBoundary.astro renders the source-boundary record without runtime source crawls.
  2. 2. Artifact index proof Accepted
    Proof ID
    artifact-index-proof
    Owner
    Authoring scaffold
    Artifact
    data/article-artifact-index.json
    Gate
    The artifact-index loader verifies grouped content, data, primitive, and verification files.
    Evidence
    ArticleArtifactIndex.astro renders local artifact groups without a global artifact registry.
  3. 3. Claim ledger proof Accepted
    Proof ID
    claim-ledger-proof
    Owner
    Claim workflow
    Artifact
    data/article-claim-ledger.json
    Gate
    The claim-ledger loader verifies claim order and unique IDs before tests and build.
    Evidence
    ArticleClaimLedger.astro renders source-claim decisions without automated inference.
  4. 4. Claim map proof Accepted
    Proof ID
    claim-map-proof
    Owner
    Claim workflow
    Artifact
    data/article-claim-map.json
    Gate
    Focused unit coverage verifies every claim route points at existing evidence, verification, and handoff IDs.
    Evidence
    ArticleClaimMap.astro renders claim-to-evidence routes without automated routing.
  5. 5. Evidence trail proof Accepted
    Proof ID
    evidence-trail-proof
    Owner
    Evidence workflow
    Artifact
    data/article-evidence-trail.json
    Gate
    The evidence-trail loader verifies evidence item order and unique IDs before browser proof.
    Evidence
    ArticleEvidenceTrail.astro renders source-backed claims without remote log fetches.
  6. 6. Verification matrix proof Accepted
    Proof ID
    verification-matrix-proof
    Owner
    Verification workflow
    Artifact
    data/article-verification-matrix.json
    Gate
    The verification-matrix loader verifies check order, commands, targets, and evidence before closeout.
    Evidence
    ArticleVerificationMatrix.astro renders local gates without CI dashboard integration.
  7. 7. Release handoff proof Accepted
    Proof ID
    release-handoff-proof
    Owner
    Release workflow
    Artifact
    data/article-release-handoff.json
    Gate
    The release-handoff loader verifies packet order and item uniqueness before run-log closeout.
    Evidence
    ArticleReleaseHandoff.astro renders handoff packets without a release dashboard.
  8. 8. Proof manifest proof Accepted
    Proof ID
    proof-manifest-proof
    Owner
    Release workflow
    Artifact
    data/article-proof-manifest.json
    Gate
    The proof-manifest loader verifies proof order and unique proof IDs before route rendering.
    Evidence
    ArticleProofManifest.astro renders article-owned proof packets without a global proof registry.
  9. 9. Release readiness proof Accepted
    Proof ID
    release-readiness-proof
    Owner
    Release workflow
    Artifact
    src/components/ArticleReleaseReadiness.astro
    Gate
    Focused unit and browser checks verify readiness counts, local artifact routes, and zero nested Astro islands.
    Evidence
    ArticleReleaseReadiness.astro renders a static rollup from article-owned checklist, proof, verification, and handoff records.
  10. 10. Starter manifest proof Accepted
    Proof ID
    starter-manifest-proof
    Owner
    Authoring scaffold
    Artifact
    data/article-starter-manifest.json
    Gate
    Focused unit and browser checks verify starter contract groups, entries, and zero nested Astro islands.
    Evidence
    ArticleStarterManifest.astro renders local starter contract groups without a global starter registry or generator.
  11. 11. Starter workflow proof Accepted
    Proof ID
    starter-workflow-proof
    Owner
    Authoring scaffold
    Artifact
    data/article-starter-workflow.json
    Gate
    Focused unit and browser checks verify starter workflow steps, local gates, and zero nested Astro islands.
    Evidence
    ArticleStarterWorkflow.astro renders local starter workflow steps without a global starter workflow registry or generator.
  12. 12. Starter readiness proof Accepted
    Proof ID
    starter-readiness-proof
    Owner
    Authoring scaffold
    Artifact
    src/components/ArticleStarterReadiness.astro
    Gate
    Focused unit and browser checks verify starter readiness counts, local artifact routes, and zero nested Astro islands.
    Evidence
    ArticleStarterReadiness.astro renders a static rollup from article-owned starter manifest and starter workflow records.
  13. 13. Starter handoff proof Accepted
    Proof ID
    starter-handoff-proof
    Owner
    Authoring scaffold
    Artifact
    src/components/ArticleStarterHandoff.astro
    Gate
    Focused unit and browser checks verify starter handoff input counts, release-handoff linkage, and zero nested Astro islands.
    Evidence
    ArticleStarterHandoff.astro renders a static handoff packet from article-owned starter and release records.
Source
blueprint-001
Accepted
The static-first route has its first reusable article proof-manifest primitive: article-owned proof packets render through shared ArticleProofManifest.astro in the publish-readiness section without client hydration.
Not Claimed
No global proof registry, global starter handoff registry, release dashboard, automated proof inference, remote status fetch, CMS review queue, client-hydrated proof manifest, or personalized editor progress is introduced.

Verification Matrix

Static-First Verification Matrix

The matrix records the local commands, targets, and evidence that must pass before this article claims its publish-readiness proof.

  1. 1. Source and data gates Accepted

    Article-owned data, source boundaries, and config records must parse before route rendering is trusted.

    • Static-first unit Accepted
      Command
      npm run test -- staticFirstEssay
      Target
      src/content/essays/staticFirstEssay.test.ts
      Evidence
      Vitest imports the article data loaders and verifies source boundaries, config records, and static component placement.
    • Starter unit Accepted
      Command
      npm run test -- articleStarter
      Target
      src/content/essay-starters/articleStarter.test.ts
      Evidence
      The starter test keeps template data, source-boundary placeholders, and reusable primitive placement aligned.
    • Starter manifest contract Accepted
      Command
      npm run test -- staticFirstEssay articleStarter
      Target
      data/article-starter-manifest.json and src/content/essay-starters/static-first/
      Evidence
      Vitest verifies the starter manifest data, schema, starter templates, and shared component placement.
    • Starter workflow contract Accepted
      Command
      npm run test -- staticFirstEssay articleStarter
      Target
      data/article-starter-workflow.json and src/components/ArticleStarterWorkflow.astro
      Evidence
      Vitest verifies the starter workflow data, schema, starter templates, and shared component placement.
  2. 2. Static build gates Accepted

    Type and build checks prove the article remains static-first and content-collection compatible.

    • Typecheck Accepted
      Command
      npm run typecheck
      Target
      Astro content collection and TypeScript project
      Evidence
      Astro and TypeScript verify MDX imports, Zod-backed data loaders, and component prop contracts.
    • Production build Accepted
      Command
      npm run build
      Target
      static Astro build
      Evidence
      The production build proves the route renders without runtime source fetches or client state for the verification matrix.
  3. 3. Browser and visual gates Accepted

    Browser and Storybook checks prove the visible route and component library still render after authoring changes.

    • Focused browser smoke Accepted
      Command
      npm run test:browser -- -g "static-first essay shell"
      Target
      tests/home.spec.ts
      Evidence
      Playwright verifies the published route, shared component markers, mobile-safe layout, and absence of nested Astro islands.
    • Release readiness rollup Accepted
      Command
      npm run test:browser -- -g "static-first essay shell"
      Target
      tests/home.spec.ts
      Evidence
      Playwright verifies the release-readiness marker, status counts, local artifact routes, and absence of nested Astro islands.
    • Starter readiness rollup Accepted
      Command
      npm run test:browser -- -g "static-first essay shell"
      Target
      tests/home.spec.ts
      Evidence
      Playwright verifies the starter-readiness marker, manifest/workflow counts, local artifact routes, and absence of nested Astro islands.
    • Starter handoff packet Accepted
      Command
      npm run test:browser -- -g "static-first essay shell"
      Target
      tests/home.spec.ts
      Evidence
      Playwright verifies the starter-handoff marker, starter input counts, release-handoff route, and absence of nested Astro islands.
    • Storybook build Accepted
      Command
      npm run build-storybook
      Target
      Storybook static build
      Evidence
      Storybook keeps shared figure and component stories buildable for visual inspection.
  4. 4. Closeout gates Accepted

    Repository and scaffold checks close the automation handoff without promoting generated or ignored artifacts.

    • Diff check Accepted
      Command
      git diff --check
      Target
      tracked working tree diff
      Evidence
      Git verifies whitespace and patch formatting before commit.
    • Scaffold validator Accepted
      Command
      python3 scripts/validate_tutorial_scaffold.py
      Target
      tutorial scaffold ledgers
      Evidence
      The validator checks queue, state, run log, evidence ledger, and required project artifacts before closeout.
Source
blueprint-001
Accepted
The static-first route has its first reusable article verification-matrix primitive: article-owned verification groups render through shared ArticleVerificationMatrix.astro in the publish-readiness section without client hydration.
Not Claimed
No global verification registry, global starter handoff registry, CI dashboard integration, remote build log fetch, live deployment status poller, client-hydrated verification matrix, or personalized editor progress is introduced.

Release Handoff

Static-First Release Handoff

The handoff records the local article, validation, ledger, and next-work packets that must move together after publish-readiness gates pass.

  1. 1. Article packet Accepted

    The published route and source boundary are the reader-facing payload for the handoff.

    • Published route Accepted
      Artifact
      index.mdx
      Gate
      Content collection and browser checks verify the rendered route.
      Evidence
      The route renders source-registered prose, static primitives, and explicitly scoped hydrated islands.
    • Source boundary record Accepted
      Artifact
      data/source-boundary.json
      Gate
      Zod parsing and source-boundary browser coverage verify accepted and rejected claims.
      Evidence
      The source boundary stays article-owned and names blueprint-001 as the accepted platform source.
  2. 2. Validation packet Accepted

    The claim ledger, claim map, proof manifest, evidence trail, verification matrix, and focused tests remain the release proof packet.

    • Claim ledger Accepted
      Artifact
      data/article-claim-ledger.json
      Gate
      The ledger records source-claim decisions, artifacts, and verification gates.
      Evidence
      ArticleClaimLedger.astro renders the local claim decisions without runtime fetches, remote source crawls, or automated inference.
    • Claim map Accepted
      Artifact
      data/article-claim-map.json
      Gate
      The map routes claim decisions to evidence, verification, handoff, and local artifact records.
      Evidence
      ArticleClaimMap.astro renders the local claim routes without runtime fetches, global routing registries, or automated inference.
    • Proof manifest Accepted
      Artifact
      data/article-proof-manifest.json
      Gate
      The manifest records proof owners, artifacts, gates, evidence notes, and release status.
      Evidence
      ArticleProofManifest.astro renders the local proof packets without runtime fetches, release dashboards, global proof registries, or automated inference.
    • Evidence trail Accepted
      Artifact
      data/article-evidence-trail.json
      Gate
      The trail maps source-backed claims to local artifacts and verification gates.
      Evidence
      ArticleEvidenceTrail.astro renders the local claim, source, artifact, and gate map without runtime fetches.
    • Verification matrix Accepted
      Artifact
      data/article-verification-matrix.json
      Gate
      The matrix lists unit, typecheck, build, browser, Storybook, diff, and scaffold gates.
      Evidence
      ArticleVerificationMatrix.astro renders the local commands, targets, and evidence without runtime fetches.
    • Release readiness Accepted
      Artifact
      src/components/ArticleReleaseReadiness.astro
      Gate
      The rollup summarizes checklist, proof manifest, verification matrix, and release handoff status counts.
      Evidence
      ArticleReleaseReadiness.astro renders local readiness routes without dashboards, remote status fetches, or automated release decisions.
    • Starter manifest Accepted
      Artifact
      data/article-starter-manifest.json
      Gate
      The manifest records required starter entries, templates, and verification handoff gates.
      Evidence
      ArticleStarterManifest.astro renders the starter contract without a global starter registry, generator, or runtime scan.
    • Starter workflow Accepted
      Artifact
      data/article-starter-workflow.json
      Gate
      The workflow records copy, placeholder replacement, source registration, data wiring, rendering, and closeout gates.
      Evidence
      ArticleStarterWorkflow.astro renders the starter workflow without a global starter workflow registry, generator, or runtime scan.
    • Starter readiness Accepted
      Artifact
      src/components/ArticleStarterReadiness.astro
      Gate
      The rollup summarizes starter manifest and starter workflow status counts before the starter handoff closes.
      Evidence
      ArticleStarterReadiness.astro renders local starter readiness routes without dashboards, remote scans, or generated starter packages.
    • Starter handoff Accepted
      Artifact
      src/components/ArticleStarterHandoff.astro
      Gate
      The packet summarizes starter manifest, workflow, readiness, and release handoff status counts before the next article copies the starter.
      Evidence
      ArticleStarterHandoff.astro renders local starter handoff routes without dashboards, remote scans, generated starter packages, or global handoff registries.
    • Focused browser proof Accepted
      Artifact
      tests/home.spec.ts
      Gate
      Playwright verifies publish-readiness markers, mobile-safe layout, and zero nested Astro islands.
      Evidence
      The focused browser smoke is the route-level visible proof before release closeout.
  3. 3. Closeout packet Accepted

    Ledgers, commit, and push status close the automation handoff.

    • Run log ledger Accepted
      Artifact
      run_log.md
      Gate
      The run log records permission proof, files changed, validation, conflict resolution, and push status.
      Evidence
      Closeout remains deterministic and append-only before the lock is released.
    • Evidence ledger Accepted
      Artifact
      evidence_ledger.yaml
      Gate
      The evidence ledger records the accepted artifact and source boundary.
      Evidence
      The handoff keeps source evidence outside the runtime component and away from research_downloads assets.
  4. 4. Next work packet Accepted

    State and starter templates route the next authoring sprint without relying on a dashboard.

    • Queue state Accepted
      Artifact
      state.md and todo.md
      Gate
      The active todo and best-next pointers must name unchecked mission work.
      Evidence
      Queue ownership stays in tracked project files rather than a generated dashboard or remote task store.
    • Starter template Accepted
      Artifact
      src/content/essay-starters/static-first/
      Gate
      Starter unit coverage verifies the handoff data template and component placement.
      Evidence
      New articles can copy the release-handoff contract as local data before publication.
Source
blueprint-001
Accepted
The static-first route has its first reusable article release-handoff primitive: article-owned handoff groups render through shared ArticleReleaseHandoff.astro in the publish-readiness section without client hydration.
Not Claimed
No global release handoff registry, global starter handoff registry, release dashboard, remote deployment status fetch, CMS task store, automated publish orchestration, client-hydrated release state, or personalized editor progress is introduced.

Publication Workflow

Static-First Publication Workflow

The workflow turns article-owned source, artifact, QA, and release handoff milestones into a static publication record before the route claims readiness.

  1. 1. Draft shell Accepted

    Frontmatter, route sections, and article navigation exist before the article claims publication status.

    Artifact
    index.mdx
    Gate
    Content collection, starter, and static-first unit tests verify the route shape.
  2. 2. Source boundary Accepted

    Accepted claims and rejected system boundaries stay in checked-in data tied to blueprint-001.

    Artifact
    data/source-boundary.json
    Gate
    Zod parsing and browser coverage verify the rendered source-boundary component.
  3. 3. Publish readiness Accepted

    Artifact index, evidence trail, checklist, authoring flow, source boundary, and publication workflow render as static HTML in the article route.

    Artifact
    ArticlePublicationWorkflow.astro
    Gate
    Vitest and Playwright verify shared component markers, milestone order, and zero nested Astro islands.
  4. 4. Claim ledger Accepted

    Source-claim decisions stay in article-owned data before the evidence trail and release handoff consume them.

    Artifact
    ArticleClaimLedger.astro
    Gate
    Vitest and Playwright verify the claim-ledger component marker, claim order, and zero nested Astro islands.
  5. 5. Claim map Accepted

    Claim decisions route to evidence, verification, handoff, and local artifact records before release handoff.

    Artifact
    ArticleClaimMap.astro
    Gate
    Vitest and Playwright verify the claim-map component marker, route order, and zero nested Astro islands.
  6. 6. Evidence trail Accepted

    Source-backed claims map to local article artifacts and verification gates before the release packet is handed off.

    Artifact
    ArticleEvidenceTrail.astro
    Gate
    Vitest and Playwright verify the evidence-trail component marker, item order, and zero nested Astro islands.
  7. 7. Proof manifest Accepted

    Proof packets name their owner, local artifact, gate, evidence note, and release status before final handoff.

    Artifact
    ArticleProofManifest.astro
    Gate
    Vitest and Playwright verify the proof-manifest component marker, proof order, and zero nested Astro islands.
  8. 8. Release handoff Accepted

    Article, validation, closeout, and next-work packets render as static handoff data before the automation releases the lock.

    Artifact
    ArticleReleaseHandoff.astro
    Gate
    Vitest and Playwright verify the release-handoff component marker, packet order, and zero nested Astro islands.
  9. 9. Release readiness Accepted

    Checklist, proof manifest, verification matrix, and release handoff status counts render as one static readiness rollup before closeout.

    Artifact
    ArticleReleaseReadiness.astro
    Gate
    Vitest and Playwright verify the release-readiness marker, local artifact routes, and zero nested Astro islands.
  10. 10. Starter manifest Accepted

    The copyable starter contract renders from article-owned data before the next article copies the template folder.

    Artifact
    ArticleStarterManifest.astro
    Gate
    Vitest and Playwright verify the starter-manifest marker, local template entries, and zero nested Astro islands.
  11. 11. Starter workflow Accepted

    The starter workflow renders the copy, replacement, source, data, rendering, and closeout sequence before the next article copies the template folder.

    Artifact
    ArticleStarterWorkflow.astro
    Gate
    Vitest and Playwright verify the starter-workflow marker, local workflow steps, and zero nested Astro islands.
  12. 12. Starter readiness Accepted

    Starter manifest and starter workflow status counts render as one static readiness rollup before the next article copies the template folder.

    Artifact
    ArticleStarterReadiness.astro
    Gate
    Vitest and Playwright verify the starter-readiness marker, local artifact routes, and zero nested Astro islands.
  13. 13. Starter handoff Accepted

    Starter manifest, starter workflow, starter readiness, and release handoff status counts render as one static handoff packet before the next article copies the template folder.

    Artifact
    ArticleStarterHandoff.astro
    Gate
    Vitest and Playwright verify the starter-handoff marker, local routes, and zero nested Astro islands.
Source
blueprint-001
Accepted
The static-first route has its first reusable publication-workflow primitive: article-owned workflow milestones render through shared ArticlePublicationWorkflow.astro in the publish-readiness section without client hydration.
Not Claimed
No global publication workflow engine, global starter handoff registry, cross-article workflow registry, CMS task store, release dashboard, remote workflow fetch, client-hydrated workflow state, or personalized editor progress is introduced.

Article Checklist

Static-First Publication Checklist

The checklist keeps publish-readiness proof inside article-owned data before the route claims a platform boundary.

  1. Frontmatter and catalog Accepted

    The article frontmatter names title, summary, status, tags, authors, and footer links used by the published catalog and shared route shell.

    Gate: Astro content schema, catalog tests, and browser route smoke checks.
  2. Source boundary Accepted

    The article resolves its platform claims to blueprint-001 and keeps source notes plus rejected boundaries beside the article.

    Gate: Vitest validates source-boundary and source-note artifacts.
  3. Article-owned data Accepted

    The proof ladder, generated summary, figure proofs, source notes, glossary, appendix, code blocks, math examples, and checklist all live under this article folder.

    Gate: Zod loaders parse checked-in JSON artifacts before tests and build.
  4. Interactive scope Accepted

    Static HTML owns the route while hydrated islands stay limited to the gate inspector, scrollytelling primitive, route analytics boundary, and reusable copy control.

    Gate: Playwright verifies visible markers, hydration boundaries, and no console errors.
  5. Verification stack Accepted

    Focused unit, typecheck, build, browser smoke, Storybook, diff, scaffold, deployment, and rollback checks back the publishable article boundary.

    Gate: Accepted commands are recorded in essay config, run log, and evidence ledger.
Source
blueprint-001
Accepted
The static-first route has its first reusable article checklist primitive: article-owned checklist data renders through shared ArticleChecklist.astro in the publish-readiness section without client hydration.
Not Claimed
No global authoring workflow engine, cross-article checklist registry, CMS task store, remote checklist fetch, client-hydrated checklist state, or personalized reader/editor progress is introduced.
  • Accepted: the static-first article is publishable as a proof-backed platform article under source registry entry blueprint-001.
  • Remaining: future work should source-register a full citation or footnote model before building it, source-register custom-domain checks before proving them, then prove Cloudflare build-setting enforcement and any source-registered verification registry, release handoff registry, cross-article code registry, broad clipboard guarantee, custom syntax-highlighting framework, cross-article glossary framework, general glossary framework, general appendix framework, author-defined macro state, custom math compiler, cross-article scrollytelling registry, general child-figure choreography framework, live analytics collector, persistent reader tracking, third-party analytics provider, cross-article macro registry, or cross-article analytics registry beyond the unconfigured Beacon adapter.

Related Topics

More On Shared Topics

All Essays