Repository navigation
Onus v0.8.0
Phase 5 complete: environments, the evidence store, traces, the production loop and contract-level scopes (ADR 0010, onus help environments).
- Environments:
onus env create|run|list|destroybuilds a container from a commit andenvironment:in onus.yaml (or the devcontainer). Setup runs once per lockfile and is kept as a warm image; a seed command loads synthetic data. There is no network unless the task's token names hosts, and then only through an egress proxy that allows exactly those hosts. Secrets the token names come fromONUS_SECRET_<NAME>and are redacted from everything stored. - The evidence store: each run leaves a manifest and its artifacts (the log, JUnit XML, OTLP traces) under their sha256 in the repository's git directory;
onus evidence list|showreads it.onus env runprints a test run foronus submit --evidence, and the judge checks it against its manifest. - Traces feed the map:
--traces <otlp.json>ononus map,diffandreportaddstracedcall edges from OpenTelemetry spans, such as an event bus dispatching to a handler. - The production loop:
onus outcomes ingest-revertsfinds reverts in git history,onus outcomes incidentrecords incidents, and--result rolled-backrecords flags turned off and rollbacks. Reverted changes leave an agent setup's record, a recent incident stops it from auto-merging, andonus outcomes backloglists where held-out tests should go. - Contract-level scopes: plans can name
writeComponents(notifications.internal),readContractsandescalateBefore: ["contract:*"];onus token mint --reporesolves them through the map, and the gateway refuses changes to guarded contract files without a granted escalation.
Fixed
onus run-testand the judge's re-runs saw an empty tree with container engines that run in a VM (colima, podman machine), which do not share the host's temporary directories. The commit's files are now copied into the container instead of mounted.
Install
brew install onushq/tap/onus
curl -fsSL https://onushq.com/install.sh | shOr in a workflow: uses: onushq/onus/action@v0.8.0. Each archive is attested: gh attestation verify <archive> --repo onushq/onus.