A portable inspect-act-verify contract for autonomous agent systems.
The contract describes a local-first operating loop:
- ingest evidence
- assess quality, risk, and ownership
- plan bounded work
- promote explicit tasks
- execute only policy-allowed work
- audit with receipts
- review outcomes
- replan from evidence
- confirm results
This repository is intentionally independent from Annunimas. It provides a small reference validator, schemas, config examples, and a file-only demo that other projects can adapt without inheriting Annunimas paths, agent names, or runtime services.
agent-loop-contract is the portable operating-loop specification behind ARDA's
inspect-act-verify discipline. It lets any autonomous project describe evidence,
quality assessment, task promotion, execution permission, audit receipts, and
confirmation without depending on Annunimas-specific storage or services.
cargo run -- check examples/demo-config.toml examples/demo-cycle.jsonExpected output:
agent-loop-contract: ok
config: examples/demo-config.toml
cycle: examples/demo-cycle.json
stages: ingest, assess, plan, task, execute, audit, review, replan, confirm
mutation_default: no-mutation
flowchart TB
Evidence[Evidence Inputs] --> Ingest[Ingest]
Ingest --> Assess[Assess Quality, Risk, Ownership]
Assess --> Plan[Plan Bounded Work]
Plan --> Task[Promote Explicit Tasks]
Task --> Execute[Policy-Allowed Execution]
Execute --> Audit[Audit Receipts]
Audit --> Review[Review Outcomes]
Review --> Replan[Replan from Evidence]
Replan --> Confirm[Confirm Results]
Confirm --> NextCycle[Next Inspect-Act-Verify Cycle]
Agent Loop Contract is ARDA's portable inspect-act-verify spine. It defines the evidence, task promotion, execution, audit, review, replanning, and confirmation shape that the other ARDA repos can reference without inheriting Annunimas- specific runtime paths.
Active Rust validator and schema contract. It is intentionally not an execution engine; integrations should keep project-specific runners outside this crate and feed the validator local receipts.
The reference CLI validates two local files:
- a TOML loop config that defines the project root, stages, and policy defaults;
- a JSON cycle receipt that records a single inspect-act-verify cycle.
The validator is deliberately conservative. A cycle is valid only when:
- all required stages are configured in canonical order;
- mutation defaults to
no-mutation; - every task promotion declares evidence anchors;
- execution is either explicitly policy-allowed or absent;
- confirmation has at least one audit receipt.
src/ Reference Rust validator
schemas/ Machine-readable config and cycle schemas
examples/ Local-file demo config and cycle receipt
.github/workflows/ CI gates for fmt, tests, clippy, docs, and smoke
This project is a contract and validator, not an autonomous execution engine. It does not call external services, mutate task queues, or publish results. Integrations should keep project-specific runners outside this crate and feed this validator local receipts.
MIT