# Technical documentation.

Every page in this tree does one job and embeds one proof artifact — a transcript cut
from a real run of the published package or of a live door on this origin, a digest you
can recompute, an exit code you can reproduce. Never an adjective.

Three ways in. Pick yours:

- **curl** — `POST /translate`, `/validate` and `/hash` answer on this origin with no
  key and no account: [curl the live doors](/docs/quickstart/curl/).
- **npx** — `npx epcis.dev` runs the same engine on your bench, with the proof fixtures
  shipped inside the package: [60 seconds with npx](/docs/quickstart/npx/).
- **MCP** — one paste wires a client; the same tools answer at `POST /mcp` on this
  origin: [MCP for agents](/docs/quickstart/mcp/).

## The sixty-second proof

Executed 2026-07-31 against the published npm package `epcis.dev@0.1.0`:

```
$ npm i epcis.dev
$ CORPUS=node_modules/epcis.dev/golden-corpus

$ npx epcis.dev validate $CORPUS/valid-standard/object-event-shipping.json
valid	schema=epcis-json-schema.json	version=2.0.1

$ npx epcis.dev hash $CORPUS/valid-standard/object-event-shipping.json
hash	0	ni:///sha-256;e5624abcce4b2fc226743e8891f69c12a07ad508953749d9b9ede6771424f91e?ver=CBV2.0

$ npx epcis.dev translate $CORPUS/xml-translation/object-event-1.2.xml --out out.json
delivered	source=1.2	events=1	fidelity=round-trip-clean
wrote	out.json
```

Three verbs, three verdicts: a validation against the pinned official GS1 EPCIS 2.0.1
schema, the CBV 2.0 §8.9 event hash as an `ni:///sha-256` URI, and a 1.2→2.0
translation delivered round-trip-clean into `out.json` (without `--out`, the full
document JSON prints as stdout line 2). The same engine answers the same three verbs on
this origin — `POST /translate`, `/validate`, `/hash` — with no key.

Transcripts in these docs are executed, never typed: the site build re-runs the cheap
ones against the engine on every build, so a changed engine output fails the build
instead of shipping a stale transcript.

## The map

**Quickstarts**

- [60 seconds with npx](/docs/quickstart/npx/)
- [curl the live doors](/docs/quickstart/curl/)
- [MCP in one paste](/docs/quickstart/mcp/)

**The event model**

- [The event](/docs/event-model/the-event/)
- [who vs capturedBy](/docs/event-model/who-capturedby/)
- [The projection](/docs/event-model/projection/)
- [Hash identity](/docs/event-model/hash-identity/)

**Reference**

- [Identify & translate](/docs/reference/identify-translate/)
- [Validate & hash](/docs/reference/validate-hash/)
- [Conformance & pins](/docs/reference/conformance-pins/)
- [CLI](/docs/reference/cli/)
- [MCP tools](/docs/reference/mcp-tools/)
- [Library](/docs/reference/library/)

**Conformance & testing**

- [The golden corpus](/docs/conformance/golden-corpus/)
- [Run and rejudge](/docs/conformance/run-rejudge/)
- [Pins](/docs/conformance/pins/)
- [CI](/docs/conformance/ci/)

**Seams**

- [Seams](/docs/seams/overview/)

**Errors & refusals**

- [The typed exceptions](/docs/errors/exceptions/)
- [The refusal grammar](/docs/errors/refusals/)

**The machine faces**

- [The machine faces](/docs/machine/)

**Versioning**

- [Versioning & drift](/docs/versioning/)

## Beside this tree

The offer pages — [/translate/](/translate/), [/conformance/](/conformance/),
[/mcp/](/mcp/), [/run-it-yourself/](/run-it-yourself/) — state each door's case; these
docs carry the contracts. The machine faces render from the same sources as the pages:
[/llms.txt](/llms.txt), [/openapi.json](/openapi.json),
[/.well-known/agents.json](/.well-known/agents.json). The dated launch ledger is
[/what-ships-today/](/what-ships-today/). The package's in-tarball manual is
`node_modules/epcis.dev/AGENTS.md` — grep it where you already are.

---

**Proof, not adjectives.** This build could not verify the gateway's test suite green, so no sentence on this page claims a passing run — the last verified run is recorded in the repository's own CI, not here. Live on this origin, no key: POST /translate, /validate, /hash. No conformance attestation has ever been issued. The dated ledger is /what-ships-today/.
