---
public-agent: true
id: public-agent-standard-publication
title: Public Agent Standard Publication
status: current
classification: public-agent-standard
safety: reviewed-public
---

# 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 to
`agents.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,
  title, lifecycle status, public classification and safety decision;
- the document frontmatter contains `public-agent: true`, the same stable
  identifier and title, a supported status, `classification:
  public-agent-standard`, and `safety: reviewed-public`;
- documents not named by the manifest are not published, even when they live
  under the standards source root;
- an opted-in document that is absent from the manifest fails validation rather
  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 as
`public-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 in
`tools/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.
