Skip to content

Six pages outside Deploy still describe the retired multi-Environment runtime #70

Description

@os-zhuang

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.

FileLineWhat it says
content/docs/resources/faq.mdx44"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.mdx110Kernel "serves a single Environment's metadata. One process can hold many cached kernels (one per Environment) in an LRU."
content/docs/why.mdx45Fit-scenario row: "Multi-tenant internal portal (one runtime, many small apps) — Per-project kernel + LRU cache designed for this"
content/docs/operate/observability.mdx40, 77-80Artifact/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.mdx67"the project kernel has auth enabled"
content/docs/build/ai-builder.mdx139"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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions