Evidence CinemaBETTER WORKFLOWS · 5.0.0

Full-body translation draft; independent semantic review is pending. This is not proof of a public release or a completed live run.

Original cartoon replay · eight scenes

Evidence is not a subtitle,it decides how the story ends.

Turn Goal, Source Binding, Finder, Verifier, Ledger, Review, Action and Reconciliation into a cartoon film you can pause, rewind and give an alternative ending.This is not an agent saying it is done: it shows how completion is proved.

Full-body designs of the six original cartoon characters: Captain Root, Scout Pixel, Ledger, Vera, Sentinel and Echo
ORIGINAL CAST · SIX ROLESEach character represents a governance responsibility that another character cannot replace.

Evidence Replay Cinema

Eight scenes: from intent to provable completion

Press play to advance automatically, or inspect each scene on the timeline. The cards on the right connect the images to records, bindings and derived state. The final scene offers two endings: complete evidence or provider outcome unknown.

THE PROOF BEFORE THE END An interactive short film about evidence, state and reconciliation
SANITIZED TEACHING REPLAY · NOT A LIVE RUN
Captain Root raises a baton in a paper-and-brass archive cinema as six characters prepare to follow a glowing filmstrip path
Scene 01 / 08 CONTRACT BOUND
Portrait of Captain Root
Captain RootGOAL KEEPER

First, put the intended outcome on film

Without a frozen goal, scope and acceptance criteria, there is no ending that can be replayed.

00:00 / 01:04
Choose the provider state in the final scene Revalidatable inputs determine the ending; narrators do not vote on it.

The full eight-scene transcript and an alternative ending

Read every scene's dialogue, governance explanation and complete demo records without enabling JavaScript. Playback changes presentation only, never a real run.

These are sanitized teaching records. The cards cover evidence, ledger entries, findings and action state; they do not pretend that every record is the same kind of evidence.

01 · First, put the intended outcome on film

Captain Root raises a baton in a paper-and-brass archive cinema as six characters prepare to follow a glowing filmstrip path
Captain Root · GOAL KEEPER

Without a frozen goal, scope and acceptance criteria, there is no ending that can be replayed.

TaskContract v2 freezes the goal, scope, acceptance, authority and stages; a free-text claim of completion does not change state.

run.created → pending

task-contractcomplete
The goal, scope and acceptance criteria are frozen
id
demo-contract-01
binding
goal · scope · acceptance
digest
sha256:demo-42bd…
ledger-eventcomplete
run.created is the first append-only event
id
demo-event-001
binding
root actor · contract digest
digest
ledger:demo-0001
auto/SKILL.md · contract / state authority
{
  "demo": true,
  "authoritative": false,
  "presentationOnly": true,
  "recordedOutcome": null,
  "ending": "verified",
  "scene": "01",
  "derivedState": "run.created → pending",
  "records": [
    {
      "kind": "task-contract",
      "id": "demo-contract-01",
      "status": "complete",
      "summary": "The goal, scope and acceptance criteria are frozen",
      "binding": "goal · scope · acceptance",
      "digest": "sha256:demo-42bd…"
    },
    {
      "kind": "ledger-event",
      "id": "demo-event-001",
      "status": "complete",
      "summary": "run.created is the first append-only event",
      "binding": "root actor · contract digest",
      "digest": "ledger:demo-0001"
    }
  ]
}

02 · Bind the current source state to the same frame

Captain Root and Sentinel cover a branching paper blueprint with a glass bell while a brass camera captures the current state
Sentinel · SOURCE SENTINEL

If HEAD, index, status, scope or symlinks drift, stop before the next scene and capture again.

The source sentinel binds later evidence, review and actions to the same tree; presentation cannot erase drift.

source captured → fresh

source-bindingcomplete
HEAD, index, status and scoped files are bound
id
demo-source-01
binding
revision · tree · scope
digest
sha256:demo-a81c…
source-sentinelcomplete
The current tree capture supports later freshness checks
id
demo-sentinel-01
binding
files · submodules · symlinks
digest
sentinel:demo-77ea
git.mjs · source binding / sentinel
{
  "demo": true,
  "authoritative": false,
  "presentationOnly": true,
  "recordedOutcome": null,
  "ending": "verified",
  "scene": "02",
  "derivedState": "source captured → fresh",
  "records": [
    {
      "kind": "source-binding",
      "id": "demo-source-01",
      "status": "complete",
      "summary": "HEAD, index, status and scoped files are bound",
      "binding": "revision · tree · scope",
      "digest": "sha256:demo-a81c…"
    },
    {
      "kind": "source-sentinel",
      "id": "demo-sentinel-01",
      "status": "complete",
      "summary": "The current tree capture supports later freshness checks",
      "binding": "files · submodules · symlinks",
      "digest": "sentinel:demo-77ea"
    }
  ]
}

