Foundations · Lesson 03 of 04

Declared, observed, and proved

Declared truth is contract intent, observed truth is a bounded witness, and proved truth requires Ota to reconcile the relevant identities and evidence.

LearnFoundationsFoundation7 min read1.6.26+2026-08-24

Learning objectives

  • Define all three truth levels with an example
  • Explain why Ota refuses to treat declared as proved
  • Identify where not_proved boundaries belong

Prerequisites

Declared, observed, and proved are different evidence postures. Ota keeps them separate so a maintainer-authored claim cannot become verified truth merely because it parses.

A practical evidence ladder

A contract declaration is the expected state. An observation is a runner, filesystem, tool, provider, or adapter witness gathered at a defined boundary. A proof claim is available only when Ota can bind the declaration, selected execution, observation, and required identity relationships.

Contract excerpt: task replay-input declaration
tasks:  verify:    replay_inputs:      - id: fixtures        kind: static_file        path: tests/fixtures.json        expected_identity: sha256:<64-lowercase-hex-characters>

Supported, contradicted, and unknown

Contract-claim assurance evaluates available repository evidence without pretending it knows maintainer intent. A claim may be supported, contradicted, or unknown. Unknown is not a weaker spelling of supported; it means the evidence is insufficient for the selected claim.

Canonical terminology

declaredobservedprovednot_proved

Evidence boundary for this lesson

Establishes

  • The worked examples establish the lesson's canonical Ota distinctions for its stated scope.

Does not establish

  • Reading the lesson does not validate a repository, execute its tasks, or establish organizational acceptance.

Knowledge check

An ota.yaml task pins a replay input to a SHA-256 identity. Is that input proved?

The pin is declared expected identity. Ota observes the file at admission and refuses a mismatch; evidence can then show that the observed identity matched for that selected execution. The declaration alone is not proof.

Relevant specifications