fix(ci): restore main full-suite after path peel and suite drift - #3334
Conversation
Update static-guard and integration tests for the post-organization source layout, re-pin shellout/SQLite inventories, and quarantine remaining behavioral reds from full-suite run 30982276306 under the deletion ratchet (no timeout or assertion appeasement).
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughThe changes update test imports, source fixtures, allowlists, and manifests for relocated modules. They also add core and engine Vitest quarantine exclusions and record 27 corresponding entries in the shared quarantine ledger. ChangesTest path and quarantine maintenance
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 2📝 Generate docstrings 💡
🛠️ Fix failing CI checks 💡
🧪 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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/core/src/__tests__/workflow-task-serialization-protocol.test.ts`:
- Around line 109-117: Strengthen the serialization assertion for
seedStrandedPlanReviewContinuation so it verifies an actual
isPlanReviewSatisfied call expression rather than merely matching the helper
name in exportedBody. Keep the existing ACTIVE_WORKFLOW_WORK_ITEM_STATES and
projection assertions unchanged, and use a call-specific or AST-based check that
fails when the function no longer invokes the shared helper.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 803e3254-d66a-411c-9de1-49c39a1b4131
📒 Files selected for processing (33)
packages/core/src/__tests__/agent-companies-parser.test.tspackages/core/src/__tests__/agent-permission-policy.test.tspackages/core/src/__tests__/analytics-timing-roles-resolved.test.tspackages/core/src/__tests__/approval-request-transitions.test.tspackages/core/src/__tests__/builtin-adjacency-matches-legacy-transitions.test.tspackages/core/src/__tests__/central-core-init-bootstrap-guard.test.tspackages/core/src/__tests__/eval-automation-complete-lane.test.tspackages/core/src/__tests__/log-severity-spam-contract.test.tspackages/core/src/__tests__/manual-retry-reset.test.tspackages/core/src/__tests__/merge-concurrency-not-configurable.test.tspackages/core/src/__tests__/no-lossy-column-coercion-export.test.tspackages/core/src/__tests__/plugin-prompt-condition.test.tspackages/core/src/__tests__/postgres/mission-autopilot.pg.test.tspackages/core/src/__tests__/postgres/research-execution.pg.test.tspackages/core/src/__tests__/postgres/satellite-db-injected-stores.test.tspackages/core/src/__tests__/postgres/sqlite-production-reader-inventory.test.tspackages/core/src/__tests__/workflow-task-serialization-protocol.test.tspackages/core/vitest.config.tspackages/engine/src/__tests__/agent-tools-send-message-recipient-validation.test.tspackages/engine/src/__tests__/engine-no-blocking-shellout.test.tspackages/engine/src/__tests__/log-severity-manifest.tspackages/engine/src/__tests__/mcp-surface-coverage.test.tspackages/engine/src/__tests__/merger-cwd-fallback-removed.test.tspackages/engine/src/__tests__/merger-plugin-runner-wiring.test.tspackages/engine/src/__tests__/reviewer-prompt-single-source.test.tspackages/engine/src/__tests__/transition-pending-recovery-deadlock.pg.test.tspackages/engine/src/__tests__/user-configured-command-no-execsync.test.tspackages/engine/src/__tests__/web-fetch-universal.test.tspackages/engine/src/__tests__/workflow-sync-selection-blast-radius-live-e2e.pg.test.tspackages/engine/src/__tests__/worktree-backend-no-execsync.test.tspackages/engine/vitest.config.tspackages/plugin-sdk/src/__tests__/index.test.tsscripts/lib/test-quarantine.json
| /* | ||
| FNXC:FullSuiteBookkeeping 2026-08-05-00:30: | ||
| Plan-review satisfaction moved into shared `isPlanReviewSatisfied` so writers and repair paths share one definition. | ||
| Keep the active-state unfiltered invariant and project-scope binding; pin the helper call instead of the inlined step id/status literals. | ||
| */ | ||
| const body = exportedBody(workItemsSource, "seedStrandedPlanReviewContinuation"); | ||
| expect(body).toContain("ACTIVE_WORKFLOW_WORK_ITEM_STATES"); | ||
| expect(body).not.toContain("kind,"); | ||
| expect(body).toContain('workflowStepId === "plan-review"'); | ||
| expect(body).toContain('status === "passed"'); | ||
| expect(body).toContain("isPlanReviewSatisfied"); |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Assert the helper call, not only the helper name.
Line 117 passes when isPlanReviewSatisfied is only mentioned in the extracted body. Match a call expression, or use an AST check, so the test fails if seedStrandedPlanReviewContinuation stops invoking the shared helper.
Proposed assertion
- expect(body).toContain("isPlanReviewSatisfied");
+ expect(body).toMatch(/\bisPlanReviewSatisfied\s*\(/);📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| /* | |
| FNXC:FullSuiteBookkeeping 2026-08-05-00:30: | |
| Plan-review satisfaction moved into shared `isPlanReviewSatisfied` so writers and repair paths share one definition. | |
| Keep the active-state unfiltered invariant and project-scope binding; pin the helper call instead of the inlined step id/status literals. | |
| */ | |
| const body = exportedBody(workItemsSource, "seedStrandedPlanReviewContinuation"); | |
| expect(body).toContain("ACTIVE_WORKFLOW_WORK_ITEM_STATES"); | |
| expect(body).not.toContain("kind,"); | |
| expect(body).toContain('workflowStepId === "plan-review"'); | |
| expect(body).toContain('status === "passed"'); | |
| expect(body).toContain("isPlanReviewSatisfied"); | |
| /* | |
| FNXC:FullSuiteBookkeeping 2026-08-05-00:30: | |
| Plan-review satisfaction moved into shared `isPlanReviewSatisfied` so writers and repair paths share one definition. | |
| Keep the active-state unfiltered invariant and project-scope binding; pin the helper call instead of the inlined step id/status literals. | |
| */ | |
| const body = exportedBody(workItemsSource, "seedStrandedPlanReviewContinuation"); | |
| expect(body).toContain("ACTIVE_WORKFLOW_WORK_ITEM_STATES"); | |
| expect(body).not.toContain("kind,"); | |
| expect(body).toMatch(/\bisPlanReviewSatisfied\s*\(/); |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/core/src/__tests__/workflow-task-serialization-protocol.test.ts`
around lines 109 - 117, Strengthen the serialization assertion for
seedStrandedPlanReviewContinuation so it verifies an actual
isPlanReviewSatisfied call expression rather than merely matching the helper
name in exportedBody. Keep the existing ACTIVE_WORKFLOW_WORK_ITEM_STATES and
projection assertions unchanged, and use a call-specific or AST-based check that
fails when the function no longer invokes the shared helper.
Source: Coding guidelines
Summary
Restores the non-blocking full suite on
mainafter consistent shard failures (latest red: run 30982276306; all four shards failed on@fusion/core,@fusion/engine, and@fusion/plugin-sdk).Fixes
central/,board/,execution/,merge/,worktree/,plugins/,types/*barrels, etc.).DatabaseSyncallowlist (central/project-identity.ts,db/sqlite-validation.ts)isPlanReviewSatisfied(file also quarantined until full rescue)Quarantine (deletion ratchet)
Remaining behavioral reds quarantined on sight — no timeout/retry/assertion appeasement:
layer.db.select, ledger/census drift, 15s wedge timeout, serialization protocol drift)Paired updates:
scripts/lib/test-quarantine.json+ package vitest excludes. Deletion clock starts2026-08-05.Local verification
@fusion/plugin-sdkfull: 16 passedTest plan
Summary by CodeRabbit