Diego Souza · AI Engineer

How I build with AI

Built with coding agents under an engineering harness: specs before code, gated checks, evals, budget ledgers and saved evidence, following AI engineering best practices. Every number here links to the run that produced it.

From intake to a gateFlow: Intake, Spec, Plan, Execute, Verify, GateIntakeSpecPlanExecuteVerifyGateFrom intake to a gateFlow: Intake, Spec, Plan, Execute, Verify, GateIntakeSpecPlanExecuteVerifyGate

The whole flow. Press play or next to walk through it.

Text version of this diagram
  1. Intake Lab. Decisions and a profile before any code.
    • then Spec
  2. Spec Lab. A written specification with requirement ids.
    • then Plan
  3. Plan Lab. Allowed write paths and forbidden changes are declared.
    • then Execute
  4. Execute Lab. Agents write the code inside those paths.
    • then Verify
  5. Verify Lab. Commands run, exit codes and output are saved.
    • then Gate
  6. Gate Lab. No evidence means the result stays incomplete.
Evidence before done
A result needs a command, an exit code and saved output. Without it, the result is incomplete.
Numbers only from runs
Metrics, cost and benchmarks come from recorded runs. Without a run, PENDING.
A red test is a signal
Fix the root cause. Never delete or weaken the test to make it pass.
Authorized external effects
No deploy, publish, push or spend beyond budget without explicit approval.
Prompts and tools are code
They live in the repository, have contract tests, and every change goes through regression.
One source of truth
Profile, builder state, agent contract and run metrics each have exactly one home.

AI assistance statement

Coding agents wrote most of the code in this portfolio. I wrote the specs, set the write paths and the gates, reviewed every diff and decided what counts as evidence. The agents never decide that something is done.

ai-engineer-lab