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:
@@ -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/);
|
||||
|
||||
@@ -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"),
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user