Skip to content

feat(run): ground a run's success in an independent verification command#171

Merged
ion-alpha-dev merged 1 commit into
mainfrom
feat/ground-truth-runtime
Jun 29, 2026
Merged

feat(run): ground a run's success in an independent verification command#171
ion-alpha-dev merged 1 commit into
mainfrom
feat/ground-truth-runtime

Conversation

@ion-alpha-dev

Copy link
Copy Markdown
Collaborator

What

A flynn goal run can now take --verify "<command>": a check that confirms the goal actually succeeded. The command runs in a confined sandbox at the working directory after the agent has stopped, so its verdict is the command's real exit code, not anything the model produced. The result is recorded on the run's stream as a check event plus an outcome event that binds the run's success to it, both part of the sealed verifiable record.

Why

A sealed run can prove what the agent did and that the record was not altered, but until now the run's claim of success rested on the model's own judgment of its stop condition. That is an assertion, not evidence. Binding the success to an independent check makes the difference: a run whose check passed is grounded, and a run whose check failed records a success the verifier can show is not backed, so the run's own record fails the ground-truth check rather than overstating the outcome. The check is operator-supplied and run after the agent stops, which is what makes it independent of the model. It is opt-in: with no --verify, a run records no success claim and the ground-truth check is vacuous.

How to verify

go build ./..., go test ./cmd/flynn/, go vet ./cmd/flynn/, and golangci-lint run ./cmd/flynn/ all pass. TestRunVerificationIndependent confirms the verdict is the command's real exit code. TestRunGroundTruthEndToEnd drives a real run, seals it, and asserts a passing check grounds the run (VerifyGroundTruth accepts) while a failing check leaves it not grounded (rejected).

A `flynn goal` run can now take a `--verify "<command>"`: a check that confirms the goal actually succeeded. The command runs in a confined sandbox at the working directory after the agent has stopped, so its verdict is the command's real exit code, not anything the model produced or claimed. The result is recorded on the run's stream as a check event plus an outcome event that binds the run's success to it, both part of the sealed verifiable record.

A run whose check passed is grounded. A run whose check failed records a success the verifier can show is not backed, so the run's own sealed record fails the ground-truth check rather than overstating the outcome. With no `--verify` given, a run records no success claim and the ground-truth check is vacuous, so the behavior is opt-in.

Tested: `TestRunVerificationIndependent` confirms the verdict is the command's real exit code; `TestRunGroundTruthEndToEnd` drives a real run, seals it, and verifies that a passing check grounds the run while a failing check leaves it not grounded.
@ion-alpha-dev ion-alpha-dev merged commit e1607eb into main Jun 29, 2026
12 checks passed
@ion-alpha-dev ion-alpha-dev deleted the feat/ground-truth-runtime branch June 29, 2026 17:05
@github-actions github-actions Bot locked and limited conversation to collaborators Jun 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant