# Publication Contract

> One-source generation, artifact identity, AI-readable forms, deployment separation, and release states.

The documentation publication is a derived artifact of accepted repository
truth.

## Canonical and generated forms

Canonical content lives under `docs/`. The generator produces:

| Form | Purpose |
| --- | --- |
| Static HTML | Human navigation, search, accessibility, and visual identity |
| Page Markdown | Clean retrieval without navigation chrome |
| `llms.txt` | Compact curated reading map |
| `context/core.md` | Small complete normative kernel |
| `llms-full.txt` | Complete documentation bundle |
| `manifest.json` | Classification, version, path, and SHA-256 inventory |
| JSON schemas | Reference packet validation and integration |

Generated forms are checked byte-for-byte against a fresh temporary build.
They are never edited directly.

## Candidate versus publication

A successful local site build proves only that a candidate artifact can be
constructed. It does not prove that the artifact was reviewed, selected,
deployed, reachable, or consumed.

Publication packet `TMP-0001` records:

- source revision and specification version;
- generated-manifest digest;
- exact artifact digest, file count, and byte size;
- reviewer and approval;
- deployed release identity;
- public URL and observation time;
- health, raw Markdown, context, and manifest checks;
- displaced release and rollback; and
- Facet redirect state separately.

Its lifecycle is `verified`: the exact accepted artifact was deployed and all
declared public contracts passed at the recorded time. That state does not
claim external conformance, independent audit of private hosting, consumption,
adoption, usefulness, or value.

An accepted publication packet is immutable. A later artifact or lifecycle
observation receives a new packet and may name the exact predecessor it
supersedes; the predecessor remains a historical account of the bytes and
observation it originally froze.

## Deployment boundary

The product repository owns source, build, publication tests, base serving
manifest, and artifact identity. `cloud-ops` owns the production appointment,
edge routing, deployment observation, rollback record, and later redirects.

The public host receives a versioned static artifact. It is not an authoring
workspace and requires no Node.js runtime or source checkout.
