Found while rewriting architecture.mdx (#64 / #69). Filed rather than fixed — #64's surface was that one page, and each of these needs a different call than a search-and-replace.
What is there
The hosted, many-Environments-per-process model that #64 removed from architecture.mdx is still the model six other English pages teach. Measured on a132376.
| File | Line | What it says |
|---|
content/docs/resources/faq.mdx | 44 | "One ObjectOS process can serve many Environments (tenants). Hostname → Environment resolution caches in an LRU; each Environment has its own database, identity, and audit log." |
content/docs/resources/glossary.mdx | 110 | Kernel "serves a single Environment's metadata. One process can hold many cached kernels (one per Environment) in an LRU." |
content/docs/why.mdx | 45 | Fit-scenario row: "Multi-tenant internal portal (one runtime, many small apps) — Per-project kernel + LRU cache designed for this" |
content/docs/operate/observability.mdx | 40, 77-80 | Artifact/kernel cache misses signal; a Prometheus alert on kernel_cache_misses_total whose remedy is "consider raising OS_KERNEL_CACHE_SIZE" |
content/docs/operate/troubleshooting.mdx | 67 | "the project kernel has auth enabled" |
content/docs/build/ai-builder.mdx | 139 | "The kernel cache invalidates the touched package" |
Why it is worth recording
The first row is a live contradiction with a shipped page, not just stale framing. reference/environment-variables gives a deployment oneOS_DATABASE_URL, and states that metadata "is scoped to the deployment, not to an organization" — which is precisely why a walled deployment must decide OS_AI_STUDIO_AGENTS, because "on a shared database one customer's build turn rewrites the schema every other customer runs on". A reader who believes the FAQ expects per-tenant database isolation they will not get.
The observability row is a second, smaller instance of the #60 defect class: OS_KERNEL_CACHE_SIZE appears nowhere in the environment contract — not in the live tables, not in Retired names, not in Legacy names. It is the only place in the English docs that still names it. #63 swept the retired env contract outside Deploy and this line was not caught, presumably because it reads as an alert annotation rather than as configuration.
Why this is not three lines of sed
Each row needs a different decision, which is why it is a card and not a rider:
why.mdx is a positioning claim — "designed for this". Deleting the row removes a stated fit; keeping it needs a product answer about what a multi-tenant internal portal is sold as now. Someone has to decide, not transcribe.observability.mdx needs to know whether kernel_cache_misses_total is still a metric the runtime emits at all. If it is not, the alert is worse than stale.faq.mdx and glossary.mdx are load-bearing definitions; the FAQ answer also promises per-Environment identity and audit isolation.ai-builder.mdx and troubleshooting.mdx are probably wording only.
Note for whoever picks this up
⛔ The same constraint as #64 applies to any figures encountered along the way: this repository is not the authority for runtime measurements, and describing the shape without numbers is the correct outcome, not a partial one.
Adjacent, same pages, decide whether to fold in or split: faq.mdx line 145 tells the reader to point a monitor at /health, while deploy/docker.mdx and deploy/kubernetes.mdx name /api/v1/health for liveness and /api/v1/ready for readiness.
Related: #64, #63, #60.
Generated by Claude Code
Found while rewriting
architecture.mdx(#64 / #69). Filed rather than fixed — #64's surface was that one page, and each of these needs a different call than a search-and-replace.What is there
The hosted, many-Environments-per-process model that #64 removed from
architecture.mdxis still the model six other English pages teach. Measured ona132376.content/docs/resources/faq.mdxcontent/docs/resources/glossary.mdxcontent/docs/why.mdxcontent/docs/operate/observability.mdxArtifact/kernel cache missessignal; a Prometheus alert onkernel_cache_misses_totalwhose remedy is "consider raisingOS_KERNEL_CACHE_SIZE"content/docs/operate/troubleshooting.mdxcontent/docs/build/ai-builder.mdxWhy it is worth recording
The first row is a live contradiction with a shipped page, not just stale framing.
reference/environment-variablesgives a deployment oneOS_DATABASE_URL, and states that metadata "is scoped to the deployment, not to an organization" — which is precisely why a walled deployment must decideOS_AI_STUDIO_AGENTS, because "on a shared database one customer'sbuildturn rewrites the schema every other customer runs on". A reader who believes the FAQ expects per-tenant database isolation they will not get.The observability row is a second, smaller instance of the #60 defect class:
OS_KERNEL_CACHE_SIZEappears nowhere in the environment contract — not in the live tables, not in Retired names, not in Legacy names. It is the only place in the English docs that still names it. #63 swept the retired env contract outside Deploy and this line was not caught, presumably because it reads as an alert annotation rather than as configuration.Why this is not three lines of sed
Each row needs a different decision, which is why it is a card and not a rider:
why.mdxis a positioning claim — "designed for this". Deleting the row removes a stated fit; keeping it needs a product answer about what a multi-tenant internal portal is sold as now. Someone has to decide, not transcribe.observability.mdxneeds to know whetherkernel_cache_misses_totalis still a metric the runtime emits at all. If it is not, the alert is worse than stale.faq.mdxandglossary.mdxare load-bearing definitions; the FAQ answer also promises per-Environment identity and audit isolation.ai-builder.mdxandtroubleshooting.mdxare probably wording only.Note for whoever picks this up
⛔ The same constraint as #64 applies to any figures encountered along the way: this repository is not the authority for runtime measurements, and describing the shape without numbers is the correct outcome, not a partial one.
Adjacent, same pages, decide whether to fold in or split:
faq.mdxline 145 tells the reader to point a monitor at/health, whiledeploy/docker.mdxanddeploy/kubernetes.mdxname/api/v1/healthfor liveness and/api/v1/readyfor readiness.Related: #64, #63, #60.
Generated by Claude Code