Skip to main content

Deterministic Boundaries

Verification is the acceptance boundary for the system.

The operator does not need to specify the solution. The operator needs to specify the goal and a deterministic way to verify success.

Why this exists

Without a deterministic acceptance boundary, a run can look plausible while still being wrong.

Verification gives the runtime a clear condition:

  • if verification passes, the result is accepted
  • if verification fails, the runtime retries or fails

How it works

There are two verification layers:

  • capability default verification
  • per-run verify

Capability default verification usually handles structural checks:

  • required fields exist
  • types are correct
  • basic schema constraints hold

Per-run verify handles domain acceptance:

  • amount must be greater than zero
  • title must contain expected text
  • result URL must match the intended domain

Example

verify(result) {
const passed =
result.title.length > 5 &&
result.url.startsWith("http") &&
result.sourceURL.includes("news.ycombinator.com");

if (passed) {
return {
passed: true,
};
}

return {
passed: false,
reason: `Unexpected Hacker News result: ${JSON.stringify(result)}`,
};
}

Notes

Common confusion

Verification is not a vague quality signal. It is deterministic acceptance logic.

Current

The current runtime normalizes boolean and structured verifier outputs into one internal verification shape before writing the trace.