:warning: This file is project documentation, not part of the source code.
RACT 0.2.0 is the Provenance and Invariants release. It moves the project from a broad scaffold of CLI verbs to a claim-and-verify architecture: every artifact carries a signed Rootknot, every plan step declares assumptions with a four-state lifecycle, and the recursion loop halts on explicit, externally verifiable termination causes. The release also ships a published threat model, capability-based provider routing, and a reproducible eval harness.
This release directly addresses the depth-of-craft critique: fewer shallow competitive claims, more load-bearing invariants, and evidence committed in evals/runs/.
Rootknot in src/ract/core/rootknot.py — every artifact is bound to its plan step, assumption, generator, and parent artifacts.src/ract/core/keys.py — each rootknot is signed by the generator session key.verify_workspace in src/ract/core/provenance.py — checks invariants RK-1 and RK-2 before every recursion step.Assumed[T] and the assumption registry in src/ract/core/assumption.py.proposed, active, discharged, violated.src/ract/core/loop.py: completion, regression, provenance violation, assumption cascade, budget exhaustion, handshake block, and provider fault.ProgressOracle and MilestoneOracle are now scheduling heuristics; final authority rests on predicate evaluation.SafetyGuardrail and Chesterton's Fence wired into the executor.docs/THREAT_MODEL.md and docs/ADRs/ADR-0004-tool-execution-threat-model.md.InferenceRouter selects providers by capability hint and health.HandshakeRegistry manages pending, approved, and rejected handshakes.src/ract/core/schemas/plan-v1.json with migration support.PlanValidator enforces the schema at the boundary.evals/tasks/.evals/runs/.ract eval run supports per-provider benchmarking.AUTHOR.md.rootact to ract everywhere.Assumed[T] vocabulary replaces the previous Rooted[T] naming.| Metric | Value |
|---|---|
| Tests | 1079+ passed |
| Line coverage | 89% |
ruff check src tests scripts |
clean |
mypy src tests |
clean |
| Plan schema validation | enforced |
| Eval reports | committed |
pip install ract==0.2.0
Or from source:
git clone https://github.com/LucRoot/RACT.git
cd RACT
git checkout v0.2.0
./scripts/install.sh --local --venv
ract --version
ract doctor
ract config validate
ract provider health
rootact to ract.Rooted[T] with Assumed[T]._ROOT_KNOT sentinel is retained as a legacy fallback through 0.2.0 and will be removed in 0.3.0.