Skip to content

docs(rector-mcp): mark System error suppression as defense-in-depth (#273)#285

Merged
fdaviddpt merged 1 commit into
masterfrom
fix/rector-mcp-273-defense-in-depth
Jun 21, 2026
Merged

docs(rector-mcp): mark System error suppression as defense-in-depth (#273)#285
fdaviddpt merged 1 commit into
masterfrom
fix/rector-mcp-273-defense-in-depth

Conversation

@fdaviddpt

Copy link
Copy Markdown
Contributor

Summary

Root cause behind the warm ClassReflection must be resolved for class X failures (#273) is fixed upstream in dpt/mcp-rector-warm 0.4.0: the warm daemon reused one Rector container and never reset DynamicSourceLocatorProvider, which caches its source locator for every non-PHPUnit run — so the second file in a warm session was analysed with a locator that only knew the first file. The daemon now resets reflection state per call (mirroring AbstractRectorTestCase).

This PR updates validators/rector-mcp/rector-mcp.py so the System error: skip is documented as defense-in-depth (absorb any future non-deterministic engine glitch), not load-bearing. Comment + CHANGELOG only — no behavior change.

Requires

dpt/mcp-rector-warm >= 0.4.0 (composer global update dpt/mcp-rector-warm). Merge the mcp-rector-warm PR + tag 0.4.0 first.

Test plan

  • Comment/doc only, no logic change
  • Root cause proven fixed upstream (deterministic repro red→green)

…273)

Root cause fixed upstream in dpt/mcp-rector-warm 0.4.0: the warm daemon now
resets Rector's ResettableInterface services (incl. DynamicSourceLocatorProvider)
per call, so the warm "ClassReflection must be resolved for class X" failure no
longer fires. The adapter's `System error:` skip stays only to absorb any future
non-deterministic engine glitch — no longer load-bearing.

Comment + CHANGELOG only; no behavior change. Requires mcp-rector-warm >= 0.4.0.

Co-Authored-By: Max <noreply>
@fdaviddpt fdaviddpt merged commit 0840f08 into master Jun 21, 2026
12 checks passed
@fdaviddpt fdaviddpt deleted the fix/rector-mcp-273-defense-in-depth branch June 21, 2026 18:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant