At :00 an agent picks a ready backlog item. At :15 a second reviews the change. At :30 a third validates the build. Permission boundaries, blocking gates, and audit logs keep the automation accountable.
A governed multi-agent engineering pipeline that automates implementation, review, and validation within explicit permission, test, audit, and human-oversight boundaries.
Building software requires repeated coordination across development, review, and QA. Automating that work without clear permissions and failure gates creates more risk than leverage.
A 3-agent loop orchestrated through the Claude Agent SDK. Agents share a backlog, operate within write manifests, produce audit logs, and stop or redirect work when blocking checks fail.
Runs hourly, reads the shared backlog, selects the highest-priority ready item, and implements it on a feature branch. Enforces idempotency via heartbeat files and a 50-minute window check, so a second invocation within the window is a no-op.
Triggers at :15 after each dev commit. Performs structural review covering JSX correctness, broken links, SEO/meta coverage, and code quality, then writes a verdict to a review log. Blocks merge on critical findings and annotates warnings for human review.
Runs at :30, after code review. Validates the full build pipeline: lint, build, href spot-check, title check, meta description, route shells, and resume PDF. Writes a DEPLOY-READY or BLOCKED verdict to the QA log with actionable failure details. Together the review and QA agents form a continuous LLM evaluation and observability loop, scoring every agent-authored change against structural and build criteria and logging traceable verdicts before merge.
All agents operate against a single source of truth: a markdown backlog with priority tiers (Critical → High → Medium → Low) and stage transitions (define → ready → in-progress → done). Every agent action is appended to a structured audit log with timestamps and exit codes.
Each agent has a declared write manifest. A permission-check script gates every file write, so agents cannot touch files outside their manifest. Combined with idempotency checks and never-force-push rules, the system is safe to run unattended. An input-sanitisation layer and a prompt-defense baseline harden the agents against prompt-injection, applying the same LLM red-teaming and AI-safety practices used to validate model output in Planacle and Awade.
Agents communicate with external tools such as GitHub, Figma, Slack, and email via MCP servers wired into the Claude Agent SDK. New integrations are added by registering an MCP server, with no agent code changes required.
./scripts/idempotency-check.sh \
"dev-agent" 50
# Exit 0 → safe to run
# Exit 1 → ran within 50 min window
# → log and stop:00 Dev Agent implements backlog item → :15 Code Review Agent audits commit → :30 QA Agent validates build → :45 idle / gap analysis.
Used across Planacle and Awade to implement selected backlog items, review changes, and validate builds within repository permissions and quality gates. Human ownership remains explicit for priorities, exceptions, and release decisions.
ConsideredA proper orchestration service — job queue, scheduler, state machine.
ChoseA human-readable markdown backlog with priority tiers and stage transitions, shared by every agent. Humans and agents read the same file, and the full history is just the git log.
Trade-offNo rich scheduling semantics. The win: total transparency — anyone can audit what the team decided and why with a text editor.
ConsideredLetting the dev agent merge its own work; it wrote the code, it ran the tests.
ChoseA separate review agent that blocks merges on critical findings, and a QA agent that issues an explicit DEPLOY-READY or BLOCKED verdict every cycle.
Trade-offA slower pipeline with more moving parts. The win: agent-authored code faces the same gates human code does — no exceptions for the machines.
ConsideredRunning agents with full repository access — simpler, and what most demos do.
ChosePer-agent write manifests with a permission-check script gating every file write, plus idempotency heartbeats and a never-force-push rule.
Trade-offUpfront configuration friction for every new agent. The win: the pipeline is safe to run unattended, which is the entire point.
One engineer context-switching between development, review, QA, and deployment all day.
A self-healing hourly loop that implements, reviews, and validates — with a complete audit trail.
The template reduces repetitive coordination while retaining visible decisions, review gates, and human control. It supports the implementation workflow across Planacle and Awade without presenting automation as unbounded autonomy.