site-docs-wiki — `docs.utopiamodels.ai`, the fleet's public wiki
Mirrored from the fleet knowledge base: wi/components/site-docs-wiki.md
Updated
Mirrored verbatim from
utopia-models/knowledgewi/components/site-docs-wiki.mdby the allowlisted publish pipeline. Edit it there, not here.
component: site-docs-wiki
serves: all
runs-on: vercel
adrs: []
owns:
- docs.utopiamodels.aisite-docs-wiki — docs.utopiamodels.ai, the fleet's public wiki
WHAT IT IS
The fleet's public wiki: docs.utopiamodels.ai, a Fumadocs site (repo utopia-models/docs, public since
2026-10-31 — knowledge#10761; the Vercel project is still named docs-wiki)
describing the fleet for outsiders — AI research models researching Tyler are a confirmed real
reader (Perplexity reads it directly for job-application research; PLAN-286).
🔴 It was retired to a 301 on 2026-08-30, then UN-RETIRED on 2026-09-04 (both in the
since-deleted docs-wiki repo). Two
real, opposite states inside two weeks — read the live state, never a snapshot. See KNOWN BROKEN for
what that cost.
The first screen is for a human, then for agents (knowledge#9570). The homepage opens on "Who wrote
this, and what to read in two minutes", naming Tyler and linking the dispatch-runtime page, the public
repo and "What the numbers say"; the five agent prompts follow it. The nav's GitHub icon links the site's own
public source, utopia-models/docs.
🔴 utopia-models/docs is a FRESH repo, not the old one made public (knowledge#10761). The private
utopia-models/docs-wiki was the source until 2026-10-31; its history (not its tree) held a third party's
personal address and a third party's name, so docs was seeded from its current tree as one commit, scanned
(gitleaks 8.24.3 + the docs-mirror.py personal-data rules) before it went public, and docs-wiki was
deleted. Anything citing docs-wiki#N PR numbers points at a repo that no longer exists; docs numbering
restarted at #1.
curl -s https://docs.utopiamodels.ai/ | grep -o 'github.com/utopia-models/[a-z-]*' | sort -u # expect docsHOW IT WORKS TODAY
Content lives at content/docs/<group>/*.mdx, hand-curated — not one page per wi/components/ entry
and not one per architectural pattern; wi/work/reference/architectural-patterns.md says why component
and pattern are different units. The groups change often (PLAN-299 added three in one day), so read
them rather than trusting a list:
$ gh api repos/utopia-models/docs/contents/content/docs/meta.json --jq .content | base64 -dMeta-prompt modules and /kit/. Since PLAN-299 the site also serves school's module system,
fully public: public/kit/ is the set of files a meta prompt tells a reader's agent to fetch, and
kit/workflows/_src/build.py generates module 01's ten tier templates (survey → tier → interview →
build). An architectural-pattern module lives under content/docs/patterns/<id>.mdx with its kit
at public/kit/patterns/<id>/. It reuses the kit generator — its own _src/build.py imports the
loader and the module-agnostic blocks — so it does not carry a second survey/tier/interview
mechanism. Pattern 14, decision discipline, was the first (knowledge#7761), dogfooded to completion on a client module. Stale generated tiers are one command:
$ for b in public/kit/workflows/_src/build.py public/kit/patterns/*/_src/build.py; do python3 "$b" --check; doneflowchart LR
R["any request<br/>docs.utopiamodels.ai/<path>"] --> V["Vercel project `docs-wiki`<br/>utopia-models/docs @ main"]
V --> P["Fumadocs app<br/>serves content/docs/**/*.mdx directly"]
V --> K["public/kit/**<br/>static files a meta prompt fetches"]Determine current state — one command:
$ for p in / /docs/structure/architecture /llms-full.txt; do printf '%-32s ' "$p"; \
curl -sS -m15 -o /dev/null -w '%{http_code}\n' "https://docs.utopiamodels.ai$p"; doneExpect 200 on every path, serving docs-wiki content directly — no redirect. A 301 means the
2026-08-30 retirement has recurred.
Which project serves the host:
$ curl -sS -H "Authorization: Bearer $VERCEL_TOKEN" \
'https://api.vercel.com/v4/aliases/docs.utopiamodels.ai?teamId=utopia-436cfb73' | jq -r .projectId
prj_1rxHmBWTNRXgITkJtValFgrkpbJG # project `docs-wiki`The load-bearing property: the wiki is deliberately UNGATED — no auth wall, no login
redirect, no Vercel deployment protection (PLAN-178, Fork 2 — recorded in its spec,
wi/work/specs/178-docs-wiki/spec.md; no ADR file was written for it). A gate on this host is a
regression. That is also the pressure ADR-7289 refused to put on this repo when it sent the school to
a repo of its own.
There is no exception. A per-page private: true login gate (knowledge#8023/#8034) existed for
one day to hide one module; both the gate and the module were removed (knowledge#8043). Probe that nothing gated came back:
$ curl -s -o /dev/null -w '%{http_code}\n' https://docs.utopiamodels.ai/login # 404
$ gh search code --repo utopia-models/docs 'canRead' --json path --jq '.[].path' # emptyAI-facing surface: /llms-full.txt is the plaintext form research models actually consume —
verify content there too, not only the rendered HTML (PLAN-286).
USAGE MEASUREMENT
The same measurement as the work hub's (site-work-hub.md), ported in knowledge#8567. Many readers are
agents and crawlers that run no JavaScript, so reads are counted on the server.
- Durable:
proxy.tssends one Web Analyticsreadevent per page,.md/llms*.txtfetch or/resume.pdf, withpathandreader(<link tag>|<user-agent class>). It is read in the Vercel dashboard, projectdocs-wiki, Web Analytics → Events. - Immediate:
bash scripts/usage.sh [hours]in the repo reads Vercel's request log and prints reads by link tag, path, network and user-agent. The log is short-lived: run it with168and read the oldest row to see how far back it goes today. - Link tags:
?r=<tag>on every link to this site that is handed to a person. Where each tag is made:net/README.md, "Link tags".
$ curl -sS -H "Authorization: Bearer $VERCEL_TOKEN" \
'https://api.vercel.com/v9/projects/docs-wiki?teamId=team_gq5tNzvoKbKNK0pyDJtAqqUU' | jq -c .webAnalytics
# `enabledAt` present = Web Analytics is on. To turn it on:
# POST https://api.vercel.com/v1/web/insights/toggle?projectId=<id>&teamId=<team> {"value":true}BOUND VALUES
- ✅
docs.utopiamodels.ai— still live inwi/registry/components.yaml(- id: site-docs-wiki\n name: (\S+))
DETERMINE CURRENT STATE
for p in / /docs/structure/architecture /llms-full.txt; do printf '%-32s ' "$p"; \
curl -sS -m15 -o /dev/null -w '%{http_code}\n' "https://docs.utopiamodels.ai$p"; doneExpect 200 on every path. A 301 means the retirement has recurred — read proxy.ts: since
knowledge#8567 it exists again, as the usage measurement, and it must only ever return
NextResponse.next().
To see the live page list: gh api repos/utopia-models/docs/git/trees/main?recursive=true --jq '.tree[].path | select(startswith("content/docs/"))'.
KNOWN BROKEN
- 🔴 This doc itself stated the RETIRED state as current for at least 8 days after it was reverted
(retired 2026-08-30 and un-retired 2026-09-04, both in the since-deleted
docs-wikirepo; doc corrected 2026-09-12/PLAN-299). Whoever reads a component doc for current state has no way to know it is stale without re-running its own probe — which is what happened here: PLAN-286 (2026-09-05) ran the live curl itself rather than trusting this doc, and found the site alive; this doc was not fixed until PLAN-299 found the contradiction directly. A component doc's own "as of" date is not re-checked by anything — there is no staleness alarm onwi/components/*.md, only the discipline of fixing it when next read. - ⚠ No
## DETERMINE CURRENT STATEoutput is committed anywhere — each session re-runs the curl cold. That is correct per doctrine (off-git facts are probes, never stated answers) but means a reader who skips the probe and reads only prose has no signal the ground moved twice in two weeks.
signoz — the fleet's telemetry sink, and the one thing that already knows what every harness did
Mirrored from the fleet knowledge base: wi/components/signoz.md
skills-layer — the per-box command surface; only the plugin's own `skills/` reach every box
Mirrored from the fleet knowledge base: wi/components/skills-layer.md