Public Agent Standard Publication
This standard defines the source, metadata, safety and URL contract for the
small set of Meridian standards that may be published toagents.meridianstack.dev. It is the repository-side contract for a future
static publisher; it does not deploy or serve the site.
Authority and opt-in
The canonical source remains a Markdown or MDX document in docs/standards/.
The file .config/meridian/policies/public-agent-standards.json is the
explicit publication manifest. A document is publishable only when both the
manifest and its frontmatter opt it in:
- the manifest names the exact repository-relative path, stable identifier,
- the document frontmatter contains
public-agent: true, the same stable - documents not named by the manifest are not published, even when they live
- an opted-in document that is absent from the manifest fails validation rather
title, lifecycle status, public classification and safety decision;
identifier and title, a supported status, `classification:
public-agent-standard, and safety: reviewed-public`;
under the standards source root;
than being silently discovered.
No private documentation, credentials, provider payloads, access policy or
hosted-site state belongs in this publication surface. Public classification is
an explicit review decision, not an inference from a filename or directory.
Stable URLs and discovery
The publisher derives all public routes from the manifest identifier. For an
entry with ID example-standard, the routes are:
- human HTML:
https://agents.meridianstack.dev/standards/example-standard; - raw Markdown:
https://agents.meridianstack.dev/standards/example-standard.md; - machine discovery:
https://agents.meridianstack.dev/standards/index.json.
The machine index is derived output. It must expose the stable ID, title,
status, classification, source revision and both document URLs; it must not
become a second source tree or expose repository paths that are not needed by
consumers.
Renames and supersession
Published IDs are durable public identifiers. A rename is represented by a new
manifest entry plus supersedes and redirectFrom values on the new entry.
The old ID remains a redirect target and is never silently reused for a
different standard. Redirect IDs must be unique, must use the same lowercase
kebab-case grammar as current IDs, and must not collide with a current ID.
Removing a document from the manifest is therefore not a rename. It is a
deliberate retirement that must preserve a redirect or an explicit unavailable
record when the public URL has already been released.
Safety gate
The validator fails closed unless every manifest entry is classified exactly aspublic-agent-standard and carries the reviewed-public safety decision in
both manifest and frontmatter. It also rejects common credential material,
including private-key blocks, GitHub tokens, live Stripe keys, AWS access-key
identifiers and JWT-shaped bearer values.
Reviewers must still check the meaning of the content: the automated gate is a
minimum safety boundary, not permission to publish private operational detail.
Deterministic validation
Repository CI runs the TypeScript owner intools/governance/repository-quality and rejects:
- malformed manifest JSON or frontmatter;
- missing or duplicate IDs and paths;
- paths outside
docs/standards/or unsupported file types; - missing opt-in, unsafe classification or manifest/frontmatter drift;
- invalid supersession and redirect metadata; and
- credential-like content in a candidate document.
The validator sorts findings and derived entries before reporting them, so the
same source produces the same result locally and in CI.
This contract is the implementation record for ISSUE #1774.