Docs Data Pipeline
Every dynamic value on the docs site needs a source, an extraction path, and a typed loader. The docs site currently has no data — proof counts, agent names, command lists, version numbers are all absent. This scope builds the pre-build extraction pipeline that reads source files from the monorepo, writes typed JSON to `website/data/docs/`, and exposes typed loader functions that page components import. Without this, Scopes 3-6 are blocked.
verdict PASSscore 32 / 32findings 6 (1 risk · 2 debt · 3 obs)duration 1h 8mrejection cycles 0shipped May 12, 2026surface website
Pipeline timeline
Intent to proven code in 1h 8m across Think, Plan, Build, and Verify.
Think5m
Plan20m
Build27m
Verify10m
Assertion ledger
32 claims, each independently verified. Showing 8 — show all →
| ID | Says | Matcher | |
|---|---|---|---|
| A001 | The extraction script runs without errors and produces all output files | verified | ok |
| A002 | Proof entries are extracted from the proof chain | verified | ok |
| A003 | Each proof entry has a computed stage category | verified | ok |
| A004 | Proof stats compute total assertions across all entries | verified | ok |
| A005 | Proof stats compute total findings across all entries | verified | ok |
| A006 | Proof stats track rejection count | verified | ok |
| A007 | All registered CLI commands are extracted with descriptions | verified | ok |
| A008 | Commands are organized into the four display groups | verified | ok |
Findings 6 total
riskwebsite/scripts/extract-docs-data.ts→ closed
Keyword fallback categorization lacks word boundaries — 'scannable' matches /scan/, misassigning proof entries to Engine
debtwebsite/scripts/extract-docs-data.ts→ closed
Variable shadowing in extractSkillTemplates — inner 'content' shadows outer 'content' in same function
obswebsite/lib/docs-data/index.ts→ closed
All 13 exported loader functions and 14 types are unused — no page components import from docs-data yet
obswebsite/lib/docs-data/proofs.ts→ closed
No JSDoc on exported loader functions — inconsistent with CLI package coding standards, though website eslint doesn't enforce it
debtwebsite/lib/docs-data/proofs.ts→ closed
process.cwd() in loader DATA_PATH assumes Next.js runs from website/ root — correct for Next.js build, fragile if loaders are ever called from tests or scripts
+1more findings
Integrity seal
scopesha256:1321e0508a011...
contractsha256:f1a37bd3d80e8...
plansha256:874a5af0ebcdd...
specsha256:51604bc358fac...
build-reportsha256:9c47fa522960a...
build-datasha256:3df8d08dcf344...
verify-reportsha256:7eedf95ee9cf5...
verify-datasha256:3ffc0e2ab9d1b...
audit cmd$ ana proof audit docs-data-pipeline → all hashes match