03 · Take evidence from the source, not from a confident tone

Scout Pixel retrieves evidence cards with fingerprints, clocks, links and wax seals from precisely labeled file drawers
Scout Pixel · FINDER

Every card needs a kind, producer, payload, digest, dependency and creation time.

Evidence must pass its kind contract, producer allowlist, payload semantics and recomputed digest before the ledger or completion can consume it.

evidence admitted → reusable while fresh

baseline-checkscomplete
Baseline validation matches the typed payload
id
demo-evidence-11
binding
source · tool · schema
digest
sha256:demo-b113…
test-resultscomplete
The test receipt binds the current revision and command
id
demo-evidence-12
binding
revision · command · outcome
digest
sha256:demo-6f20…
provenance-indexcomplete
Source locators and producer metadata are present
id
demo-evidence-13
binding
producer · observedAt · source
digest
sha256:demo-901e…
evidence.mjs · typed evidence admission
{
  "demo": true,
  "authoritative": false,
  "presentationOnly": true,
  "recordedOutcome": null,
  "ending": "verified",
  "scene": "03",
  "derivedState": "evidence admitted → reusable while fresh",
  "records": [
    {
      "kind": "baseline-checks",
      "id": "demo-evidence-11",
      "status": "complete",
      "summary": "Baseline validation matches the typed payload",
      "binding": "source · tool · schema",
      "digest": "sha256:demo-b113…"
    },
    {
      "kind": "test-results",
      "id": "demo-evidence-12",
      "status": "complete",
      "summary": "The test receipt binds the current revision and command",
      "binding": "revision · command · outcome",
      "digest": "sha256:demo-6f20…"
    },
    {
      "kind": "provenance-index",
      "id": "demo-evidence-13",
      "status": "complete",
      "summary": "Source locators and producer metadata are present",
      "binding": "producer · observedAt · source",
      "digest": "sha256:demo-901e…"
    }
  ]
}

04 · A Verifier looks for the frame nobody wants to see

Vera compares blue and coral filmstrips in an independent projection room, finding a broken frame and mismatched fingerprints
Vera · INDEPENDENT VERIFIER

Keep both supporting and counter-evidence; a finder cannot stamp approval on its own finding.

This scene is explicitly marked as the review-kernel-v2-pilot observe-only branch: Verifier and finder are separate; conflicting results become INCONCLUSIVE, and missing or ambiguous anchors remain blocking. It ends before action and does not claim extra finder/verifier authority for executable workflows.

claim checked → finding open

claim-verificationcomplete
An independent verifier rechecks the claim and exact anchor
id
demo-verify-21
binding
reviewer · work unit · quote
digest
sha256:demo-1c90…
findingopen
Counter-evidence shows a mismatched source fingerprint
id
demo-finding-P1
binding
stable finding id · exact blob
digest
finding:demo-P1
review.mjs · finding / verification separation
{
  "demo": true,
  "authoritative": false,
  "presentationOnly": true,
  "recordedOutcome": null,
  "ending": "verified",
  "scene": "04",
  "derivedState": "claim checked → finding open",
  "records": [
    {
      "kind": "claim-verification",
      "id": "demo-verify-21",
      "status": "complete",
      "summary": "An independent verifier rechecks the claim and exact anchor",
      "binding": "reviewer · work unit · quote",
      "digest": "sha256:demo-1c90…"
    },
    {
      "kind": "finding",
      "id": "demo-finding-P1",
      "status": "open",
      "summary": "Counter-evidence shows a mismatched source fingerprint",
      "binding": "stable finding id · exact blob",
      "digest": "finding:demo-P1"
    }
  ]
}

05 · State is derived by replaying events, not simply written down

Ledger the otter runs a brass film machine: ordered event frames enter on the left and a stage map of ready, waiting and completed states emerges on the right
Ledger · STATE REDUCER

Append-only events pass through a fixed reducer to produce pending, ready, running, completed or blocked.

expectedLedgerDigest blocks stale writers; unknown dependencies, cycles, exhausted budgets or missing evidence reject a transition.

