You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The critical invariant (called out explicitly in the surrounding comment at processors.ts:10589-10591): blocks are only built on a fresh cache-miss pass with inline findings present — a cache hit must render byte-identically, nothing new emitted. Getting this wrong means either regenerating (and re-billing) an LLM call on every cached re-render, or a stale block persisting after a repo turns the feature off.
Requirements
Declare an outer-scoped e2eTestGenEnabledForReview = false flag near fix-handoff's own flag declaration (processors.ts:8619).
A cache-hit re-render must reuse the previously-generated block content rather than re-invoking the LLM — this feature is a real cost driver (an LLM call, potentially per push), so silent re-generation on every cached render is a correctness bug, not just a cost nit.
No change needed to ENGINE_DECISION_GUARDRAIL_GLOBS (src/review/guardrail-config.ts:22-40) — sibling converged-feature wire files aren't individually listed there, and src/queue/** is already blanket-covered; this only changes if the feature later becomes a gate blocker (out of scope for this issue).
Deliverables
The three processors.ts touch points wired, mirroring fix-handoff's exact shape.
A test proving turning the feature off for a repo mid-flight removes the block on the next fresh pass (no stale content).
Expected outcome
Generated E2E test blocks appear in the PR comment exactly once per genuinely new review pass, never regenerated on a cache hit, and disappear cleanly the moment a repo's features.e2eTests flips to off or absent.
Resources / examples
src/queue/processors.ts:8619, 9164, 10589-10594 (the exact fix-handoff touch points to mirror)
Effort
M — wiring is mechanical, but the cache-miss-only test is the part worth getting right.
Part of #4189. Depends on #4192, #4193.
Context
Fix-handoff's dispatch shape in
src/queue/processors.tsis a three-touch-point pattern, verified at the exact lines currently inmain:The critical invariant (called out explicitly in the surrounding comment at
processors.ts:10589-10591): blocks are only built on a fresh cache-miss pass with inline findings present — a cache hit must render byte-identically, nothing new emitted. Getting this wrong means either regenerating (and re-billing) an LLM call on every cached re-render, or a stale block persisting after a repo turns the feature off.Requirements
e2eTestGenEnabledForReview = falseflag near fix-handoff's own flag declaration (processors.ts:8619).reviewManifestForAutoReview?.review.e2eTests(or the equivalent converged-feature accessor — confirm the exact manifest field name against feat(review): register e2eTests as the sixth converged-feature key #4190's schema work), mirroringprocessors.ts:9164.e2eTestGenEnabledForReviewis true, this is a fresh cache-miss pass, andaiReview?.inlineFindings?.length(or the equivalent "there's something worth generating tests for" condition) holds — mirroringprocessors.ts:10592-10594's exact cache-miss-only discipline.ENGINE_DECISION_GUARDRAIL_GLOBS(src/review/guardrail-config.ts:22-40) — sibling converged-feature wire files aren't individually listed there, andsrc/queue/**is already blanket-covered; this only changes if the feature later becomes a gate blocker (out of scope for this issue).Deliverables
Expected outcome
Generated E2E test blocks appear in the PR comment exactly once per genuinely new review pass, never regenerated on a cache hit, and disappear cleanly the moment a repo's
features.e2eTestsflips to off or absent.Resources / examples
src/queue/processors.ts:8619, 9164, 10589-10594(the exact fix-handoff touch points to mirror)Effort
M — wiring is mechanical, but the cache-miss-only test is the part worth getting right.