The V4.1.2 enhancements close gaps identified in the V4.1.1 full-squad stress test. Both agents
had structural weaknesses that caused reviewers to over-challenge without grounding, and allowed
PM Cory to assert coverage without evidence. V4.1.2 ships five targeted fixes across Emily and
PM Cory — grounded challenges, gated questions, tiered severity, and auditable coverage checks.
-
Pre-Implementation Gate
A top-level conditional section that fires when Emily is doing a cold review and the feature touches auth, security, tokens, PII, or compliance categories. When triggered, Emily must declare the gate before proceeding to Plan Adherence. The status label includes all four affected categories. This prevents compliance-critical features from reaching plan adherence review without an explicit upfront signal — giving Nando the ability to block before deeper review begins.
-
Requirements Coverage split into two subsections
Requirements Coverage is now divided: Defined Criteria — Implementation Check for requirements that exist and can be verified against the implementation (NOT MET = implementation failure), and Undefined Criteria — Specification Gap for requirements that were never defined in the first place (UNSPECIFIED = planning failure, not implementation failure). Both subsections are omitted when empty. This eliminates conflation between "the code is wrong" and "the spec was silent."
-
CHALLENGE grounding required
Every CHALLENGE item must now include a
**Grounded in:** citation: a specific file:line reference, plan item number, explicit requirement, or upstream agent output. Challenges without grounding must be moved to the new Open Questions section rather than raised as findings. This eliminates unsubstantiated pushback that caused phantom REVISE verdicts in V4.1.1 testing.
-
Open Questions — new optional section
Items Emily cannot ground to a specific source are demoted from CHALLENGE to Open Questions. This section is optional and omitted when empty. It replaces the prior pattern of raising groundless challenges as blocking concerns — concerns that feel important but cannot be tied to evidence are surfaced transparently rather than silently dropped or falsely elevated.
-
PM Cory Cross-Session Notes sourcing
Emily now has an explicit sourcing mechanism for PM Cory's cross-session notes: read PM Cory's output from context if available, otherwise read directly from
.review-squad/<project-name>/agent-notes/. Previously Emily would reference PM Cory notes without a clear source path, causing inconsistency when context was rebuilt mid-session.
-
Coverage Check evidence — per-agent file lists
PM Cory's Coverage Check must now draw per-agent file lists from the citations in each reviewer's output. A checkbox alone is not evidence — if a reviewer cited no files, PM Cory flags the gap rather than checking the box. The Stevey block receives an explicit "not applicable" instruction when no frontend files were changed, preventing the Coverage Check from mechanically expecting Stevey findings on backend-only PRs.
-
Question Pre-Check gate
A structural three-check gate before PM Cory can raise any Question for Nando: (1) Is the question outside the file scope of any reviewer? (2) Does it require reading files beyond what reviewers cited? (3) Is it already answered in a reviewer's output? Questions that fail checks 1 or 2 are flagged to Nando rather than self-expanded. An auditable dropped-questions log records every question that was suppressed. When all questions pass, PM Cory outputs: "Pre-check: all questions passed — none dropped."
-
Severity tiers on Questions for Nando
All Questions for Nando now carry explicit severity labels: BLOCK (must be resolved before APPROVE), REQUIRED (must be addressed before merge), or RECOMMENDED (should be addressed, not blocking). An anti-inflation rule is in effect: BLOCK requires concrete evidence of a blocking risk, not precautionary elevation. This prevents PM Cory from treating every concern as blocking and diluting Nando's triage.
-
Verdict Recommendation template
A new
### Verdict Recommendation block with a fixed template was added. Previously the output descriptor mentioned a verdict recommendation but provided no structural template, resulting in inconsistent outputs. The template includes: recommended verdict (APPROVE / REVISE / BLOCK), primary rationale (1–2 sentences), and confidence level (HIGH / MEDIUM / LOW) with a brief reason for anything below HIGH.
-
Output descriptor aligned to actual section headings
The output descriptor section names were out of sync with the actual template headings used in PM Cory's output. All descriptors now match the exact headings — eliminating confusion when Nando references PM Cory output in synthesis and finds sections under different names than described.
-
Full Review Squad run on both agent files
Both
agents/emily-review.md and agents/pm-cory-review.md were reviewed by the full squad after implementation. A REVISE verdict was issued. The conditional comment in Emily's Pre-Implementation Gate was moved outside the fenced code block (it had been inside, making it invisible to agents reading the markdown). All other required and recommended fixes were applied in a follow-up commit.