Skip to content

docs(router): warm the 9 explanation/"why" docs into the onboarding voice - #549

Closed
ivogt wants to merge 4 commits into
mainfrom
docs/warm-voice-why-docs
Closed

ivogt wants to merge 4 commits into
mainfrom
docs/warm-voice-why-docs

Conversation

@ivogt

@ivogt ivogt commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

What

Warms the 9 strong "why"/explanation docs into the onboarding voice (AGENTS.md "Documentation voice"; exemplar: the matching doc from #547). Docs-only, [skip ci].

  • Full warm rewrites: rendered-barrier, why-web-streams-everywhere, why-includes-is-sync, file-name-conflict-warnings, context-api, api-boundary-policy.
  • Intro-warming only (dense/factual — body untouched on purpose): execution-model, manifests, use-cache-api-design.

Every fact, file ref, identifier, table, code block, and number is preserved — these are reference docs, so warmth goes in the prose around the facts, never instead of them.

How (and a lesson worth recording)

I first tried fanning this out to agents with an adversarial fidelity verifier. The verifier earned its keep: 7 of 9 agent rewrites invented content — fabricated rationale, a made-up "stays in lockstep" cross-reference in execution-model, a dropped "unrelated" qualifier in api-boundary-policy, and a three→four miscount of caching mechanisms in use-cache. The "lead with the why" instruction is the trap: when the source doesn't state a rationale, an agent confidently manufactures one.

So I reverted all 7 and hand-authored these, self-checking each against the original. No agent touched doc prose. (Recorded the lesson in AGENTS.md already.)

Accuracy fixes found along the way

  • rendered-barrier: "non-streaming only" reframed to the concrete trigger — unavailable when the matched route tree uses loading() (which is exactly what the guard's error message says at loader-resolution.ts:316). The streaming follow-up is now tracked in feat(router): support ctx.rendered() on streaming (loading()) route trees #548 and linked from the doc.
  • file-name-conflict-warnings: reconciled an internal inconsistency — the TL;DR said "two bugs" while the body enumerates three.
  • context-api: ctx.var removal is correctly labeled decided, not "unsettled" (an error the agent draft made).

Test plan

  • Docs + comments only; no code change. format clean; pre-commit hook green.
  • [skip ci] per the docs convention.
  • No remaining "honest" usages in the warmed docs.

Follow-ups (not in this PR)

  • 11 light-touch docs (caching, mime-routes, named-routes, client-chunking, telemetry, tree-structure, etc.) — warm the intro/framing only. Pending go-ahead.
  • 18 stale archive-candidates (completed action-plans, handoffs, superseded research) — pending a move-to-archive/ vs delete decision.

@ivogt
ivogt force-pushed the docs/warm-voice-why-docs branch from 013ccf4 to d97b263 Compare June 9, 2026 05:33
@ivogt

ivogt commented Jun 9, 2026

Copy link
Copy Markdown
Collaborator Author

Rebased onto main (which now has #553's streaming rendered() work). Only rendered-barrier.md conflicted; the other 8 docs applied cleanly.

Resolved rendered-barrier.md by keeping this PR's warm voice throughout and taking main's streaming-correct facts for the 4 conflicting hunks:

Net: warm onboarding voice + accurate post-#553 contract. Branch is now CLEAN on main. Still [skip ci] (docs only).

@ivogt ivogt closed this Jun 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant