FN-7670: document negative result of extending engine-core pre-bundle to @fusion/engine relative-import graph

Prototyped extending the @fusion/core pre-bundle alias lever to @fusion/engine's relative-import production graph reached by the 18 gate files, but an A/B showed no clear win over the @fusion/core-only bundle, so the change was not landed and only the rationale is recorded.

- Added an FNXC:EngineTests comment block in packages/engine/vitest.config.ts documenting the FN-7670 prototype (171 first-party files → 35 output files via esbuild multi-entry splitting)
- Recorded the negative A/B result: byte-size growth of 14 separate large root bundles offset per-file-dispatch savings, with no clear win beyond host run-to-run noise
- Left the vitest alias wiring unchanged at the @fusion/core-only bundle state, pointing future attempts to FN-7670's task docs for full analysis and to consider a single combined engine-graph entry instead of 14 separate root entries

Files changed:
 packages/engine/vitest.config.ts | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

Fusion-Task-Id: FN-7670

Fusion-Task-Lineage: efd27f94-a6c4-49c7-a78e-50213fd42a24

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
This commit is contained in:
gsxdsm
2026-07-08 05:20:47 -07:00
parent ad9a72176c
commit b8fa2a6652

View File

@@ -87,6 +87,25 @@ export default defineConfig({
dead-locking the core↔engine circular-import DI
(`void import("@fusion/core").then(setCreateFnAgent...)` in
packages/engine/src/index.ts) for no measured gain.
FNXC:EngineTests 2026-07-08-06:20:
FN-7670 prototyped extending this same lever to the @fusion/engine
RELATIVE-import production graph (`../merger.js`, `../hold-release.js`,
`../scheduler.js`, `../workflow-node-handlers.js`, ...) that the 18 gate
files reach directly — NOT the barrel above, which stays untouched per
the paragraph above regardless. It built a fully working, coverage-
parity-preserving, mock-safe bundle (171 first-party files → 35 output
files via esbuild multi-entry splitting) but an interleaved, host-load-
controlled A/B showed NO clear incremental wall-time win over this
@fusion/core-only bundle (delta within this host's own ~2.5x run-to-run
noise band) — the byte-size growth of 14 separate large root bundles
(e.g. one alone reached 1.3MB) offset the per-file-dispatch savings that
made the single-file @fusion/core bundle above pay off. NOT landed; the
wiring was reverted to this @fusion/core-only state. See FN-7670's task
docs document for the full closure/mock-boundary analysis, the A/B
methodology and data, and the negative-result rationale, before
re-attempting this lever with a different bundle shape (e.g. a single
combined engine-graph entry rather than 14 separate root entries).
*/
alias: {
"@fusion/core": resolve(__dirname, "../core/.gate-bundle/core.mjs"),