Skip to content

fix(ci): restore main full-suite after path peel and suite drift - #3334

Merged
gsxdsm merged 3 commits into
mainfrom
fix/full-suite-bookkeeping-v32
Aug 7, 2026
Merged

fix(ci): restore main full-suite after path peel and suite drift#3334
gsxdsm merged 3 commits into
mainfrom
fix/full-suite-bookkeeping-v32

Conversation

@gsxdsm

@gsxdsm gsxdsm commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

Restores the non-blocking full suite on main after consistent shard failures (latest red: run 30982276306; all four shards failed on @fusion/core, @fusion/engine, and @fusion/plugin-sdk).

Fixes

  • Path / import drift after code-organization peels: update static-guard and integration tests to new module locations (central/, board/, execution/, merge/, worktree/, plugins/, types/* barrels, etc.).
  • Inventory re-pins:
    • SQLite production DatabaseSync allowlist (central/project-identity.ts, db/sqlite-validation.ts)
    • Engine blocking-shellout allowlist regenerated from live source (33 audited sites)
    • Core log-severity manifest paths for peeled modules
  • Partial protocol assert update for isPlanReviewSatisfied (file also quarantined until full rescue)

Quarantine (deletion ratchet)

Remaining behavioral reds quarantined on sight — no timeout/retry/assertion appeasement:

  • 14 core files (incomplete unit fakes for layer.db.select, ledger/census drift, 15s wedge timeout, serialization protocol drift)
  • 13 engine files (mock-hoist errors, fake-store/census/behavior drift under suite)

Paired updates: scripts/lib/test-quarantine.json + package vitest excludes. Deletion clock starts 2026-08-05.

Local verification

  • Path-fixed core scanners: 173 passed
  • Path-fixed engine scanners: 58 passed
  • @fusion/plugin-sdk full: 16 passed
  • PG smokes: mission-autopilot, research-execution, satellite, transition-pending, workflow-sync

Test plan

  • CI PR checks green (lint/typecheck/build/gate)
  • Full suite on merge to main: all 4 shards green or only intentional non-blocking signal
  • Confirm quarantined files appear in ledger + vitest excludes and are not executed

Summary by CodeRabbit

  • Tests
    • Updated test coverage to reflect reorganized source locations and module paths.
    • Refreshed static checks, allowlists, and source-based assertions without changing tested behavior.
  • Chores
    • Quarantined failing core and engine test suites with documented tracking details.
    • Updated test configuration and quarantine records to improve suite stability and reporting.

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).
@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: f82d501b-dfbb-42c8-a50f-d25f33eb4071

📥 Commits

Reviewing files that changed from the base of the PR and between b33e6b1 and ca0b7ae.

📒 Files selected for processing (2)
  • packages/engine/vitest.config.ts
  • scripts/lib/test-quarantine.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • packages/engine/vitest.config.ts
  • scripts/lib/test-quarantine.json

📝 Walkthrough

Walkthrough

The 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.

Changes

Test path and quarantine maintenance

Layer / File(s) Summary
Core test path updates
packages/core/src/__tests__/*
Core tests now reference relocated modules, source fixtures, database constructors, and workflow serialization helpers.
Engine and SDK path updates
packages/engine/src/__tests__/*, packages/plugin-sdk/src/__tests__/index.test.ts
Engine and plugin SDK tests now use relocated source paths, shellout allowlists, severity manifest paths, and command registries.
Quarantine configuration and ledger
packages/core/vitest.config.ts, packages/engine/vitest.config.ts, scripts/lib/test-quarantine.json
Vitest excludes 29 listed core and engine tests. The ledger records 27 dated quarantine entries.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main changes: restoring the CI full suite after path drift and test-suite changes.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 2
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/full-suite-bookkeeping-v32

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 2dcb072 and b33e6b1.

📒 Files selected for processing (33)
  • packages/core/src/__tests__/agent-companies-parser.test.ts
  • packages/core/src/__tests__/agent-permission-policy.test.ts
  • packages/core/src/__tests__/analytics-timing-roles-resolved.test.ts
  • packages/core/src/__tests__/approval-request-transitions.test.ts
  • packages/core/src/__tests__/builtin-adjacency-matches-legacy-transitions.test.ts
  • packages/core/src/__tests__/central-core-init-bootstrap-guard.test.ts
  • packages/core/src/__tests__/eval-automation-complete-lane.test.ts
  • packages/core/src/__tests__/log-severity-spam-contract.test.ts
  • packages/core/src/__tests__/manual-retry-reset.test.ts
  • packages/core/src/__tests__/merge-concurrency-not-configurable.test.ts
  • packages/core/src/__tests__/no-lossy-column-coercion-export.test.ts
  • packages/core/src/__tests__/plugin-prompt-condition.test.ts
  • packages/core/src/__tests__/postgres/mission-autopilot.pg.test.ts
  • packages/core/src/__tests__/postgres/research-execution.pg.test.ts
  • packages/core/src/__tests__/postgres/satellite-db-injected-stores.test.ts
  • packages/core/src/__tests__/postgres/sqlite-production-reader-inventory.test.ts
  • packages/core/src/__tests__/workflow-task-serialization-protocol.test.ts
  • packages/core/vitest.config.ts
  • packages/engine/src/__tests__/agent-tools-send-message-recipient-validation.test.ts
  • packages/engine/src/__tests__/engine-no-blocking-shellout.test.ts
  • packages/engine/src/__tests__/log-severity-manifest.ts
  • packages/engine/src/__tests__/mcp-surface-coverage.test.ts
  • packages/engine/src/__tests__/merger-cwd-fallback-removed.test.ts
  • packages/engine/src/__tests__/merger-plugin-runner-wiring.test.ts
  • packages/engine/src/__tests__/reviewer-prompt-single-source.test.ts
  • packages/engine/src/__tests__/transition-pending-recovery-deadlock.pg.test.ts
  • packages/engine/src/__tests__/user-configured-command-no-execsync.test.ts
  • packages/engine/src/__tests__/web-fetch-universal.test.ts
  • packages/engine/src/__tests__/workflow-sync-selection-blast-radius-live-e2e.pg.test.ts
  • packages/engine/src/__tests__/worktree-backend-no-execsync.test.ts
  • packages/engine/vitest.config.ts
  • packages/plugin-sdk/src/__tests__/index.test.ts
  • scripts/lib/test-quarantine.json

Comment on lines +109 to +117
/*
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");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 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.

Suggested change
/*
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

@gsxdsm
gsxdsm merged commit de38ead into main Aug 7, 2026
6 checks passed
@gsxdsm
gsxdsm deleted the fix/full-suite-bookkeeping-v32 branch August 7, 2026 07:25
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