ordered events → derived ready set

ledger-eventcomplete
evidence.attached is appended in order; earlier events are not rewritten
id
demo-event-014
binding
expectedLedgerDigest · root actor
digest
ledger:demo-0014
derived-stateready
The reducer derives verify complete and review ready
id
demo-state-05
binding
contract DAG · ordered events
digest
state:demo-5d3a
ledger.mjs · append-only deterministic reducer
{
  "demo": true,
  "authoritative": false,
  "presentationOnly": true,
  "recordedOutcome": null,
  "ending": "verified",
  "scene": "05",
  "derivedState": "ordered events → derived ready set",
  "records": [
    {
      "kind": "ledger-event",
      "id": "demo-event-014",
      "status": "complete",
      "summary": "evidence.attached is appended in order; earlier events are not rewritten",
      "binding": "expectedLedgerDigest · root actor",
      "digest": "ledger:demo-0014"
    },
    {
      "kind": "derived-state",
      "id": "demo-state-05",
      "status": "ready",
      "summary": "The reducer derives verify complete and review ready",
      "binding": "contract DAG · ordered events",
      "digest": "state:demo-5d3a"
    }
  ]
}

06 · Repair the crack, then inspect the whole reel

Vera inspects a packaged film with a magnifier while a repairer fixes one crack; five bounded repair tickets and a final wide-angle lens lie on the desk
Vera · REVIEW PACKAGE

Local repairs have a fixed budget; a final broad review is still required before an action token.

An immutable review package binds base, head, scope, diff, contract, template and sentinel. Adding a finding later invalidates broad completion.

finding resolved → broad review complete

review-packagecomplete
Base, head, scope and diff manifest are frozen
id
demo-package-31
binding
package digest · sentinel
digest
sha256:demo-9bd2…
findingcomplete
The same stable finding is resolved with evidence
id
demo-finding-P1
binding
repair attempt · package digest
digest
finding:demo-P1
final-broad-reviewcomplete
The complete changed surface is reviewed again after local repair
id
demo-review-32
binding
current head · current sentinel
digest
sha256:demo-b204…
review.mjs · immutable package / bounded repair
{
  "demo": true,
  "authoritative": false,
  "presentationOnly": true,
  "recordedOutcome": null,
  "ending": "verified",
  "scene": "06",
  "derivedState": "finding resolved → broad review complete",
  "records": [
    {
      "kind": "review-package",
      "id": "demo-package-31",
      "status": "complete",
      "summary": "Base, head, scope and diff manifest are frozen",
      "binding": "package digest · sentinel",
      "digest": "sha256:demo-9bd2…"
    },
    {
      "kind": "finding",
      "id": "demo-finding-P1",
      "status": "complete",
      "summary": "The same stable finding is resolved with evidence",
      "binding": "repair attempt · package digest",
      "digest": "finding:demo-P1"
    },
    {
      "kind": "final-broad-review",
      "id": "demo-review-32",
      "status": "complete",
      "summary": "The complete changed surface is reviewed again after local repair",
      "binding": "current head · current sentinel",
      "digest": "sha256:demo-b204…"
    }
  ]
}

07 · Keep the bridge raised: bind permission to this attempt

Sentinel the tortoise blocks a bridge over a ravine; Captain Root presents a single glowing token while Echo waits beside sealed film canisters
Sentinel · SIDE-EFFECT GATE

The action token binds action, provider, resource, revision, review, evidence and the idempotency key.

This is a sanitized teaching replay and issues no real token. Executable workflows must still request actions under their own review contract, source freshness, provider binding and protected authorization. After wrapper invocation, a nonzero exit with an unknown outcome is not automatically a safe failure.

authority checked → one attempt issued

action-tokenissued
A short-lived token binds one provider resource
id
demo-token-41
binding
action · provider · revision
digest
token:demo-redacted
action-attemptready
A single-use reservation awaits the fixed wrapper
id
demo-attempt-41
binding
idempotency key · execution identity
digest
attempt:demo-0041
core.mjs · action issue / execute / consume
{
  "demo": true,
  "authoritative": false,
  "presentationOnly": true,
  "recordedOutcome": null,
  "ending": "verified",
  "scene": "07",
  "derivedState": "authority checked → one attempt issued",
  "records": [
    {
      "kind": "action-token",
      "id": "demo-token-41",
      "status": "issued",
      "summary": "A short-lived token binds one provider resource",
      "binding": "action · provider · revision",
      "digest": "token:demo-redacted"
    },
    {
      "kind": "action-attempt",
      "id": "demo-attempt-41",
      "status": "ready",
      "summary": "A single-use reservation awaits the fixed wrapper",
      "binding": "idempotency key · execution identity",
      "digest": "attempt:demo-0041"
    }
  ]
}

