Skip to content

Standards

A standard is the bar, written down once and read by machines. The factory's merge gate grades against these, the templates conform to them, and an agent can fetch any of them directly rather than inferring the rules from examples.

Each page below renders the standard's own JSON. The document is the contract; the page is a view of it, generated at build time, so the two cannot disagree.

StandardCovers
agent-accessEvery public deliverable stays reachable and readable by the AI agents and search crawlers that find content for people: search indexes, and the fetchers an assistant sends when a person asks about a page. A site may opt out of training crawlers, and never blocks the search-index or user-initiated classes. This names the agent fetchers by token, operator and class, and the robots.txt, edge and probe rules that keep search-index and user-initiated fetchers admitted. Read it when writing robots.txt, adding a WAF, CDN or bot-management rule, or checking whether agents reach a site.
documentation-voiceHow prose is written across the stack — in markdown, in code comments, in schema field descriptions, in CLI help and in error strings. Editorial style is delegated to the Google developer documentation style guide; structured provenance is delegated to Google Cloud's Open Knowledge Format. This standard adds the four rules neither covers, which are the rules that follow from shipping a greenfield template rather than an application.
language-toolchainPer-language commands for the phases named in `content.phases`, plus the manifest, lockfile, registry and version-lookup each language identifies itself by. Use this to dispatch language-agnostic build commands — never bake `npm run X` or `pytest` into a workflow that has to support multiple languages.
llm-policyClaude is the primary LLM for every build on the nanohype stack. Preferred delivery is AWS Bedrock — it keeps data inside the client's AWS trust boundary and simplifies enterprise compliance posture. This policy names the SDK per language, the model tiers, the preferred regions, and the requirements around authentication, prompt caching and models of other families.
observability-sloThe production bar for how every system on the nanohype stack is observed: RED for services, USE for resources, the four golden signals, and at least one SLO with a multi-window multi-burn-rate error budget. Defines the dashboard a system MUST ship to represent itself (golden-signal rows + an SLO/error-budget row keyed on the system's own nouns, never only generic node/k8s infra), the recording-rule naming convention, and the canonical burn-rate alert windows. Also defines the fleet-alerting contract — severity tiers, the standard alarm-dimension set, and per-cluster composite rollups — that the observability landing-zone component renders so a hard-down cluster pages once instead of once per alarm. tenant-chart-base renders the PrometheusRule + ServiceMonitor from this standard's shape; every tenant chart inherits it; the quality gate reads it when grading the Systems-Thinking and Observability surface.
platform-tenant-contractEvery k8s-native deliverable on the nanohype stack ships as a Platform tenant — a self-contained unit the eks-agent-platform operator can scaffold, suspend (via kill-switch), and tear down via CR reconciliation. This contract names the artifacts a chart must produce, the minimum Platform CR shape, the OTel resource attributes the operator expects, and the rules a chart follows, each with its severity.
quality-rubric-dimensionsThe ten dimensions every build on the nanohype stack is graded against. This file names the dimensions, gives a one-line summary, and names the canonical lens for each (the named thinker / framework whose framing the dimension is graded through). Every other standard's `grades` field names the dimensions from this file that it is graded on. The depth for each dimension — canonical reading, pattern-to-solution maps, anti-pattern catalogs and the grade scale — lives in the reference client's bundled `quality-check` skill (`skills/quality-check.md` in fab), which a consumer deepens with its own overlay. Which reviewer grades which dimension, and how a merge gate enforces the grades, belong to the client.
resource-namingThe canonical grammar for naming cloud and k8s resources on the nanohype stack. Defines the domain split between env-first cloud-substrate names and environment-token-free k8s-facing names, the cluster-identity model that supports co-located sibling clusters, the reserved environment values, the per-surface delimiter transforms, and the collision + length guards every name-constructing component enforces. landing-zone / eks-agent-platform / eks-fleet build names from it; portal validates vend input against it; cloudgov gates CI against it.
resource-taggingThe canonical org-wide tag/label taxonomy every cloud resource and k8s object on the nanohype stack carries. Defines vendor-neutral dimensions, their per-surface rendering (AWS tag keys, k8s labels, OTel attributes), the deterministic casing transforms, the reserved namespaces, which dimensions are required, and conditional requirements — tags required only on certain resource kinds, such as BackupPolicy on backup-eligible kinds, without which a resource is silently unprotected. cloudgov reads the required-tier keys from this file to gate CI; landing-zone and the eks-agent-platform operator inject them; tenant charts label workloads from it.
seo-baselineEvery public site the factory ships presents one canonical origin and a fixed set of discovery artifacts. The bare apex serves; www (if it exists) 301-redirects to the apex, never the reverse and never both live. Read this when building or reviewing a site's SEO surface: it fixes the canonical-host rule, the required files (robots.txt, sitemap.xml, llms.txt, og.png), the required head tags, and the one-URL-prefix Google Search Console property per site.
telemetry-pipelineHow telemetry moves on the nanohype stack, as three contracts. The collection contract: every workload emits OTLP to one stable in-cluster endpoint and never names a backend, so backends stay swappable without touching an application. The tier contract: a cluster declares floor or full, which changes where telemetry lands and nothing else — the endpoint, the collector and the emitting workload are identical at both. The signal contract: what the platform publishes back when it acts on telemetry, and where an agent discovers the resources to read. Companion to observability-slo, which owns what to measure and when to alert; this owns how the measurements travel and who may read them.
testing-rubricThe testing shape and coverage floor every build on the nanohype stack is held to: a Testing-Trophy distribution (static base, integration-heavy middle, thin e2e), a global coverage floor, stricter enforcement on security-critical files, and a few non-negotiable practices. Read this when setting up a project's test runner or grading the testing dimension.
version-currencyEvery new build adopts the current stable release of every language runtime, framework, and top-level dependency. Inherited defaults and template-shipped versions are not acceptable. Stale dependencies and EOL runtimes are rejected at build time. This policy prevents shipping a greenfield project on a 3-major-version-old typescript or an EOL python.

Reading them programmatically

import { LocalSource, loadStandard, loadStandards } from "@nanohype/sdk";

const source = new LocalSource({ rootDir });
const policy = await loadStandard(source, "llm-policy");
const all = await loadStandards(source);

// MCP — from an agent
get_standard({ name: "llm-policy" })
list_standards()