File formats
Persisted formats
Every document phax writes starts with $schema, naming its format and the phax release that wrote it; every shape phax has written since that first release stays readable, and an older document without $schema is read by its format's pre-schema shape or reported unsupported.
Everything in this table comes from @lbdremy/phax-schemas, and parseDocument reads any document carrying $schema, whatever its format.
Read phax files from code
Reading phax's persisted files from another tool — a dashboard, a cockpit, a docs pipeline — needs only the schemas package, not phax itself:
Each commit on phax/records/v1 holds only its own record, so git show phax/records/v1:<path> sees only the newest one; find a record by its commit trailers (Run-Id and Phase-Id for a phase, Authoring-Id for an authoring session) as above. To walk the whole branch, list its commits (git log phax/records/v1 --format=%H), read the record.json each one holds (git ls-tree -r --name-only <sha>, then git show <sha>:<path>) and give it to parseRecordManifest, which accepts either manifest shape.
For a docs pipeline that renders a format's JSON Schema, read it straight from the installed package: node_modules/@lbdremy/phax-schemas/json/<format>.schema.json.
A parse failure is a value, never an exception — parsed.ok is false, with a path and a message. Every document stays readable: an older shape still parses, upgraded in memory to the latest shape by its toLatest* function (a fact phax did not yet track becomes { kind: "unknown" }), while a document written by a phax release newer than the installed package fails, asking you to upgrade @lbdremy/phax-schemas.
Served JSON Schemas
Every $schema URL a released phax writes is served here, byte for byte:
https://docs.phax.run/schemas/authoring-record-manifest/0.17.0.jsonhttps://docs.phax.run/schemas/compliance-review/0.17.0.jsonhttps://docs.phax.run/schemas/gate-attribution/0.17.0.jsonhttps://docs.phax.run/schemas/gate-diagnostics/0.17.0.jsonhttps://docs.phax.run/schemas/gate-pending/0.17.0.jsonhttps://docs.phax.run/schemas/phase-file-reconciliation/0.17.0.jsonhttps://docs.phax.run/schemas/phase-record-manifest/0.17.0.jsonhttps://docs.phax.run/schemas/phase-status/0.17.0.jsonhttps://docs.phax.run/schemas/phax-plan/0.17.0.jsonhttps://docs.phax.run/schemas/plan-approvals/0.17.0.jsonhttps://docs.phax.run/schemas/plan-document/0.17.0.jsonhttps://docs.phax.run/schemas/registry/0.17.0.jsonhttps://docs.phax.run/schemas/run-status/0.17.0.jsonhttps://docs.phax.run/schemas/spec-approvals/0.17.0.jsonhttps://docs.phax.run/schemas/spec-document/0.17.0.json