Repository navigation
Releases
RuntimeTruth v0.2.4
RuntimeTruth v0.2.4
This release preserves Git working-tree identity for paths containing trailing whitespace and improves snapshot verification input handling.
- Preserve trailing spaces, tabs and newlines in Git working-tree paths when collecting repository identity.
- Report non-UTF-8 snapshots and policy files as input errors instead of uncaught decoding exceptions.
- Require an integer snapshot schema version and a timezone-aware ISO 8601 capture timestamp.
- Add optional
--max-age SECONDSfor plain and signed verification to reject expired or future-dated current snapshots without expiring historical baselines.
Install with pipx install runtimetruth==0.2.4 or python -m pip install runtimetruth==0.2.4 inside a virtual environment.
RuntimeTruth v0.2.3
RuntimeTruth v0.2.3
This release contains fixes to runtime comparison, Git evidence collection, and the optional signed-baseline commands.
- Report a broken or inaccessible Git repository as an inspection error instead of silently dropping its evidence.
- Treat changes between booleans and integers as drift (for example,
trueto1). - Display Cosign's OIDC login instructions while signing and handle executable startup failures without a traceback.
- Keep Cosign optional for ordinary runtime verification. The signing smoke test uses Cosign v3.0.6.
The signed statement format and verification policy are unchanged.
Install with pipx install runtimetruth==0.2.3 or python -m pip install runtimetruth==0.2.3 inside a virtual environment.
RuntimeTruth v0.2.2
RuntimeTruth v0.2.2
This is a packaging and documentation update. Runtime collection, comparison, policy and attestation behaviour are unchanged.
Changed
- The PyPI summary now describes the supported Codex adapter instead of suggesting general AI-agent coverage.
- The published PyPI description matches the current repository README, including the explicit limits of the verification result.
- Releases can be published automatically when the package version changes on
main; versioned metadata and packaging checks run before publication.
Install
pipx install runtimetruth==0.2.2A virtual-environment install is also supported with python -m pip install runtimetruth==0.2.2.
Scope
RuntimeTruth currently supports Codex and limited local system/process/Git inspection. A PASS only means the selected observations match the selected baseline. It is not a certification of agent behaviour, model safety or baseline trust.
RuntimeTruth v0.2.1
RuntimeTruth v0.2.1
RuntimeTruth v0.2.1 is a release-hygiene patch. It does not change runtime collection, diff, policy or attestation semantics.
Fixed
- package-description documentation links are portable when the README is rendered outside GitHub
- the License badge now links to the canonical repository license instead of a repository-relative target
Release hardening
- built wheel and source distributions must pass
twine check --strictin CI - the tag-triggered release workflow performs the same metadata validation before publication
- regression tests keep package and CLI versions aligned
- regression tests require the README public-alpha version and release link to match the package version
- regression tests require the matching changelog entry and release-notes file to exist
- README Markdown link targets are checked for package-index portability
Runtime boundary
There are no runtime-behaviour changes in v0.2.1. The RuntimeTruth trust model, snapshot semantics, policy evaluation, attestation verification and PASS / DRIFT / ERROR contract remain the same as v0.2.0.
Install
pipx install runtimetruth==0.2.1or:
uv tool install runtimetruth==0.2.1Standard virtual-environment installs remain supported:
python -m pip install runtimetruth==0.2.1RuntimeTruth v0.2.0
RuntimeTruth v0.2.0
RuntimeTruth v0.2.0 turns the original runtime-drift CLI into a small, explicit trust pipeline for reviewed AI-agent baselines.
Highlights
- canonical baseline identity with RFC 8785 + SHA-256
- signed baseline statements using in-toto Statement v1 and Sigstore/Cosign
- exact OIDC signer identity and issuer verification
- fail-closed trust verification before current-runtime collection
- persisted schema-v1 TOML policy files for repeated runtime selectors
- policy composition with direct
--protectflags - machine-readable identity/baseline/runtime verification reports
- PyPI distribution through GitHub OIDC Trusted Publishing
Trust flow
reviewed baseline
↓
RFC 8785 canonicalization
↓
SHA-256 digest
↓
canonical in-toto statement
↓
Sigstore/Cosign signature
↓
verify exact signer identity + issuer
↓
verify baseline binding
↓
policy + current runtime
↓
PASS / DRIFT / ERROR
The policy layer cannot weaken the attestation layer: signature, identity and baseline-binding failures stop verification before runtime policy evaluation.
Install
pipx install runtimetruthor:
uv tool install runtimetruthStandard virtual-environment installs are also supported:
python -m pip install runtimetruthBoundary
RuntimeTruth still does not claim that a PASS means an agent is secure, safe or compliant. It proves only the evidence and invariants it explicitly collected and compared.
Broader organizational approval semantics, fleet management and additional agent adapters remain intentionally deferred until external usage justifies them.
RuntimeTruth v0.1.0
RuntimeTruth v0.1.0
RuntimeTruth v0.1.0 is the first public pre-release milestone for the Sidelobe open-source runtime verification project.
What it does
RuntimeTruth captures evidence about an AI agent runtime, compares that evidence semantically, and verifies selected runtime invariants against a caller-controlled baseline.
The first agent-aware vertical slice targets Codex and can establish evidence about:
- installed Codex runtime/version
- canonical resolved workspace configuration
- effective model/provider state materialized for a new ephemeral thread
- approval and sandbox/network settings
- instruction-source paths and file fingerprints
- thread-scoped MCP runtime status and tool-catalog fingerprints
Typical workflow
Capture a baseline:
runtimetruth inspect codex . --resolve-thread --pretty > baseline.jsonVerify the live runtime:
runtimetruth verify baseline.json --codex . --resolve-threadProtect only high-value runtime invariants:
runtimetruth verify baseline.json --codex . --resolve-thread \
--protect codex.thread.model \
--protect codex.thread.approval_policy \
--protect codex.thread.sandbox \
--protect codex.instructionsEmit a machine-readable report:
runtimetruth verify baseline.json --codex . --resolve-thread --jsonExit codes are stable for CI:
0— PASS2— DRIFT1— ERROR
Why this exists
Agent runtime identity is more than source code. Effective model routing, project instructions, sandbox policy and MCP capability surface can change independently.
RuntimeTruth separates:
- declared state
- resolved state
- live evidence
and keeps provenance explicit instead of silently inferring unavailable facts.
Important boundaries
v0.1.0 is pre-release software.
A PASS means the selected evidence matched the selected baseline. It does not certify that an agent is secure, compliant or safe.
RuntimeTruth is currently local-first OSS:
- no account
- no RuntimeTruth telemetry
- no hosted control plane
- no paid support plan
- no SLA
See Trust model, Data handling, Security and Support before using RuntimeTruth as a CI gate.