BACK TO WORK

AI-AUGMENTED SOFTWARE DELIVERY

AI-SDLC Harness

A real build: an agentic job-search system. Six sprints. 81 → 360 tests. Adversarial review before every sprint. Live canaries after.

PROBLEM

Most software builds lack a feedback loop between what was designed and what was built. Evaluators, when they exist at all, review work after implementation — too late to prevent drift.

APPROACH

A six-sprint build of an agentic job-search system, structured around explicit phase gates: framing before spec, adversarial review before implementation, evidence-based verification (test-driven) before sign-off, and live canaries closing the loop after each sprint.

MY ROLE

Solo builder — product, architecture, and all implementation. Designed and operated the dev harness: ground-truth observation, adversarial review, implementer, verifier, and retro agents.

OUTCOME

Six sprints completed. 81 tests at sprint 1, 360 at sprint 5. LIVE canary passed at sprint 5: rejection email, delivery-failure mail, and recruiter reply all correctly classified in the real inbox.

HONEST CAVEATS

This timeline shows the build of an agentic job-search system. Personal job-search details (employer names applied to, recruiter names, salary, application outcomes) are excluded. Sprints 4 and 5 were delivered together, so they share one recorded test count.

METHODOLOGY

Frame

Problem definition, constraints, and invariants locked before any design

Spec

Resolved specification — every behaviour explicit, every edge case named

Adversarial Review

Evaluator challenges assumptions, finds blind spots, and forces resolution

Implement

Evidence-based verification (test-driven) — tests written first, spec is law

Verify

Confirmation-bias firewall — verifier checks only stated criteria

Live Canary

First real data run — back-propagation loop updates spec before next sprint

PHASE LANES

Frame
Spec
Adversarial Review
Implement
Verify
Live Canary
S1

Sprint 1 — Slice

2026-09-28

81
tests

ATS normalisers, config-weighted scoring, event-sourced SQLite ledger. Approval gate enforced by DB trigger. Golden-set precision@5 = 1.0.

S2

Sprint 2 — Tailoring

2026-09-28

215
tests

Select-only CV (verbatim fact-bank bullets by id). Deterministic claim gate (fail-closed). Live claude-cli draft passes gate on attempt 2, CV ≤ 951 words.

S3

Sprint 3 — Dashboard

2026-09-28

281
tests

FastAPI dashboard. Token auth fail-closed. SHA-bound approve — edit the artifact after drafting and approval is refused. Submit API for k8s cluster.

S4

Sprint 4 — Sources

2026-09-29

360~
tests

LinkedIn alert emails via Gmail OAuth. Remotive / RemoteOK adapters. Held-out test: 9/10 correct, 1 FP (London role with unknown workplace). Delivered together with Sprint 5.

S5

Sprint 5 — Outcomes

2026-09-29

360
tests

Deterministic Gmail outcome classifier. LIVE canary passed: rejection email, delivery-failure mail, and recruiter reply all correctly classified in the real inbox.

TEST COUNT PROGRESSION

S1
S2
S3
S4
S5

81 → 360 tests across 5 sprints (S4 count is estimated)