The V4.1.2 enhancements close gaps identified in the V4.1.1 full-Forgeflow stress test. Both agents
had structural weaknesses that caused reviewers to over-challenge without grounding, and allowed
Atlas to assert coverage without evidence. V4.1.2 ships five targeted fixes across Compass and
Atlas — grounded challenges, gated questions, tiered severity, and auditable coverage checks.
-
Pre-Implementation Gate
A top-level conditional section that fires when Compass is doing a cold review and the feature touches auth, security, tokens, PII, or compliance categories. When triggered, Compass 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 Arbiter 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 Compass 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.
-
Atlas Cross-Session Notes sourcing
Compass now has an explicit sourcing mechanism for Atlas's cross-session notes: read Atlas's output from context if available, otherwise read directly from
.forgeflow/<project-name>/agent-notes/. Previously Compass would reference Atlas notes without a clear source path, causing inconsistency when context was rebuilt mid-session.
-
Coverage Check evidence — per-agent file lists
Atlas'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, Atlas flags the gap rather than checking the box. The Lumen block receives an explicit "not applicable" instruction when no frontend files were changed, preventing the Coverage Check from mechanically expecting Lumen findings on backend-only PRs.
-
Question Pre-Check gate
A structural three-check gate before Atlas can raise any Question for Arbiter: (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 Arbiter rather than self-expanded. An auditable dropped-questions log records every question that was suppressed. When all questions pass, Atlas outputs: "Pre-check: all questions passed — none dropped."
-
Severity tiers on Questions for Arbiter
All Questions for Arbiter 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 Atlas from treating every concern as blocking and diluting Arbiter'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 Atlas's output. All descriptors now match the exact headings — eliminating confusion when Arbiter references Atlas output in synthesis and finds sections under different names than described.
-
Full Forgeflow run on both agent files
Both
agents/compass-review.md and agents/atlas-review.md were reviewed by the full Forgeflow after implementation. A REVISE verdict was issued. The conditional comment in Compass'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.