Reference

Proof Evidence and Honest Boundaries

Read proof level, freshness, lifecycle evidence, and not-proved scope without overclaiming.

referenceautomation buildersadvancedstable2026-07-31

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_tested may retain dependency_output_shaping_not_proved when the evidence covers causality but not wider output correctness

Freshness is per prerequisite

  • cold_start_verified requires an absent or cleared isolated target plus producer and consumer evidence from the current run
  • persistent_state_reused records verified pre-existing target state
  • unknown remains when Ota cannot attest prior state or lineage
  • a package cache may assist reconstruction while a fresh .venv or node_modules target 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_terminated names 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
Lifecycle proofbash
ota proof lifecycle --workflow integration --json --archive

Machine-consumer rule

  • read proof_verdict, not only top-level ok
  • 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
Bounded proofjson
{  ok: true,  proof_verdict: "passed_with_unproven_boundaries",  not_proved: [    {      kind: "dependency_output_shaping_not_proved"    }  ]}

Examples and deeper reference