08 · Open the final vault only after reconciliation

Echo the robot aligns with a distant provider beacon at a sunrise archive observatory; receipt rolls, evidence, ledger and review illuminate the completion vault
Echo · RECONCILER

The provider receipt, attempt, source, evidence, ledger, review and terminal sentinel must all match before completion can be declared.

Capture the source again before and after completion, and revalidate acceptance evidence, P0/P1, side effects and live state.

provider receipt matched → completed

provider-reconciliationcomplete
The provider receipt matches the same action attempt
id
demo-receipt-51
binding
provider object · actor · revision
digest
receipt:demo-51a0
completion-decisioncomplete
Evidence, ledger, review and sentinel digests all pass
id
demo-completion-52
binding
terminal source · acceptance
digest
decision:demo-52c8
core.mjs · reconciliation / completion decision
{
  "demo": true,
  "authoritative": false,
  "presentationOnly": true,
  "recordedOutcome": null,
  "ending": "verified",
  "scene": "08",
  "derivedState": "provider receipt matched → completed",
  "records": [
    {
      "kind": "provider-reconciliation",
      "id": "demo-receipt-51",
      "status": "complete",
      "summary": "The provider receipt matches the same action attempt",
      "binding": "provider object · actor · revision",
      "digest": "receipt:demo-51a0"
    },
    {
      "kind": "completion-decision",
      "id": "demo-completion-52",
      "status": "complete",
      "summary": "Evidence, ledger, review and sentinel digests all pass",
      "binding": "terminal source · acceptance",
      "digest": "decision:demo-52c8"
    }
  ]
}

Scene 08: the provider outcome unknown ending

The receipt does not match yet; keep the vault closed

Sending is neither proof of success nor proof of failure. Check the actual provider state first; never blindly resend an unknown outcome.

An unknown attempt requires query reconciliation through the pinned provider. Without fresh absence proof or a successful receipt, there is no completed ending.

provider outcome unknown → indeterminate

action-attemptindeterminate
The wrapper may have sent the request, but its terminal outcome is unknown
id
demo-attempt-41
binding
same attempt · same execution
digest
attempt:demo-0041
completion-decisionopen
An unknown side-effect outcome blocks completion
id
demo-completion-52
binding
provider receipt missing
digest
decision:not-issued
core.mjs · reconciliation / completion decision
{
  "demo": true,
  "authoritative": false,
  "presentationOnly": true,
  "recordedOutcome": null,
  "ending": "unknown",
  "scene": "08",
  "derivedState": "provider outcome unknown → indeterminate",
  "records": [
    {
      "kind": "action-attempt",
      "id": "demo-attempt-41",
      "status": "indeterminate",
      "summary": "The wrapper may have sent the request, but its terminal outcome is unknown",
      "binding": "same attempt · same execution",
      "digest": "attempt:demo-0041"
    },
    {
      "kind": "completion-decision",
      "id": "demo-completion-52",
      "status": "open",
      "summary": "An unknown side-effect outcome blocks completion",
      "binding": "provider receipt missing",
      "digest": "decision:not-issued"
    }
  ]
}
01 · RECOMPUTERecompute the decision

Derive state again from the contract, events, evidence and receipts.

02 · DO NOT RESENDDo not repeat side effects

Provider reconciliation checks what already happened; it does not send the request again.

03 · FAIL CLOSEDStop when the outcome is unknown

A missing receipt, binding drift or unresolved P0/P1 cannot be edited into a completed ending.

Character Atlas

Six cartoon characters, six distinct responsibilities

Select a character to visit its representative scene. A Finder cannot verify its own finding; Ledger derives state only from events; Sentinel does not grant passage because the picture looks good; Echo investigates unknown outcomes without blindly resending.

Source Credits

The film is presentation; code and contracts are authoritative

Every scene points back to existing contracts and implementation in the repository. This page does not create runs, issue action tokens or treat generated illustrations as policy inputs.

Boundary:This page is a sanitized, deterministic teaching replay. Its images and demo JSON cannot authorize push, merge, deploy or any external side effect. Graphs, animation and narration cannot replace typed evidence and provider receipts for the current revision.