Reference
Proof Evidence and Honest Boundaries
Read proof level, freshness, lifecycle evidence, and not-proved scope without overclaiming.
Recommended next
Proof must name its scope
A green command is not automatically proof of application behavior, dependency causality, cold setup, lifecycle closure, or the whole repository.
Ota publishes the strongest claim supported by runner-authored evidence and carries the remaining boundary in not_proved[].
Dependency evidence ladder
Reachable
The selected dependency seam satisfied transport or readiness evidence. This does not prove the application exercised meaningful dependency behavior.
Exercised
A transaction-bound observer recovered runner-issued evidence through the declared dependency or Ota verified dependency-side state for the same obligation.
Fault tested
A separate negative-control transaction produced a validated same-obligation failure attestation for the expected missing-effect reason.
- caller-side traces are supporting evidence and cannot promote a dependency to
exercised - an observer that merely exits zero cannot prove exercise
- an unrelated non-zero control cannot prove
fault_tested - even
fault_testedmay retaindependency_output_shaping_not_provedwhen the evidence covers causality but not wider output correctness
Freshness is per prerequisite
cold_start_verifiedrequires an absent or cleared isolated target plus producer and consumer evidence from the current runpersistent_state_reusedrecords verified pre-existing target stateunknownremains when Ota cannot attest prior state or lineage- a package cache may assist reconstruction while a fresh
.venvornode_modulestarget still qualifies as cold for that asserted prerequisite - services, databases, and volumes remain unknown until an adapter supplies trustworthy boundary and state evidence
Lifecycle proof is a separate transaction
- cleanup authority is acquired before Ota starts a service it owns
- pre-existing or unknown services are not silently claimed
- cleanup runs after acquired ownership on success, failure, and interruption
boundary_terminatednames Ota's exact ephemeral session; it does not claim host-wide process absence- archive verification re-derives lifecycle selection, dependency closure, and teardown authority from the archived contract snapshot
ota proof lifecycle --workflow integration --json --archiveMachine-consumer rule
- read
proof_verdict, not only top-levelok - read
not_proved[]before promoting a selected-lane result - keep execution success, proof breadth, freshness, dependency evidence, and lifecycle closure as separate fields
- reject missing or contradictory evidence through the published JSON schemas instead of reconstructing claims from logs
{ ok: true, proof_verdict: "passed_with_unproven_boundaries", not_proved: [ { kind: "dependency_output_shaping_not_proved" } ]}