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.
- npx — npx epcis.dev runs the same engine on your bench, with the proof fixtures shipped inside the package: 60 seconds with npx.
- MCP — one paste wires a client; the same tools answer at POST /mcp on this origin: MCP for agents.
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
delivered source=1.2 events=1 fidelity=round-trip-clean
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. 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
The event model
Reference
Conformance & testing
Seams
Errors & refusals
The machine faces
Versioning
Beside this tree
The offer pages — /translate/, /conformance/, /mcp/, /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, /openapi.json, /.well-known/agents.json. The dated launch ledger is /what-ships-today/. The package's in-tarball manual is node_modules/epcis.dev/AGENTS.md — grep it where you already are.
We answer in writing. We take at most five conversations a month, only when you ask for one, and only after you already have the written read.