Coding agents can now implement a specification, write and run tests, repair failures and declare the result ready for release. When the same agentic system produces both the software and its correctness evidence, a passing test suite ceases to be independent: visible tests become an optimization target, code and tests may share a misinterpretation of the specification, and the builder's own tests can be incomplete. This paper argues that software produced by agents requires an assurance plane that is structurally independent of the build plane. We categorize four gaps between stakeholder intent and production—requirement, conformance, evaluation and model gaps—and examine which gaps verification can close. The proposed framework separates building from verifying, introduces a Verification Contract that states what must be demonstrated before release, and organizes verification into two phases: a specification‑first phase without access to the implementation, and an implementation‑aware phase that uses mutation analysis, property‑based testing and fuzzing. An assurance report is produced for a human to decide on release. In a pre‑registered study we evaluated three stateful services (two written by third‑party models) and an EvalPlus pilot. The builder's programs were correct, but its own tests missed subtle interactions: a verifier in a fresh context detected more of the 46 seeded faults than the builder's tests (Holm‑corrected p = 0.006) and exposed ambiguities in the specification, at the cost of rare false oracles. A verifier from another provider did not add detection.
Review