Evidence-based task completion
Execution completion and verified success are different facts. A model finishing its reply does not prove the requested work happened.
Task requirements
A task can carry a requirements object with workflow, criteria, privacy, and max_recoveries. No criteria means unverified, preserving ordinary chat without inventing evidence.
{
"message": "Calculate (128+64)*3 using the calculator",
"requirements": {
"workflow": "calculation",
"privacy": "local_only",
"criteria": [{"kind": "calculation_matches", "value": "576"}],
"max_recoveries": 1
}
}
Initial checks
tool_succeeded: require a successful actual invocation of the named tool.calculation_matches: require the declared numeric result from the calculator and the same numeric token in the final answer. A substring such as 1576 does not satisfy an expected 576.source_read: require a successful read of the exact source path and its filename in the answer. This proves read/citation provenance, not semantic entailment.answer_contains: check required text; explicitly not a factual accuracy claim.
Evidence is collected from the current task's tool executions, not model-written claims, prior conversations or externally supplied traces. Verification runs locally without another model call. The result is persisted as an inspectable verification event. Failed criteria produce verification_failed, never verified completion. An optional recovery is bounded by one attempt and the existing iteration/time budgets; default recovery is disabled.
The initial plan records workflow, criteria and a single-executor strategy. It does not pretend a deterministic plan template is a sophisticated learned planner. A delegation context defines planner/executor/researcher/developer/tester/reviewer roles with depth, fan-out, deadline and token-allocation bounds. Multi-agent scheduling is not enabled, and simple tasks do not incur extra agent calls.
Coding tests, static analysis, output-document validation, semantic claim checking and state-changing automation verifiers remain planned. No shell/code tools are enabled to simulate those capabilities.