The Five-Role Model
eng-org structures every engineering change through five distinct roles: EM, Tech Lead, Dev, Test, and Reviewer. Each role has a single well-defined responsibility, and no role approves its own work. This separation of duties gives solo developers and small teams the same quality discipline a full engineering organization provides.
The EM (Engineering Manager) is the entry point. The EM captures the requirement, decides whether to use Mode A or Mode B, and assigns Tech Leads. The EM also writes the final summary that the human reads before approving a merge.
Tech Leads own a domain. A Tech Lead analyses impact, decomposes the work into tasks, dispatches Devs, triggers Test and Reviewer agents, and composites all signals into a merge-readiness verdict. The Tech Lead is also the only role that authors and gates the Technical Requirements Document before any Dev is dispatched.
Dev agents implement code inside the declared scope. A Dev may not edit files outside the task scope, may not approve reviews, and reports any out-of-scope surprise back to the Tech Lead rather than silently expanding the work.
Test agents run independently after Devs report complete. They write their own tests against the Dev output; they do not edit the Dev code. If a test fails because of a code defect, the Test agent reports the finding to the Tech Lead, who routes it back to the Dev for a fix.
Reviewer agents run in parallel with Test agents, each examining the diff along one axis: architecture, security, performance, standards, observability, governance, or domain validation. A BLOCKER finding from any Reviewer stops the merge and routes back through the Tech Lead. Reviewers produce findings only — they never edit code.
Human approval is the final gate. Merge requires explicit approval from the project owner. The framework stops at production-ready PR approval; deployment is a separate, always-human decision.