FN-9122: align merge gate timing and policy baselines

Re-establish a trustworthy W33 merge-gate timing baseline without weakening blocking coverage.

- Document the controlled W33 re-measurement and future regression protocol.
- Align static-validator test ledgers with all 15 canonical gate checks.
- Correct gate composition, engine-core inventory, and bundle metrics in testing guidance.

Files changed:
 .../merge-gate-w33-walltime-regression.md          | 82 ++++++++++++++++++++++
 docs/testing.md                                    | 12 ++--
 .../__tests__/engine-vitest-gate-policy.test.mjs   | 12 ++++
 scripts/__tests__/run-static-gate-checks.test.mjs  |  2 +
 scripts/__tests__/verify-fast.test.mjs             |  8 +++
 5 files changed, 111 insertions(+), 5 deletions(-)

Fusion-Task-Id: FN-9122

Fusion-Task-Lineage: 47ace0d7-902d-4ea5-848d-3d2386867c42

Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
This commit is contained in:
gsxdsm
2026-08-16 03:49:28 -07:00
parent e7e33dae87
commit fe910fcce7
5 changed files with 111 additions and 5 deletions

View File

@@ -128,13 +128,25 @@ test("root and package gate scripts still propagate real Vitest failures", () =>
staticCheck("no-getdatabase"),
staticCheck("prerebase-inert"),
staticCheck("capacity-pool-id"),
staticCheck("cli-runtime-routing"),
staticCheck("no-node-only-core-imports-in-dashboard"),
staticCheck("pi-versions-pinned"),
staticCheck("workspace-package-graph"),
staticCheck("no-test-timeout-appeasement"),
staticCheck("changeset-format"),
staticCheck("mock-completeness"),
staticCheck("inert-sync-lane-conversions"),
staticCheck("runtime-skill-loader-drift"),
], "every static policy validator must remain once in the blocking composition");
/*
FNXC:MergeGatePerformance 2026-08-16-10:29:
FN-9122's controlled W33 re-measurement closes the 14.0s row as variance,
but the correction is only meaningful when the composition is exact: 15
concurrent static validators, 21 engine-core files, two PG canaries, and
four unit-gate files. Keep this cardinality alongside the ordered ledger so
a future declaration edit cannot silently invalidate the timing baseline.
*/
assert.equal(gateValidators.length, 15, "the W33 timing baseline requires all 15 static validators");
assert.equal(new Set(gateValidators).size, gateValidators.length, "the static validator composition must be duplicate-free");
assert.match(gate, /pnpm --filter @fusion\/engine test:core/);
assert.match(gate, /pnpm --filter @fusion\/core test:pg-gate/);

View File

@@ -18,8 +18,10 @@ const EXPECTED_GATE_CHECKS = [
check("no-getdatabase"),
check("prerebase-inert"),
check("capacity-pool-id"),
check("cli-runtime-routing"),
check("no-node-only-core-imports-in-dashboard"),
check("pi-versions-pinned"),
check("workspace-package-graph"),
check("no-test-timeout-appeasement"),
check("changeset-format"),
check("mock-completeness"),

View File

@@ -60,8 +60,16 @@ const PRETEST_CHECKS = [
`PRETEST_STATIC_CHECK_SCRIPTS` already picked them up — verify:fast was RIGHT and this mirror was
stale. Kept in production order, since the assertion is a deepEqual and order is part of it. */
"scripts/check-capacity-pool-id.mjs",
/*
FNXC:MergeGatePerformance 2026-08-16-10:29:
FN-9122 repaired the W33 gate inventory ledger after three validators had
entered canonical pretest/gate compositions without their test mirrors.
Keep these in manifest order so verify:fast validates the same policy set.
*/
"scripts/check-cli-runtime-routing.mjs",
"scripts/check-no-node-only-core-imports-in-dashboard.mjs",
"scripts/check-pi-versions-pinned.mjs",
"scripts/check-workspace-package-graph.mjs",
"scripts/check-no-test-timeout-appeasement.mjs",
"scripts/check-changeset-format.mjs",
"scripts/check-routes-modular.mjs",