Repository navigation
Conversation
…ssage formatting Pin CreateFailureMessage and AssemblyDefinitionConsoleErrorResult.Message behavior (file-prefixed listing, no-file fallback, ten-issue display cap) before extracting this pure logic into its own class. Co-authored-by: Cursor <cursoragent@cursor.com>
…500-line-clean files Extract Class: move the AssemblyDefinitionConsoleError/Result DTOs into their own files and move the pure CreateFailureMessage formatting into AssemblyDefinitionConsoleErrorMessageFormatter, separating message formatting from Console error detection. No behavior change; the characterization tests added in the previous commit stay green. Co-authored-by: Cursor <cursoragent@cursor.com>
Parameterize BuildFingerprintDiffContexts over an injected snapshot dictionary and fingerprint reader instead of closing over static tracker state, then pin its unchanged/changed/no-snapshot behavior with tests. This prepares the pure logic for extraction into its own class without altering ResolveForFocusReturn's observed behavior. Co-authored-by: Cursor <cursoragent@cursor.com>
…ChangeTracker Extract Class: move all Prefab Stage snapshot tracking (event registration, save/reload, focus-return resolution, reopen-context decision) into its own tracker, mirroring the existing Scene tracking responsibility split. ExternalSceneChangeTracker keeps Scene tracking and delegates Prefab Stage concerns to the new class; shared fingerprint/path/logging helpers are now internal so both classes can share them without behavior change. Co-authored-by: Cursor <cursoragent@cursor.com>
…ions Introduce CompileLifecycleRecoveryCoordinator (delegate-injected, mirroring the CompileLifecycleWatchdog pattern) so start-timeout and missed-callback recovery decisions are pure-C# testable without running real Unity compilation. Pin the existing IsCurrentCompileRequest/CreateStoppedWithoutFinishResult behavior plus new characterization tests for HandleCompileStartTimeout and HandleCompileStoppedWithoutFinishEvent branching (assembly definition errors, duplicate asmdef names, generic fallback) before extracting this class into its own file. Co-authored-by: Cursor <cursoragent@cursor.com>
…troller Move the delegate-injected recovery coordinator (start-timeout handling, missed-callback handling, watchdog fault recovery) into its own file so CompileController.cs drops from 619 to 482 lines. No behavior change; the watchdog lifecycle, TaskCompletionSource semantics, and MainThreadSwitcher/ ConfigureAwait(false) call sites in TryCompileAsync are untouched, and the characterization tests added in the previous commit stay green. Co-authored-by: Cursor <cursoragent@cursor.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (6)
📒 Files selected for processing (12)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughThe PR extracts Prefab Stage change tracking into a dedicated utility, adds compile lifecycle recovery coordination, and separates assembly-definition console error contracts and formatting. Tests cover recovery outcomes, error messages, request identity checks, Prefab Stage reopen contexts, and fingerprint differences. ChangesCompile recovery and assembly-definition errors
Prefab Stage external change tracking
Estimated code review effort: 4 (Complex) | ~60 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
03b532d
into
feature/god-class-split-integration
Summary
User Impact
Changes
AssemblyDefinitionConsoleErrorValidationService→ service + message formatter / error DTOsExternalSceneChangeTracker→ tracker +ExternalPrefabStageChangeTrackerCompileController→ controller +CompileLifecycleRecoveryCoordinator(Watchdog-style delegate injection)Verification
uloop compile×2 → 0/0 both timesCompile|ExternalScene|AssemblyDefinition→ 215 passeddotnet test tests/UnityCliLoop.CodeComplexity.Tests→ 12 passedMade with Cursor