Skip to content

docs: audience-first restructure, de-slop, and visual pass - #2

Merged
Sarthib7 merged 7 commits into
mainfrom
feat/docs-redesign
Aug 27, 2026
Merged

Sarthib7 merged 7 commits into
mainfrom
feat/docs-redesign

Conversation

@Sarthib7

@Sarthib7 Sarthib7 commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

What this delivers

A redesign of docs.solrouter.com. The docs now follow an audience-first structure, with Diátaxis inside each section:

  • Introduction: a short "choose your surface" router.
  • Use cases: what people, developers, agents, and teams do with Solrouter.
  • Verify an encryption proof: paste a lock link and check it in the browser.
  • Use Solrouter: Chat app, What is private here, Pricing.
  • Build on Solrouter: Quickstart, Privacy SDK, MCP server, Agent Privacy API, Agent Tools SDK, Get an API key.
  • How it works: Architecture map, What is a TEE, request flow, encryption, attestation, on-chain proof, agent reasoning, models.
  • Reference: API (overview, POST /agent, TEE, Errors, generated Agent Privacy API), Glossary, $ROUTER token.

Key changes

Truth. Every hand-written page was checked against the product code and the live API on 2026-08-26; 46 wrong or stale claims were corrected. status and checked stay in frontmatter.

Structure. Pages moved into use/, build/, how-it-works/, and api-reference/, with redirects for every old slug and its .md twin. Duplicate content was merged: the four agent pages into one, the two authentication pages into one, and the redundant "how it works" prose page removed.

De-slop. The overstuffed landing became a short router. The seven-column "who can see what" table with 36 footnotes became a color-coded matrix with six notes. Internal be:file:line citations were stripped from every reader-facing page. The per-page status line now shows only when a page is not fully Live.

Visuals. A React Flow architecture map, a request-flow stepper, and a 44-node skill graph; a React Flow "Typical AI API" before-and-after on the landing; a PrivacyMatrix component; card typography and spacing fixes; and the encryption-proof and key-and-quote verifier widgets on the Verify page.

Verification

  • npm run check: 26 pages ok (no em or en dashes, no banned words, status on every page, an "In words" list or table after every diagram).
  • Zero em or en dashes and zero internal be:/Source: citations across all of content/docs, including the generated API pages.
  • Every page returns 200 on the dev server. The React Flow maps, the privacy matrix, the landing diagram, and the verify widgets were checked in a browser at desktop and 375 px width, with no console errors.
  • An independent adversarial review with no prior context cleared navigation, links, redirects, meta.json, and the matrix port, and found no broken link, orphaned page, or render error.
  • Not run here: a full next build. The dev server compiles every route; run next build in CI before merge.

Before merge

  • Run next build in CI.
  • Model-id spelling pass: gpt-oss:20b for raw HTTP versus gpt-oss-20b for the SDK is context-dependent, so confirm each callsite.
  • Owner decisions still open: image and video generation, @solrouter/agent-tools on npm, gemma4:31b, tokenomics figures, swap status, and retention periods.

Backend follow-ups found while writing (not changed here)

  • x402 chat response reports paid.amount: 0.02 while the paywall charges 0.005.
  • x402 manifest URLs use http://.
  • Two rate tables disagree on gpt-oss:20b.
  • SDK 1.1.0 maps qwen3-8b to the retired nosana:qwen3:8b; the default baseUrl is the Render host.
  • Capabilities and the agent-card advertise mcpHttp: /mcp/v1 with no such route mounted.
  • The enclave logs the first 50 characters of each reply.

… page

Truth fixes on all 22 hand-written pages, checked against the product
code and live endpoints on 2026-08-26. Highlights:

- Chat app: encryption is a toggle (Maximum Privacy Mode), off by default.
  Attachments and knowledge-base documents are not encrypted at rest.
  Persistent history is encrypted with a Solrouter-held key.
  Image and video generation is disabled (Archived).
- Models: gpt-oss:20b and qwen3.8:27b (Live), gemma4:31b (Soon),
  qwen3:8b retired. One id format.
- Nosana GPU node sees the prompt during inference; stated on every
  page that described the request path.
- Agent: useTools runs a tool loop (up to 8 model calls); the guided
  path is reasoning: 'braid'. Benchmark numbers without a source
  removed. Skill graph has 44 nodes; the response carries no skillGraph.
- @solrouter/agent-tools is not on npm: install steps removed, Soon.
- Attestation: both report_data formulas; receipts are Light Protocol
  compressed accounts, not PDAs; umbra_attestation is a swap artifact.
- Managed wallets: KEK lives in the backend process, not the enclave.
- MCP: 22 tools; four use the encrypted path for the model step; search
  and market lookups leave the machine in plaintext.
- x402: the manifest is on api.solrouter.com and advertises Coinbase.
- Removed both duplicated ASCII request-flow blocks and all em dashes.

Every page now declares status (live | soon | archived | mixed) and
checked: 2026-08-26 in frontmatter. The status sentence renders under
the title and is prepended in llms-full.txt and the .md routes.
EncryptionFlow gains the Nosana stage, a return arrow, role=img, and an
encrypted={false} variant.
- sitemap.xml and robots.txt from the page tree; lastmod from checked.
- metadataBase so OG image URLs are absolute.
- llms-full.txt puts Introduction first and generated API pages last.
- next.config.mjs redirects hook with a moves list (empty until pages move).
- scripts/check-docs.mjs (npm run check): fails on em or en dashes,
  banned words, missing status or checked frontmatter, and diagrams
  without an In words list.
- GitHub Actions workflow: npm ci, types:check, check, build.
- README replaces the Create Fumadocs boilerplate with the status policy,
  the truth rule, the diagram rule, and the PR checklist.
- package-lock.json re-synced with package.json (npm ci failed on
  @emnapi/wasi-threads). Adds @xyflow/react 12.11.5 for the interactive
  diagrams that land next.
- .scratch/ ignored (local wayfinder tracker).
…wed drafts)

New pages: what-is-a-tee, what-is-private, verify-a-reply, use-cases,
glossary, under-the-hood (architecture map), under-the-hood/request-flow,
under-the-hood/agent-reasoning. Introduction gains the before/after
diagram and Start-here cards. Sidebar lists the new pages.

New components: sealed-room, plaintext-zones, typical-vs-solrouter (static
SVG), key-quote-inspector (live check of /tee/public-key against
/tee/attestation in the browser), and the React Flow scaffolding
(flow-canvas, box-node, flow-figure, data for the system map, the
ten-step request flow, and the 44-node skill graph copied from
skillGraphEngine.js). React Flow token overrides appended to global.css.

Status: drafts. Truth-checked by their authors against code, type-check
and build pass, not yet reviewed by a second pass and not yet checked in
a browser. Do not merge before that review.
@vercel

vercel Bot commented Aug 26, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
solrouter-docs Ready Ready Preview Aug 27, 2026 11:55am

Request Review

@Sarthib7 Sarthib7 changed the title docs: truth fixes, status badges, newcomer pages, and interactive maps docs: audience-first restructure, de-slop, and visual pass Aug 27, 2026
@Sarthib7

Copy link
Copy Markdown
Collaborator Author

@vercel review

Adds the @emnapi wasm32-wasi entries (incl. @emnapi/runtime@1.11.3) npm ci needs on Linux; transitives refreshed within semver. next/fumadocs/@xyflow unchanged.
@Sarthib7
Sarthib7 marked this pull request as ready for review August 27, 2026 11:57
@Sarthib7
Sarthib7 merged commit c48efe6 into main Aug 27, 2026
3 checks passed
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