PATTERN Cited by 1 source
AI-generated fix-forward PR¶
Intent¶
When a detector surfaces a regression + attributes it to a root-cause pull request, auto-generate a mitigation PR and route it to the original PR author for review — replacing the binary "rollback vs. ignore" choice with a third option: fix forward, automatically (Source: sources/2026-04-16-meta-capacity-efficiency-at-meta-how-unified-ai-agents-optimize-performance-at-hyperscale).
Canonical instance¶
Meta AI Regression Solver — the AI-agent component of FBDetect that produces review-ready fix-forward PRs for detected performance regressions. Three-phase pipeline:
- Gather context with tools — find regressed functions; look up root-cause PR + exact files/lines changed; pull relevant profiling
- configuration + code-search context via the platform's MCP tool layer.
- Apply domain expertise with skills — select the mitigation skill matching the codebase / language / regression type (e.g. "regressions from logging can be mitigated by increasing sampling").
- Create resolution — produce a new PR; send to original root-cause author for review.
The binary it replaces¶
Meta's framing: "Traditionally, root-causes (pull requests) that created performance regressions were either rolled back (slowing engineering velocity) or ignored (increasing infrastructure resource use unnecessarily)."
| Option | Velocity cost | Capacity cost |
|---|---|---|
| Roll back root-cause PR | High (original change is lost) | Zero |
| Ignore | Zero | High (compounding fleet waste) |
| AI-generated fix-forward PR | Low (review time only) | Low (mitigation applied) |
The pattern's design goal is exactly to dominate both baselines.
When to reach for it¶
- You have a production-grade regression detector producing attributed root-cause PRs at high volume (Meta: thousands/week).
- Manual mitigation is the bottleneck (Meta: ~10 hours of manual investigation per regression).
- You have a skill catalogue of known mitigation patterns covering the common regression classes (logging → sampling, serialization → schema-check, hot-function → memoization, etc.).
- You have a code-context retrieval surface (files/lines changed, related call sites) the agent can query.
- You're willing to accept that some generated PRs will be wrong, and you preserve human review as the final gate.
Mechanism¶
Attribution precondition¶
The pattern depends on a prior step that attributes a detected regression to a specific PR. At Meta this is FBDetect's correlation layer. Without attribution the agent has no root-cause to act on; the pattern degrades to "generate a mitigation from symptoms alone" which has a much higher error rate.
Context-gathering tools¶
The agent pulls at minimum:
- Regressed function(s) + performance delta.
- The root-cause PR's diff (files + lines).
- Surrounding code context (call sites, related definitions).
- Documentation / prior-example library for the regression class.
These are read-only tool invocations — no side effects.
Skill selection¶
The agent matches the regression signature (what regressed, what was changed) to the skill that encodes the appropriate mitigation pattern. The worked example from the post: "regressions from logging can be mitigated by increasing sampling."
Resolution + routing¶
The agent:
- Generates the mitigation as code.
- Opens a PR.
- Routes the PR to the original root-cause PR author for review (the closed-feedback-loop discipline: the person who introduced the regression is also the person best-placed to validate the mitigation).
Why fix-forward beats both baselines¶
- Preserves the shipping change. The original PR's intent is not undone; only the performance side-effect is mitigated.
- Preserves velocity. Engineer review time ≪ engineer investigation
- writing time.
- Preserves capacity. Mitigation lands before the regression compounds further across the fleet.
- Attributes learning. The root-cause author sees what the mitigation looked like and learns the pattern for future PRs.
Tradeoffs¶
- Review-fatigue risk. If the solver produces low-quality PRs at scale, engineers learn to ignore them — the opposite of the intended velocity gain.
- Revert loops. An AI-generated mitigation that's itself wrong generates a new regression; the loop has to be bounded.
- Skill catalogue coverage. Regression classes not covered by an existing skill get no PR; silent gap in the mitigation pipeline.
- Root-cause author availability. Routing to the PR author assumes that author is still around + has capacity to review; fallback routing (team owner? on-call?) is not described in Meta's post.
- Code-quality drift. AI-generated mitigations may accumulate technical debt if the skill catalogue doesn't evolve to apply first-principles fixes over local patches.
Relationship to sibling patterns¶
- patterns/retrieve-then-rank-llm (Meta RCA) — produces a ranked list of candidate root-cause PRs for human investigation. Fix-forward PR is the next hop: once attribution is settled, the mitigation itself is generated. Same Meta operational-AI lineage, one step further downstream.
- patterns/opportunity-to-pr-ai-pipeline — the offense sibling. Same three-phase shape (context / skill / resolution), different trigger (proactive opportunity vs detected regression).
- patterns/closed-feedback-loop-ai-features — structural dependency. Routing to root-cause author is the specific closed-loop mechanism for this pattern.
- patterns/confidence-thresholded-ai-output — if the skill match is low confidence, the agent should not produce a PR at all ("sacrificing reach in favor of precision" from Meta's 2024-08-23 RCA post).
- patterns/mcp-tools-plus-skills-unified-platform — the substrate enabling the pattern's offense/defense symmetry.
Caveats from Meta's disclosure¶
- Merge rate not disclosed. Human review is the final gate; how often engineers accept the agent's PR is not published.
- Revert-rate not disclosed for merged AI-generated PRs.
- Skill catalogue size unknown (one worked example: logging → sampling).
- Guardrail detail thin for the defensive pipeline specifically.
Seen in¶
- sources/2026-04-16-meta-capacity-efficiency-at-meta-how-unified-ai-agents-optimize-performance-at-hyperscale — canonical wiki introduction via Meta's AI Regression Solver on top of FBDetect.
Related¶
- concepts/capacity-efficiency — the program context
- concepts/offense-defense-performance-engineering — the two-sided frame
- concepts/encoded-domain-expertise — the skill primitive
- systems/meta-ai-regression-solver — the canonical instance
- systems/fbdetect — the detector providing inputs
- systems/meta-capacity-efficiency-platform — the platform
- patterns/mcp-tools-plus-skills-unified-platform — the substrate pattern
- patterns/closed-feedback-loop-ai-features — the author-review discipline
- patterns/confidence-thresholded-ai-output — the precision-over-reach discipline
- patterns/retrieve-then-rank-llm — the attribution-ranking predecessor
- patterns/opportunity-to-pr-ai-pipeline — the offense sibling pattern