Part of the Runlog project — see the project home for the overview.
Repo: runlog-org/runlog-schema — public, Apache-2.0
Content: YAML + JSON Schema (Draft 2020-12)
Role: the contract that pins what entries and session manifests look like. Pinned to a specific version by runlog-verifier and the server.
Single source of truth for:
entry.schema.yaml— submission YAML structure, includingcassette(integration cassette shape) andverificationblocks as nested$defsmanifest.schema.yaml— session manifest the agent submits withrunlog_report
Additional contract surfaces (signed-bundle output, registered $PLACEHOLDER vocabulary) are documented in the private architecture docs and consumed by the verifier directly; they are not yet split out as standalone schema files in this repo.
Semver-versioned. Downstream consumers (runlog-verifier, runlog (server), runlog-skills) pin to a specific schema version. Backward-incompatible changes require a major bump and coordinated release across consumers.
- Go module — the repo root is itself the Go module
github.com/runlog-org/runlog-schema. Consumers doimport "github.com/runlog-org/runlog-schema"and callEntrySchemaYAML()/ManifestSchemaYAML()(or the…JSONvariants for libraries that don't accept YAML). Seeschema.goandDECISIONS.md§"Distribution: Go module layout" for the layout rationale. - Python package —
generators/python/holds the publishable Python distributionrunlog-schema, mirroring the Go API (entry_schema_yaml(),manifest_schema_yaml(),entry_schema_json(),manifest_schema_json(),schema_version(),SCHEMA_VERSION). Built withhatchling; bundles a CI-gated copy of the canonical YAML files underrunlog_schema/_data/. PyPI publish is a separate slice. Seegenerators/python/README.mdandDECISIONS.md§"Distribution: Python package layout (F28c)".