Practice · Agent workflows

What does a safe agentic development pipeline look like?

Start with approved intent, give the agent a bounded change and collect evidence against that intent. Acceptance, merging and deployment are separate transitions, each with its own prerequisites.

Follow one change from request to retained evidence.

Illustrative change: support a new import format while preserving rejection of malformed records without partial writes.

Step What moves forward What holds it back
Recover intent Existing promises, source references and a proposed requirement delta. Unresolved conflict about expected behavior.
Authorize scope The versioned change and its required evidence. The actor lacks authority to amend a promise.
Implement Code, tests and explanations linked to the change. An action exceeds repository or execution permissions.
Verify Executed results for the exact code and requirement basis. Missing, failing, stale or insufficient evidence.
Accept An authorized decision with all material gaps visible. An unresolved exception or required approval.
Deliver Merge and deployment under the delivery system’s controls. Provider checks or deployment prerequisites are not satisfied.
Retain Requirements, regression checks, decisions and open risks. Historical results still need freshness checks on the next change.

Different checks answer different questions.

Your test runner executes scenarios. Coverage reports which structures those executions reached. Requirement checks connect evidence to the behavior the system owes. Reviewers look for concerns that the checks may miss. These are complementary inputs to a decision.

proof audit --check obligation_evidence_complete --verbose
proof catalog show malformed_input
proof audit --fail-level warn

For a malformed-input obligation, a happy-path annotation alone is insufficient. The catalog requires negative-input evidence, alongside the default nominal witness unless a valid exemption applies. The obligation check inspects declared obligations and eligible evidence; typed evidence may also require execution provenance. Its passing status does not prove that the tests have adequate assertions or that every relevant scenario ran. Keep the actual malformed-input execution, expected stored state and observed result. A missing obligation model is not proof that no obligation exists.

The current CLI defaults to --fail-level warn, subject to project.audit.fail_level when no flag is supplied. The explicit flag makes the threshold visible. CI must propagate nonzero exits, require the current-revision result and control bypass permissions. The gate setup also needs to account for skipped jobs and relevant base changes.

Delegate by consequence, not by the number of green jobs.

A bounded internal refactor and a change to payment authorization need different evidence and authority. Decide which changes agents may accept under policy, which require independent review, and which product questions require a person. Record the decision against the evidence revision.

The AI4SDLC workflow play likewise makes autonomy an explicit task-level decision. It does not confer acceptance or deployment authority on Proof or a coding agent. A complete customer delivery pipeline still needs its own runtime, identity, operational and program controls.

Start with a change you need to trust.

Bring one component, its build path and a change you are not comfortable delegating yet. We can identify the intended behavior, missing evidence and decisions together.