Kontour Flow Agents — delivery workflow
The trust.bundle a Flow Agents delivery run emits as its own receipt: every workflow check (build, source-tree validation, verification) recorded as a claim with its evidence and status.
These are the statuses the validator works out from the evidence, not the ones written in the file. Run the command further down and you get this row back.
In plain language
Everything it claimed came back supported.
Check it yourself
Download the raw .bundle above and run it through @kontourai/surface — our implementation of the Hachure trust.bundle format, an open spec we publish schemas for but don't own the definition of. The command prints the same status row this page shows, and exits non-zero if the artifact isn't a well-formed trust.bundle.
Want a second opinion from a different codebase? The hachure reference CLI reads the same file against the spec's own schemas and reaches the same verdict. Both are still maintained by us — the implementations are independent, the organization behind them isn't yet.
Prefer the library directly? The CLI just calls it:
Open questions
Straight from the validator's own transparencyGaps and high-impact-unsupported lists — the same lines the command above prints. Not a count this site works out for itself.
0 transparency gapsNothing contradicts anything else, no policy went unsatisfied, and no evidence has aged past what its policy allows.
Claims the run marked high-impact that no verified evidence stands behind. In these receipts that is what a disclosed waiver looks like: the run wrote down what it couldn't stand behind instead of leaving it out. The wording is the run's own, verbatim.
All flow-agents-constructed Claim objects write facet (not surface) and schemaVersion 5, except the documented hachure@0.5.1-constrained veritas-governance adapter exception
surface-2-facet-migration-all-flow-agents-constructed-claim-objects-write-facet-not-surface-and-schemaversion-5-except-the-documented-hachur…
package.json declares @kontourai/surface ^2.0.0
surface-2-facet-migration-package-json-declares-kontourai-surface-2-0-0.flow-agents-workflow.package-json-declares-kontourai-surface-2-0-0
Full CI baseline (evals/ci/run-baseline.sh, all lanes) passes clean
surface-2-facet-migration-full-ci-baseline-evals-ci-run-baseline-sh-all-lanes-passes-clean.flow-agents-workflow.full-ci-baseline-evals-ci-ru…
node scripts/ci/trust-reconcile.js --bundle delivery/trust.bundle exits 0
surface-2-facet-migration-node-scripts-ci-trust-reconcile-js-bundle-delivery-trust-bundle-exits-0.flow-agents-workflow.node-scripts-ci-trust…
Provenance
Committed by the Flow Agents delivery pipeline with kontourai/flow-agents#277 (the @kontourai/surface 2.0.0 migration) and taken verbatim from delivery/trust.bundle at that merge commit on main.
Recomputing tells you the file is internally consistent and hasn't been edited since. It doesn't tell you nobody rewrote the evidence before publishing — that's what the pinned commit is for. Follow it and compare.
Evidence
npm run check:content-boundary --
surface-2-facet-migration/evidence.json
npm run validate:source --
surface-2-facet-migration/evidence.json
npm run context-map -- --check
surface-2-facet-migration/evidence.json
bash evals/run.sh static
surface-2-facet-migration/evidence.json
bash evals/integration/test_veritas_governance_kit.sh
surface-2-facet-migration/evidence.json
true # package.json declares "@kontourai/surface": "^2.0.0" (npm view @kontourai/surface version => 2.0.0)
surface-2-facet-migration/evidence.json
true # npm run build (tsc -p tsconfig.json) compiles cleanly with no errors
surface-2-facet-migration/evidence.json
true # npm run test:unit -> 35/35 node --test pass (also exercised inside Static eval suite's test_unit_helpers.sh)
surface-2-facet-migration/evidence.json
true # re-grep of src/, scripts/ci/, kits/, evals/ for Claim.surface write sites (.surface, surface:, "surface") found zero remaining sites outside the documented hachure@0.5.1-constrained veritas-governance adapter exception
surface-2-facet-migration/evidence.json
true # bash evals/ci/run-baseline.sh (all 3 required lanes, 37 checks) ran clean locally (0 failed, 3 expected skips) and independently in CI: PR #277 'Runtime and Kit' (https://github.com/kontourai/flow-agents/actions/runs/28610346124/job/84840941025), 'Workflow Contracts' (https://github.com/kontourai/flow-agents/act…
surface-2-facet-migration/evidence.json
true # node scripts/ci/trust-reconcile.js --bundle delivery/trust.bundle exits 0 locally against the small reconcilable-claim set above, zero divergences
surface-2-facet-migration/evidence.json
The artifact
The unedited claim list as it sits in the file. The wording is the pipeline's own note-taking — written for the next run, not for reading — and it's here so you can check that the summary above didn't quietly skip anything.
| Derived status | Subject / field | Type · facet | Value |
|---|---|---|---|
| verified | surface-2-facet-migration/content-boundarynpm run check:content-boundary -- | workflow.check.commandflow-agents.workflow | pass |
| verified | surface-2-facet-migration/source-tree-validationnpm run validate:source -- | workflow.check.commandflow-agents.workflow | pass |
| verified | surface-2-facet-migration/context-map-driftnpm run context-map -- --check | workflow.check.commandflow-agents.workflow | pass |
| verified | surface-2-facet-migration/static-eval-suitebash evals/run.sh static | workflow.check.commandflow-agents.workflow | pass |
| verified | surface-2-facet-migration/veritas-governance-kit-integrationbash evals/integration/test_veritas_governance_kit.sh | workflow.check.commandflow-agents.workflow | pass |
| verified | surface-2-facet-migration/surface-dependency-bumptrue # package.json declares "@kontourai/surface": "^2.0.0" (npm view @kontourai/surface version => 2.0.0) | workflow.check.policyflow-agents.workflow | pass |
| verified | surface-2-facet-migration/typescript-buildtrue # npm run build (tsc -p tsconfig.json) compiles cleanly with no errors | workflow.check.policyflow-agents.workflow | pass |
| verified | surface-2-facet-migration/unit-tests-standalonetrue # npm run test:unit -> 35/35 node --test pass (also exercised inside Static eval suite's test_unit_helpers.sh) | workflow.check.policyflow-agents.workflow | pass |
| verified | surface-2-facet-migration/facet-migration-grep-audittrue # re-grep of src/, scripts/ci/, kits/, evals/ for Claim.surface write sites (.surface, surface:, "surface") found zero remaining sites outside the documented hachure@0.5.1-constrained veritas-governance adapter exception | workflow.check.policyflow-agents.workflow | pass |
| verified | surface-2-facet-migration/ci-baseline-full-registrytrue # bash evals/ci/run-baseline.sh (all 3 required lanes, 37 checks) ran clean locally (0 failed, 3 expected skips) and independently in CI: PR #277 'Runtime and Kit' (https://github.com/kontourai/flow-agents/actions/runs/28610346124/job/84840941025), 'Workflow Contracts' (https://github.com/kontourai/flow-agents/actions/runs/28610346124/job/84840941011), and 'Usage Feedback' (https://github.com/kontourai/flow-agents/actions/runs/28610346124/job/84840940977) jobs all PASS, running the full run-baseline.sh registry directly (not via trust-reconcile's slower one-by-one re-run path) | workflow.check.policyflow-agents.workflow | pass |
| verified | surface-2-facet-migration/trust-reconcile-local-verifytrue # node scripts/ci/trust-reconcile.js --bundle delivery/trust.bundle exits 0 locally against the small reconcilable-claim set above, zero divergences | workflow.check.policyflow-agents.workflow | pass |
| proposed | surface-2-facet-migration/all-flow-agents-constructed-claim-objects-write-facet-not-surface-and-schemaversion-5-except-the-documented-hachure-0-5-1-constrained-veritas-governance-adapter-exceptionAll flow-agents-constructed Claim objects write facet (not surface) and schemaVersion 5, except the documented hachure@0.5.1-constrained veritas-governance adapter exception | workflow.acceptance.criterionflow-agents.workflow | pending |
| proposed | surface-2-facet-migration/package-json-declares-kontourai-surface-2-0-0package.json declares @kontourai/surface ^2.0.0 | workflow.acceptance.criterionflow-agents.workflow | pending |
| proposed | surface-2-facet-migration/full-ci-baseline-evals-ci-run-baseline-sh-all-lanes-passes-cleanFull CI baseline (evals/ci/run-baseline.sh, all lanes) passes clean | workflow.acceptance.criterionflow-agents.workflow | pending |
| proposed | surface-2-facet-migration/node-scripts-ci-trust-reconcile-js-bundle-delivery-trust-bundle-exits-0node scripts/ci/trust-reconcile.js --bundle delivery/trust.bundle exits 0 | workflow.acceptance.criterionflow-agents.workflow | pending |
| verified | surface-2-facet-migration/reviewClaim.surface -> Claim.facet migration reviewed: 26 files migrated (production code, kit adapter test, and eval/fixture bundles), @kontourai/surface bumped to ^2.0.0, schemaVersion literals bumped to 5 wherever flow-agents constructs a bundle. One deliberate exception (kits/veritas-governance/adapter/readiness-to-trust-bundle.mjs) stays on the legacy surface/schemaVersion-3 shape and is clearly labeled, because its output is validated by @kontourai/flow's vendored hachure@0.5.1 schema (enum [2,3,4], surface required), which has not shipped the facet-rename bump yet -- confirmed by a real test failure (test_veritas_governance_kit.sh) when the migration was first attempted there, then reverted with an explanatory comment. Full CI baseline (evals/ci/run-baseline.sh, all 3 lanes, 37 checks) passes clean locally and in CI (PR #277 Runtime and Kit / Workflow Contracts / Usage Feedback jobs). node scripts/ci/trust-reconcile.js --bundle delivery/trust.bundle exits 0 with zero divergences against a small, fast, representative reconcilable-claim set (content-boundary, source-tree-validation, context-map-drift, static-eval-suite, veritas-governance-kit-integration) -- narrowed from an initial one-claim-per-manifest-command design after that heavier design tripped trust-reconcile's 180s-per-command CI timeout on the two slowest suites (test_workflow_sidecar_writer.sh, antigaming-suite.sh), which independently pass in 2m6s/1m18s locally and in the CI jobs that run the full registry directly. | workflow.critique.reviewflow-agents.workflow | pass |