This directory defines runtime-agnostic behavior contracts for Recurgent Agent.
Purpose:
- Keep one canonical behavioral contract across runtimes.
- Let each runtime (Ruby, Lua) implement local mechanics while preserving identical semantics.
- Make parity testable before and during Lua implementation.
specs/contract/
README.md
v1/
agent-contract.md # normative behavioral contract
programs.yaml # abstract generated-program semantics
scenarios.yaml # runtime-agnostic test scenarios
tolerant-delegation-profile.md # tolerant delegation profile
tolerant-delegation-scenarios.yaml # tolerant profile scenarios
recurgent-log-entry.schema.json # machine-readable schema for one JSONL log entry
recurgent-log-stream.schema.json # schema for jq-slurped JSONL stream arrays
simulation-preparedness.contract.yaml # readiness gate contract for simulation activation
simulation-run-ledger.schema.json # schema for simulation run evidence records
simulation-scenario-pack.schema.json # schema for scenario-pack contract surface
simulation/
scenario-packs/
calculator-core-v1.yaml # class-1 deterministic calculator core pack
calculator-edge-v1.yaml # class-1 deterministic calculator edge/error pack
conformance.md # harness guidance for runtime implementations
Each runtime should implement a local contract harness that:
- Loads
v1/scenarios.yamlandv1/tolerant-delegation-scenarios.yaml. - Maps
program_idvalues to runtime-local generated code (Ruby or Lua). - Executes scenarios against that runtime's
Agent. - Reports pass/fail per scenario id.
v1/is the current baseline.- New incompatible contract changes require a new version directory (
v2/). - Runtime implementations should explicitly declare which contract version they pass.