Skip to content

docs audit (1/2) — the first-run path: index, build-without-code, getting-started/, concepts/, data-modeling/ #10563

Description

@os-elon

Continues the new-developer journey audit (#10264), which covered the README and the running product but could not reach the docs site. The site is served from this repo, so the audit is content/docs/**.

Scope — exactly these, nothing else

content/docs/index.mdx, content/docs/build-without-code.mdx, content/docs/getting-started/**, content/docs/concepts/**, content/docs/data-modeling/** (~33 pages).

Explicitly out of scope, do not touch or audit:

  • content/docs/references/** — 214 auto-generated pages (⚠️ AUTO-GENERATED — DO NOT EDIT, produced by packages/spec/scripts/build-docs.ts). A defect there is a generator bug; file it against the generator, do not hand-edit.
  • content/docs/releases/** — written centrally at release time. Never edit in a code PR.
  • Everything covered by card 2/2 (ui/, automation/, permissions/, ai/).

Already machine-covered — do not re-derive

These gates were run on origin/main before dispatch:

GateResult
check:doc-authoring✓ 380 files clean, no bare metadata literals
check:docs-redirects✓ 92 entries, all destinations resolve
check:doc-anchorsexists and runs in CI (needs node_modules locally)

So anchors, redirect integrity and metadata literals are the machine's job. Spend nothing on them. Your job is what no gate can see.

Method — cheap checks first, prose reasoning last

This ordering is the point of the card; inverting it burns budget for little yield.

  1. Mechanically falsifiable claims first. Every identifier a doc names — a field type, a schema property, a method, a CLI flag, an option key — either exists in packages/spec / the implementing package or it does not. That is a grep, not a reading exercise. Sweep the identifiers out of the code fences and check them in bulk against source. Docs that name things which no longer exist are the highest-yield, cheapest defect class in this tree.
  2. Runnable claims second. Commands and code samples a reader is invited to run. Run the cheap ones. Note that node_modules is absent in a fresh clone — if a documented first command requires an install the doc never mentions, that itself is a finding.
  3. Pedagogical holes last, and only on the first-run path. Read as a stranger following the path in order: does each page's prerequisite actually get established by an earlier page, or is the reader assumed to know something nobody told them? dogfood: simulate a brand-new developer's first-run journey — README → create an app → skills-driven AI build → validate & test #10264 found exactly this shape in the product — the rule a newcomer needed existed only in a file they had no reason to open.

Deliverable

Audit-only. Do not open a PR and do not edit any doc. File one finding issue per distinct defect, unassigned, finding label only — no domain and no type label, those are the triage seat's product. Dedupe-search before each one. Back-link this issue.

If the hit rate is high, say so plainly in your report: whether the remaining 88 unaudited pages are worth a second round is a decision that rests on your measured rate, and an honest low rate is as useful as a high one.

Report as a comment here: pages audited, defects found by class (nonexistent identifier / broken command / pedagogical hole), findings filed with numbers, and your hit rate per page.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions