Shared protocols

August 16, 2026 ยท View on GitHub

These ten Markdown contracts define the harness-neutral behavior of THE LOOP. Harness adapters translate local discovery and invocation details into these contracts; they do not change the contracts themselves.

Contract index

ContractPurposeRequirement prefix
Stage contractsCommon stage inputs, outputs, done gates and halt rulesSTG
Skill routingCapability detection, ranking, rejection and bundled fallback selectionRTE
Code and non-code tracksTrack-specific preparation and evidence under shared safety rulesTRK
Workflow dispatchLifecycle selection, handoffs and completion boundariesDSP
Autonomy policyDefault authority, elevation, warnings, revocation and invariantsAUT
Run state and leasesOwnership, authoritative state, recovery, budgets and kill switchesRUN
Issue ledgerDefect lifecycle, blocking rules and regression closureISS
Evidence contractReproducible proof, outcomes and environment recordsEVD
Watcher contractRead-only monitoring, staleness and escalationWAT
Harness capability mapDiscovery and evidence-scoped behavior status across target harnessesCAP

Normative language

MUST, MUST NOT, REQUIRED, SHALL and SHALL NOT are normative. Each normative statement carries a stable identifier in square brackets. SHOULD, SHOULD NOT and MAY are guidance unless a referenced requirement makes them mandatory.

The JSON Schemas in schemas/ are the machine-readable record shapes. These protocols define cross-record and workflow semantics that schema validation alone cannot express. If a schema and protocol appear to disagree, execution fails closed and the conflict is recorded as an issue; adapters do not choose a convenient interpretation.

Versioning

Requirement identifiers remain stable after release. A behavioral replacement receives a new identifier and the superseded rule stays discoverable in Git history. Contract changes require repository validation, contradiction review and the same evidence discipline as code changes.