Both runs' records agree. Every check behind this is on Proof

Diff

A is the baseline demo-run-1 · 2e20c85ebe53; B is the candidate demo-run-2 · cc4959ef9191.

The short answer

The runs first differ at model, where seed went from 42 to 17.

Same: 4 · differ: 3.

  1. requestSame
  2. contextSame
  3. tests#1Same
  4. tests#2Same
  5. modelFirst difference
  6. proposalChanged after it
  7. config appliedChanged after it

Checked from the records. The same answer every time.

What changed between the two runs

The two runs differ.

tests ×2

A link shows which recorded output a stage read. It does not by itself prove that one stage caused the next.

#nodebaselinecandidateannotationsresult
1request11Same
2context22Same
3tests (1st)33Same
4tests (2nd)44Same
5model55instrument config_digest differs: sha256:a125ee0261f9… -> sha256:157ee8ba61da…; constant seed differs; output model-output.json differs
Each fingerprint in fullsha256:a125ee0261f9a07bf3f58e1baba061c3a111d63624a66ddef6e1fa0477009a27sha256:157ee8ba61daebe690746b2142fe14b7afa765cb0e3a9de80063e94b79c8fbf8
First difference
6proposal66input model-output.json differs; output proposal.json differsChanged after it
7config applied77input proposal.json differs; output auth.json differsChanged after it

model: seed differs.

Settings that changed

StageSettingBaselineCandidate
modelseed4217
Details
StageSettingBaselineCandidate
modelconfig_digest
sha256:a125ee02…009a27sha256:a125ee0261f9a07bf3f58e1baba061c3a111d63624a66ddef6e1fa0477009a27
sha256:157ee8ba…c8fbf8sha256:157ee8ba61daebe690746b2142fe14b7afa765cb0e3a9de80063e94b79c8fbf8

The text diff

Shown with at most 200 lines per output (the SDK's default).

Open the text diff on its own page

first difference: model — output text changed; settings changed

model · First difference

settings: 2 changed

configuration fingerprint: differs, both values under Details

seed: 42 → 17

Details

config_digest: a125ee0261f9 → 157ee8ba61da

model-output.json application/json Baseline: verified Candidate: verified

1 line removed · 1 added

11  {
22    "action": {
33      "changes": {
4-       "auth_env": "production"
4+       "auth_env": "staging"
55      },
66      "target": "auth_service",
77      "type": "modify_config"

proposal · Changed after it

settings: none changed

input model-output.json (operator-authored) changed: 30e8e872af1f -> 3e6759062698; content not stored

proposal.json application/json Baseline: verified Candidate: verified

1 line removed · 1 added

11  {
22    "changes": {
3-     "auth_env": "production"
3+     "auth_env": "staging"
44    },
55    "target": "auth_service",
66    "type": "modify_config"

config applied · Changed after it

settings: none changed

input proposal.json (operator-authored) changed: 37520e6db342 -> bae93e89f127; content not stored

auth.json application/json Baseline: verified Candidate: verified

1 line removed · 1 added

11  {
2-   "auth_env": "production"
2+   "auth_env": "staging"
33  }

Command: onetrace diff runs/demo-run-1 runs/demo-run-2 --text

Repeat this yourself:

onetrace diff runs/demo-run-1 runs/demo-run-2
Not shown for graph-shaped runs: where the change started, and other runs that recorded the same value.

This console draws where the change started only for two linear runs; the SDK's localize report for this pair is below, as it wrote it.

The localize report as the SDK wrote it, with names from the records escaped
baseline   (the baseline run's folder)  demo-run-1  (run)
candidate  (the candidate run's folder)  demo-run-2  (run)

localize: diverged

node            A     B     verdict
--------------------------------------------------------------------
request         1     1     same
context         2     2     same
tests#1         3     3     same
tests#2         4     4     same
model           5     5     FIRST DIFFERENCE
                            instrument config_digest differs: sha256:a125ee0261f9a07bf3f58e1baba061c3a111d63624a66ddef6e1fa0477009a27 -> sha256:157ee8ba61daebe690746b2142fe14b7afa765cb0e3a9de80063e94b79c8fbf8
                            constant seed differs
                            output model-output.json differs
proposal        6     6     downstream
                            input model-output.json differs
                            output proposal.json differs
config applied  7     7     downstream
                            input proposal.json differs
                            output auth.json differs

first difference  model
comparisons performed 7 of 7 nodes; same 4, FIRST DIFFERENCE 1, downstream 2, reconverged 0, COULD NOT CHECK 0

CAUSE at node 'model'
  instrument   stand-in-model  1.0.0 -> 1.0.0
  config       a125ee0261f9 -> 157ee8ba61da
    constant seed differs
  blast radius not applicable — run-scoped

carried:
  [baseline] [NOT-RUN] originality on 7 receipts -- record is declared unanchored; this verifier can establish consistency, not originality
  [candidate] [NOT-RUN] originality on 7 receipts -- record is declared unanchored; this verifier can establish consistency, not originality
signing [baseline]: [SIGNED-UNTRUSTED] signatures/1.json: signature -- signed by an untrusted key sha256:6e20550ae0dc6b4471d54336d09d74d14f3f623b735045eddd053c444ec3b14c -- signer not on the reader's trust list
signing [candidate]: [SIGNED-UNTRUSTED] signatures/1.json: signature -- signed by an untrusted key sha256:6e20550ae0dc6b4471d54336d09d74d14f3f623b735045eddd053c444ec3b14c -- signer not on the reader's trust list

Repeat this yourself:

onetrace localize runs/demo-run-1 runs/demo-run-2

Other runs that recorded the same value are not looked for: this console doesn't match a graph comparison's first differences against other runs.

What may have happened

This demo kept no explanation of this comparison.

This record shows what was verified and evaluated at the time — not what was ultimately true.