Build Compound Engineering plugin dist before its tests (fix Full Suite) - #1688
Conversation
dist-freshness.test.ts reads the plugin's compiled dist/settings.js and dist/session/orchestrator.js to guard against stale dist (FN-6596), but the plugin had no pretest build and was missing from ensure-test-artifacts.mjs. On a fresh CI checkout dist/ does not exist, so the guard threw "dist/ is missing" — failing the non-blocking Full Suite on every main commit. Register the plugin's required artifacts in ensure-test-artifacts.mjs and add a `pretest` hook that builds them, matching the dependency-graph / hermes / openclaw plugins. Verified locally: with dist/ absent, `pnpm --filter @fusion-plugin-examples/compound-engineering test` now builds dist via the pretest and all 192 plugin tests pass (incl. the two dist-freshness cases). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Ready to review this PR? Stage has broken it down into 3 individual chapters for you:
Chapters generated by Stage for commit 8b5b9a7 on Jun 20, 2026 3:48am UTC. |
|
Caution Review failedPull request was closed or merged during review 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 (3)
📝 WalkthroughWalkthroughAdds ChangesCompound Engineering dist-freshness fix
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
Greptile SummaryThis PR fixes a persistent CI failure in the Full Suite by registering
Confidence Score: 5/5Safe to merge — a targeted CI fix with no logic changes to production code. The change adds one registry entry and one lifecycle script, both matching the established pattern used by fusion-plugin-dependency-graph. The artifact paths in ensure-test-artifacts.mjs exactly match what dist-freshness.test.ts reads, the package name matches package.json, and the pretest hook is identical in form to the only other plugin with the same requirement. No production code is touched. No files require special attention. Important Files Changed
Reviews (1): Last reviewed commit: "Build Compound Engineering plugin dist b..." | Re-trigger Greptile |
What & why
The non-blocking Full Suite has been red on every
maincommit for days (visible on the post-merge runs for #1686, #1687, and earlier). Root cause is a single test, unrelated to those PRs:plugins/fusion-plugin-compound-engineering/src/__tests__/dist-freshness.test.tsreads the plugin's compiled output —dist/settings.jsanddist/session/orchestrator.js— to guard against shipping stale dist (FN-6596). But:pretestbuild, andscripts/ensure-test-artifacts.mjs(the registry that builds required dist artifacts before tests).So on a fresh CI checkout
dist/doesn't exist and the guard throwsdist/ is missing — run pnpm build first, failing test shard 4/4.Fix
Mirror exactly how the other bundled plugins (dependency-graph, hermes, openclaw, paperclip) handle the same dist-before-test requirement:
ensure-test-artifacts.mjs."pretest": "node ../../scripts/ensure-test-artifacts.mjs"to the plugin so its dist is built (and freshness-cached) beforevitestruns.Verification
With
dist/absent locally (the exact CI scenario),pnpm --filter @fusion-plugin-examples/compound-engineering testnow builds the dist via the newpretestand all 192 plugin tests pass, including the twodist-freshnesscases that were failing.🤖 Generated with Claude Code
Summary by CodeRabbit