We use cookies. Analytics and advertising, only if you accept.

ArkusNexus

Webinar

The recording, the worksheet and the kit.

Forty-five minutes on the review bottleneck: running as gates in a real repo. The worksheet and the kit are below.

When
Tue, September 29, 2026
Time
10:00 AM PT
Length
45 minutes

Jorge Orenday

Engineer. 20+ years building software teams for US companies. Now building teams that ship with agents at ArkusNexus.

ArkusNexus

92% CSAT·23+ Years·250+ Vetted engineers

  • Housecall Pro
  • Kickstarter
  • TaylorMade
  • Coca-Cola

Replay

The Review Bottleneck · replay · 29 September 2026

The worksheet

The Gate Map

Three decisions before you merge agent-written code

One page. Use it with GitHub and whatever review agent you already pay for.

The worksheet as a PDF

The plan gate, before implementation

Decision 1 · What may the agent implement?

A one-page plan, approved before coding starts, that says what changes and what must not:

  • Files that change
  • Data stores that change
  • Contracts that stay stable (name the systems, inside and outside the repo, that consume them)
  • Configuration and permissions touched
  • Security controls the change requires
  • Risk tier
  • Acceptance criteria, each with the evidence that will prove it.
  • For a new boundary (a public link, an export, a webhook, an admin response reused elsewhere): write the allowlist. What crosses.

Who decides: the Product Engineer who owns the feature decides whether to approve or send back the plan.

How it is made: a planning agent reads the repo, drafts the mechanical sections and asks only the questions a person has to answer; the plan is a file in the repo.

Enforce it: the plan merges through its own PR with status: approved; that merge is the approval. A plan-gate check on the implementation PR verifies the plan is on main and approved.

The agent assembles, CI executes

Decision 2 · Was the plan followed?

Give the review agent four inputs: (A) the approved plan · (B) the diff plus every file it touches · (C) the real check output, pasted · (D) the contract documentation and any captured evidence.

Five checks, each answered PASS / FAIL / UNKNOWN with file and line:

  1. 1.Files outside the plan.
  2. 2.Anything the plan marks out of scope, or a contract that must stay stable.
  3. 3.Evidence against each acceptance criterion, or none.
  4. 4.New dependencies, listed.
  5. 5.Changes to configuration, permissions or security controls.

Every claim labelled OBSERVED (seen in B, C, or a captured response in D), DOCUMENTED (stated in A or the docs in D) or ASSUMED.

Where it runs: a workflow on every pull request. CI captures the real check output, the agent gets the four inputs, posts the five verdicts as a comment on the PR, and a required check holds the merge on anything that is not green.

The prompt, verbatim from scripts/review-gate/PROMPT.md in the kit.

You are the review gate for a pull request. You do not approve or reject anything. You assemble evidence so a named engineer can decide. You check the diff against the approved plan and report five checks.

Inputs you receive:
(A) the approved plan
(B) the diff, plus the full content of every file it touches
(C) the real CI output, pasted
(D) contract documentation and any captured evidence, when available

The five checks. Each comes back PASS, FAIL or UNKNOWN, with file and line for every finding.
1. Files outside the plan. Any changed file the plan does not list.
2. Scope and contracts. Anything out of scope, or a contract the plan says must stay stable that was touched. A stable contract exposed through a new route counts as touched.
3. Evidence per acceptance criterion. For each criterion in the plan, the evidence that proves it, or NONE. A test that asserts what a response must NOT contain counts. The presence of a test file does not. Read the assertions.
4. New dependencies. List every new dependency. Existence is proven by CI or a lockfile. Suitability and security are separate questions; state what you can and cannot judge.
5. Configuration, permissions and controls. Any change to configuration, permissions or a security control, and whether the plan approved it. A control the plan requires that was not built is a FAIL on this check.

Rules:
- Label every claim OBSERVED (you saw it in B, C, or a captured response in D), DOCUMENTED (it comes from A or the docs in D) or ASSUMED (you are inferring). Say what you saw, what you read, and what you assumed.
- UNKNOWN is never green. If you cannot see enough to decide, say UNKNOWN and name the exact evidence that would settle it, ideally the test the plan already defines.
- Cite file and line for every finding. No finding without a citation.
- Do not evaluate code style. Do not suggest refactors. Do not decide the merge.
- Do not re-check the plan's own approval (its status or owner). The plan gate verifies that before you run; take the plan as approved.

Respond with JSON only, no prose before or after, all five checks every time, matching this shape exactly:
{
  "check_1": {"id": 1, "name": "Files outside the plan", "verdict": "PASS|FAIL|UNKNOWN",
              "findings": [{"file": "path", "line": 0, "label": "OBSERVED|DOCUMENTED|ASSUMED", "note": "one sentence"}],
              "summary": "one or two sentences"},
  "check_2": {"id": 2, "name": "Scope and contracts", ...},
  "check_3": {"id": 3, "name": "Evidence per criterion", ...},
  "check_4": {"id": 4, "name": "New dependencies", ...},
  "check_5": {"id": 5, "name": "Configuration, permissions, controls", ...},
  "missing_evidence": ["what would turn each UNKNOWN into a verdict"]
}

The owning engineer decides

Decision 3 · Is the implementation approved?

All five PASS
Green: eligible for a focused human review. Depth set by the plan’s risk tier.
Who: A named engineer, with the plan, the five verdicts and the evidence in hand
Check 3 or 4 FAIL, or any UNKNOWN
Yellow: return for evidence.
Who: Author or agent supplies it; re-run
Check 1, 2 or 5 FAIL
Red: stop. Back to the plan owner to amend or reject. An unapproved control change is read as a control first.
Who: The plan owner

Precedence: Red over Yellow over Green. Green is a status check, not an approval; a named engineer still reads and merges.

ArkusNexus · arkusnexus.com/ai-development-team · Jorge Orenday · September 2026 · kit: github.com/arkusnexus-labs/daily-mix-demo · no form.

The kit

The kit: two GitHub Actions workflows, the /plan command, the template and the prompt. MIT.

Book a 30-minute backlog reviewThirty minutes on two or three items from your own backlog. No deck. We map where the three decisions go, and who owns each one.
What brings you here?

0/1000

Reply within one business day. Then a 30-minute call, if you want one.

By clicking submit, you acknowledge your data will be processed according to our Privacy Policy. This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

The two runs

Same ticket, same model. One without the gates, one with them.

Run 1: no plan, green CI, shipped a defect. Five steps in a row. 1, Ticket: let a listener share today’s Daily Mix with a friend through a link. 2, Implement: the agent implements and opens a pull request. 3, CI: type-check, lint, tests and build, all green. 4, Human gate: a reviewer validates and decides. 5, Merge and deploy. Outcome: the public share page exposes the owner’s private listening data.
Run 1: no plan, green CI, shipped a defectOpen full size
Run 2: with the gates. 1, Ticket. 2, /plan: the agent drafts the plan, then interviews the engineer. 3, Human gate 1: the engineer validates the plan. 4, Implement: the agent implements the plan and opens a pull request. 5, CI: all green. 6, Agent review: a review agent checks the change against the plan. If files or contracts fail, it goes back to /plan. If evidence or dependencies fail, it goes back to implementation. If all pass, it goes on. 7, Human gate 2: the Product Engineer validates and decides. 8, Merge and deploy. Outcome: the public page carries exactly the allowlist.
Run 2: with the gatesOpen full size