FN-8772: refresh W32 test-velocity baseline
Refresh the weekly test-velocity baseline with the latest measurements. - Record current gate, boot-smoke, and changed-only test timings - Update slowest-test attribution and quarantine counts - Append the captured snapshot to the velocity history Files changed: docs/test-velocity-baseline.md | 67 +++++++++++----------- scripts/test-velocity-history.json | 112 +++++++++++++++++++++++++++++++++++++ 2 files changed, 145 insertions(+), 34 deletions(-) Fusion-Task-Id: FN-8772 Fusion-Task-Lineage: 84d73aef-f0ca-4322-a21b-447f230bb203 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
This commit is contained in:
@@ -4,19 +4,19 @@
|
||||
|
||||
## Latest baseline
|
||||
|
||||
- Cycle: **2026-W30**
|
||||
- Captured at: **2026-07-22T22:40:53.357Z**
|
||||
- Timing snapshot: `scripts/test-timings.json` captured at **2026-06-27T05:41:42.568Z**
|
||||
- Cycle: **2026-W32**
|
||||
- Captured at: **2026-08-04T03:10:46.073Z**
|
||||
- Timing snapshot: `scripts/test-timings.json` captured at **2026-07-24T13:09:41.412Z**
|
||||
- Quarantine ledger: `scripts/lib/test-quarantine.json`
|
||||
|
||||
## Metrics
|
||||
|
||||
| Metric | Current | Delta vs previous |
|
||||
|---|---:|---:|
|
||||
| Merge gate wall-time (`pnpm test:gate`) | 9.1s | -20.1s |
|
||||
| Boot smoke wall-time (`pnpm smoke:boot`) | 18.5s | -5.6s |
|
||||
| Changed-only test wall-time (`pnpm test`) | 14.9s | -20.7s |
|
||||
| Quarantine / flake count | 2 | 0 |
|
||||
| Merge gate wall-time (`pnpm test:gate`) | 14.6s | +5.4s |
|
||||
| Boot smoke wall-time (`pnpm smoke:boot`) | 18.1s | -305ms |
|
||||
| Changed-only test wall-time (`pnpm test`) | 22.4s | +7.5s |
|
||||
| Quarantine / flake count | 1 | -1 |
|
||||
| Deletion-due quarantines | 0 | n/a |
|
||||
|
||||
## Measurement failures
|
||||
@@ -25,39 +25,38 @@
|
||||
|
||||
## Timing snapshot notes
|
||||
|
||||
- Timing snapshot is 25 days old; verify slowest-file attribution before treating the table as the current culprit.
|
||||
- 9 of the listed slowest files no longer exist at the recorded paths: `packages/dashboard/src/__tests__/insights-routes.test.ts`, `packages/engine/src/runtimes/__tests__/in-process-runtime.test.ts`, `packages/dashboard/src/__tests__/workflow-routes.test.ts`, `packages/core/src/__tests__/db.test.ts`, `packages/core/src/__tests__/mission-store.test.ts`, …. Refresh scripts/test-timings.json before choosing a slow-test rewrite.
|
||||
- No stale or missing timing metadata detected in the rendered slowest-file rows.
|
||||
|
||||
## Slowest 20 test files
|
||||
|
||||
| Rank | File | Package | Duration |
|
||||
|---:|---|---|---:|
|
||||
| 1 | `packages/dashboard/src/__tests__/insights-routes.test.ts` | @fusion/dashboard | 26.5s |
|
||||
| 2 | `packages/engine/src/runtimes/__tests__/in-process-runtime.test.ts` | @fusion/engine | 24.7s |
|
||||
| 3 | `packages/dashboard/src/__tests__/workflow-routes.test.ts` | @fusion/dashboard | 22.0s |
|
||||
| 4 | `packages/core/src/__tests__/db.test.ts` | @fusion/core | 21.2s |
|
||||
| 5 | `packages/dashboard/app/components/__tests__/GitManagerModal.test.tsx` | @fusion/dashboard | 16.9s |
|
||||
| 6 | `packages/core/src/__tests__/mission-store.test.ts` | @fusion/core | 16.0s |
|
||||
| 7 | `packages/cli/src/__tests__/extension.test.ts` | @runfusion/fusion | 15.7s |
|
||||
| 8 | `packages/dashboard/app/components/__tests__/AgentPromptsManager.test.tsx` | @fusion/dashboard | 14.8s |
|
||||
| 9 | `packages/dashboard/app/components/__tests__/App.test.tsx` | @fusion/dashboard | 14.6s |
|
||||
| 10 | `packages/dashboard/app/components/__tests__/TaskDetailModal.inline-editing-and-integrations.test.tsx` | @fusion/dashboard | 14.1s |
|
||||
| 11 | `packages/dashboard/app/components/__tests__/TaskDetailModal.rendering.test.tsx` | @fusion/dashboard | 13.7s |
|
||||
| 12 | `packages/dashboard/src/__tests__/routes-auth.test.ts` | @fusion/dashboard | 13.6s |
|
||||
| 13 | `packages/core/src/__tests__/agent-store.test.ts` | @fusion/core | 13.4s |
|
||||
| 14 | `packages/engine/src/__tests__/workspace-merger-idempotency.test.ts` | @fusion/engine | 12.7s |
|
||||
| 15 | `packages/engine/src/__tests__/self-healing-workspace.test.ts` | @fusion/engine | 11.8s |
|
||||
| 16 | `packages/engine/src/__tests__/pr-response-run.test.ts` | @fusion/engine | 11.6s |
|
||||
| 17 | `packages/dashboard/app/components/__tests__/ListView.test.tsx` | @fusion/dashboard | 11.3s |
|
||||
| 18 | `plugins/fusion-plugin-compound-engineering/src/__tests__/sync.test.ts` | @fusion-plugin-examples/compound-engineering | 11.0s |
|
||||
| 19 | `packages/dashboard/app/components/__tests__/AgentDetailView.settings.test.tsx` | @fusion/dashboard | 10.7s |
|
||||
| 20 | `packages/dashboard/app/components/__tests__/SecretsView.test.tsx` | @fusion/dashboard | 10.7s |
|
||||
| 1 | `packages/dashboard/app/components/__tests__/SettingsModal.general.test.tsx` | @fusion/dashboard | 2m 01s |
|
||||
| 2 | `packages/dashboard/app/components/__tests__/SettingsModal.scheduling-merge.test.tsx` | @fusion/dashboard | 1m 18s |
|
||||
| 3 | `packages/core/src/__tests__/postgres/schema-applier.test.ts` | @fusion/core | 1m 06s |
|
||||
| 4 | `packages/dashboard/app/components/__tests__/SettingsModal.remote-notifications.test.tsx` | @fusion/dashboard | 55.7s |
|
||||
| 5 | `packages/dashboard/app/components/__tests__/SettingsModal.models-auth.test.tsx` | @fusion/dashboard | 53.5s |
|
||||
| 6 | `packages/dashboard/app/components/__tests__/TaskDetailModal.rendering.test.tsx` | @fusion/dashboard | 52.1s |
|
||||
| 7 | `packages/cli/src/__tests__/extension.test.ts` | @runfusion/fusion | 51.6s |
|
||||
| 8 | `packages/core/src/__tests__/postgres/sqlite-migrator.test.ts` | @fusion/core | 51.3s |
|
||||
| 9 | `packages/dashboard/app/components/__tests__/TaskDetailModal.inline-editing-and-integrations.test.tsx` | @fusion/dashboard | 39.7s |
|
||||
| 10 | `packages/dashboard/app/components/__tests__/ListView.test.tsx` | @fusion/dashboard | 38.1s |
|
||||
| 11 | `packages/dashboard/app/components/__tests__/App.test.tsx` | @fusion/dashboard | 33.1s |
|
||||
| 12 | `packages/dashboard/app/components/__tests__/WorkflowNodeEditor.test.tsx` | @fusion/dashboard | 33.1s |
|
||||
| 13 | `packages/dashboard/app/components/__tests__/AgentDetailView.advanced-settings.test.tsx` | @fusion/dashboard | 32.9s |
|
||||
| 14 | `packages/dashboard/app/components/__tests__/SecretsView.test.tsx` | @fusion/dashboard | 30.9s |
|
||||
| 15 | `packages/core/src/__tests__/postgres/taskstore-remaining.test.ts` | @fusion/core | 30.5s |
|
||||
| 16 | `packages/dashboard/app/components/__tests__/AgentPromptsManager.test.tsx` | @fusion/dashboard | 30.2s |
|
||||
| 17 | `packages/dashboard/app/components/__tests__/ChatView.core-interactions.test.tsx` | @fusion/dashboard | 29.2s |
|
||||
| 18 | `packages/dashboard/app/components/__tests__/TaskDetailModal.test.tsx` | @fusion/dashboard | 27.8s |
|
||||
| 19 | `packages/dashboard/app/components/__tests__/TaskDetailModal.definition-actions.test.tsx` | @fusion/dashboard | 27.0s |
|
||||
| 20 | `packages/engine/src/__tests__/reliability-interactions/explicit-duplicate-marker-sweep.test.ts` | @fusion/engine | 26.8s |
|
||||
|
||||
## Quarantine age buckets
|
||||
|
||||
| Age bucket | Count |
|
||||
|---|---:|
|
||||
| 0-6 days | 2 |
|
||||
| 0-6 days | 1 |
|
||||
| 7-13 days | 0 |
|
||||
| deletion due (>=14 days) | 0 |
|
||||
| unknown/future | 0 |
|
||||
@@ -72,16 +71,16 @@
|
||||
|
||||
| Row | Captured at | Gate | Boot smoke | `pnpm test` | Quarantine count |
|
||||
|---|---|---:|---:|---:|---:|
|
||||
| Previous | 2026-07-22T21:58:46.970Z | 29.3s | 24.0s | 35.7s | 2 |
|
||||
| Latest | 2026-07-22T22:40:53.357Z | 9.1s | 18.5s | 14.9s | 2 |
|
||||
| Delta | — | -20.1s | -5.6s | -20.7s | 0 |
|
||||
| Previous | 2026-07-22T22:40:53.357Z | 9.1s | 18.5s | 14.9s | 2 |
|
||||
| Latest | 2026-08-04T03:10:46.073Z | 14.6s | 18.1s | 22.4s | 1 |
|
||||
| Delta | — | +5.4s | -305ms | +7.5s | -1 |
|
||||
|
||||
_Future weekly rows append to `scripts/test-velocity-history.json`; compare the latest row against the previous row before posting to #leads._
|
||||
|
||||
## Post to #leads
|
||||
|
||||
```text
|
||||
FN-6612 weekly test velocity: gate 9.1s (-20.1s), boot smoke 18.5s (-5.6s), pnpm test 14.9s (-20.7s), quarantine ledger 2 (0). Slowest file: packages/dashboard/src/__tests__/insights-routes.test.ts at 26.5s. Deletion-due quarantines: 0.
|
||||
FN-6612 weekly test velocity: gate 14.6s (+5.4s), boot smoke 18.1s (-305ms), pnpm test 22.4s (+7.5s), quarantine ledger 1 (-1). Slowest file: packages/dashboard/app/components/__tests__/SettingsModal.general.test.tsx at 2m 01s. Deletion-due quarantines: 0.
|
||||
```
|
||||
|
||||
## How to refresh
|
||||
|
||||
@@ -2045,6 +2045,118 @@
|
||||
"Timing snapshot is 25 days old; verify slowest-file attribution before treating the table as the current culprit.",
|
||||
"9 of the listed slowest files no longer exist at the recorded paths: `packages/dashboard/src/__tests__/insights-routes.test.ts`, `packages/engine/src/runtimes/__tests__/in-process-runtime.test.ts`, `packages/dashboard/src/__tests__/workflow-routes.test.ts`, `packages/core/src/__tests__/db.test.ts`, `packages/core/src/__tests__/mission-store.test.ts`, …. Refresh scripts/test-timings.json before choosing a slow-test rewrite."
|
||||
]
|
||||
},
|
||||
{
|
||||
"capturedAt": "2026-08-04T03:10:46.073Z",
|
||||
"gateMs": 14566,
|
||||
"bootSmokeMs": 18149,
|
||||
"testMs": 22450,
|
||||
"quarantineCount": 1,
|
||||
"slowestTop20": [
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/SettingsModal.general.test.tsx",
|
||||
"ms": 121100,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/SettingsModal.scheduling-merge.test.tsx",
|
||||
"ms": 77800,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/core/src/__tests__/postgres/schema-applier.test.ts",
|
||||
"ms": 65900,
|
||||
"package": "@fusion/core"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/SettingsModal.remote-notifications.test.tsx",
|
||||
"ms": 55700,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/SettingsModal.models-auth.test.tsx",
|
||||
"ms": 53500,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/TaskDetailModal.rendering.test.tsx",
|
||||
"ms": 52100,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/cli/src/__tests__/extension.test.ts",
|
||||
"ms": 51600,
|
||||
"package": "@runfusion/fusion"
|
||||
},
|
||||
{
|
||||
"file": "packages/core/src/__tests__/postgres/sqlite-migrator.test.ts",
|
||||
"ms": 51300,
|
||||
"package": "@fusion/core"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/TaskDetailModal.inline-editing-and-integrations.test.tsx",
|
||||
"ms": 39700,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/ListView.test.tsx",
|
||||
"ms": 38100,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/App.test.tsx",
|
||||
"ms": 33100,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/WorkflowNodeEditor.test.tsx",
|
||||
"ms": 33100,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/AgentDetailView.advanced-settings.test.tsx",
|
||||
"ms": 32900,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/SecretsView.test.tsx",
|
||||
"ms": 30900,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/core/src/__tests__/postgres/taskstore-remaining.test.ts",
|
||||
"ms": 30500,
|
||||
"package": "@fusion/core"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/AgentPromptsManager.test.tsx",
|
||||
"ms": 30200,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/ChatView.core-interactions.test.tsx",
|
||||
"ms": 29200,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/TaskDetailModal.test.tsx",
|
||||
"ms": 27800,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/TaskDetailModal.definition-actions.test.tsx",
|
||||
"ms": 27000,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/engine/src/__tests__/reliability-interactions/explicit-duplicate-marker-sweep.test.ts",
|
||||
"ms": 26800,
|
||||
"package": "@fusion/engine"
|
||||
}
|
||||
],
|
||||
"measurementFailures": [],
|
||||
"timingSnapshotCapturedAt": "2026-07-24T13:09:41.412Z",
|
||||
"timingNotes": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user