FN-7092: refresh test velocity snapshots
Refresh the weekly test velocity baseline after the pnpm test lane recovered. - Update the latest baseline with green gate, boot smoke, and pnpm test timings. - Drop stale timing rows for removed or split test files. - Append the new weekly history entry with current slowest-file data. Files changed: docs/test-velocity-baseline.md | 48 +++++++--------- scripts/test-timings.json | 14 +---- scripts/test-velocity-history.json | 112 +++++++++++++++++++++++++++++++++++++ 3 files changed, 133 insertions(+), 41 deletions(-) Fusion-Task-Id: FN-7092 Fusion-Task-Lineage: 0b2cfa7a-953b-4cf8-ac4b-c81a0580a4e0 Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
This commit is contained in:
@@ -5,30 +5,29 @@
|
||||
## Latest baseline
|
||||
|
||||
- Cycle: **2026-W26**
|
||||
- Captured at: **2026-06-27T02:02:13.530Z**
|
||||
- Timing snapshot: `scripts/test-timings.json` captured at **2026-06-25T05:45:08.116Z**; SettingsModal rows below include the FN-7087 scoped refresh captured from `dashboard-app-quality-settings` after the monolith split.
|
||||
- Captured at: **2026-06-27T05:43:17.293Z**
|
||||
- Timing snapshot: `scripts/test-timings.json` captured at **2026-06-27T05:41:42.568Z**
|
||||
- Quarantine ledger: `scripts/lib/test-quarantine.json`
|
||||
|
||||
## Metrics
|
||||
|
||||
| Metric | Current | Delta vs previous |
|
||||
|---|---:|---:|
|
||||
| Merge gate wall-time (`pnpm test:gate`) | 8.1s | +649ms |
|
||||
| Boot smoke wall-time (`pnpm smoke:boot`) | 17.6s | -603ms |
|
||||
| Changed-only test wall-time (`pnpm test`) | unavailable | n/a |
|
||||
| Merge gate wall-time (`pnpm test:gate`) | 6.9s | -1.2s |
|
||||
| Boot smoke wall-time (`pnpm smoke:boot`) | 18.0s | +436ms |
|
||||
| Changed-only test wall-time (`pnpm test`) | 13.7s | n/a |
|
||||
| Quarantine / flake count | 0 | 0 |
|
||||
| Deletion-due quarantines | 0 | n/a |
|
||||
|
||||
## Measurement failures
|
||||
|
||||
- Changed-only tests (`pnpm test`): exit 1 after 31.0s. The failure was outside the FN-7087 SettingsModal scoped run, so the weekly generated snapshot was hand-corrected with the successful split SettingsModal measurement pending the next fully green weekly refresh.
|
||||
- None recorded.
|
||||
|
||||
## Timing snapshot notes
|
||||
|
||||
- FN-7087 manually replaced the obsolete `SettingsModal` monolith entry with the four current split files measured by `pnpm --filter @fusion/dashboard exec vitest run --project dashboard-app-quality-settings --reporter=default --silent=passed-only`.
|
||||
- One historical slow-file entry in `scripts/test-timings.json` still points at a removed ChatView path; refresh `scripts/test-timings.json` after the changed-only lane is green before selecting the next slow-test rewrite from this report.
|
||||
- No stale or missing timing metadata detected in the rendered slowest-file rows.
|
||||
|
||||
## Slowest known current test files and settings split refresh
|
||||
## Slowest 20 test files
|
||||
|
||||
| Rank | File | Package | Duration |
|
||||
|---:|---|---|---:|
|
||||
@@ -45,22 +44,13 @@
|
||||
| 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/dashboard/app/components/__tests__/SettingsModal.scheduling-merge.test.tsx` | @fusion/dashboard | 12.8s |
|
||||
| 15 | `packages/engine/src/__tests__/workspace-merger-idempotency.test.ts` | @fusion/engine | 12.7s |
|
||||
| 16 | `packages/engine/src/__tests__/self-healing-workspace.test.ts` | @fusion/engine | 11.8s |
|
||||
| 17 | `packages/engine/src/__tests__/pr-response-run.test.ts` | @fusion/engine | 11.6s |
|
||||
| 18 | `packages/dashboard/app/components/__tests__/ListView.test.tsx` | @fusion/dashboard | 11.3s |
|
||||
| 19 | `packages/dashboard/app/components/__tests__/SettingsModal.general.test.tsx` | @fusion/dashboard | 11.2s |
|
||||
| 20 | `plugins/fusion-plugin-compound-engineering/src/__tests__/sync.test.ts` | @fusion-plugin-examples/compound-engineering | 11.0s |
|
||||
|
||||
### FN-7087 SettingsModal split files
|
||||
|
||||
| File | Tests | Duration |
|
||||
|---|---:|---:|
|
||||
| `packages/dashboard/app/components/__tests__/SettingsModal.remote-notifications.test.tsx` | 59 | 10.6s |
|
||||
| `packages/dashboard/app/components/__tests__/SettingsModal.models-auth.test.tsx` | 57 | 10.4s |
|
||||
| `packages/dashboard/app/components/__tests__/SettingsModal.scheduling-merge.test.tsx` | 97 | 12.8s |
|
||||
| `packages/dashboard/app/components/__tests__/SettingsModal.general.test.tsx` | 53 | 11.2s |
|
||||
| 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 |
|
||||
|
||||
## Quarantine age buckets
|
||||
|
||||
@@ -81,16 +71,16 @@
|
||||
|
||||
| Row | Captured at | Gate | Boot smoke | `pnpm test` | Quarantine count |
|
||||
|---|---|---:|---:|---:|---:|
|
||||
| Previous | 2026-06-25T05:47:54.804Z | 7.5s | 18.2s | 9.4s | 0 |
|
||||
| Latest | 2026-06-27T02:02:13.530Z | 8.1s | 17.6s | unavailable | 0 |
|
||||
| Delta | — | +649ms | -603ms | n/a | 0 |
|
||||
| Previous | 2026-06-27T02:02:13.530Z | 8.1s | 17.6s | unavailable | 0 |
|
||||
| Latest | 2026-06-27T05:43:17.293Z | 6.9s | 18.0s | 13.7s | 0 |
|
||||
| Delta | — | -1.2s | +436ms | n/a | 0 |
|
||||
|
||||
_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 8.1s (+649ms), boot smoke 17.6s (-603ms), pnpm test unavailable (n/a), quarantine ledger 0 (0). Slowest known current file: packages/dashboard/src/__tests__/insights-routes.test.ts at 26.5s; SettingsModal split refresh slowest sibling: packages/dashboard/app/components/__tests__/SettingsModal.scheduling-merge.test.tsx at 12.8s. Deletion-due quarantines: 0.
|
||||
FN-6612 weekly test velocity: gate 6.9s (-1.2s), boot smoke 18.0s (+436ms), pnpm test 13.7s (n/a), quarantine ledger 0 (0). Slowest file: packages/dashboard/src/__tests__/insights-routes.test.ts at 26.5s. Deletion-due quarantines: 0.
|
||||
```
|
||||
|
||||
## How to refresh
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"capturedAt": "2026-06-25T05:45:08.116Z",
|
||||
"capturedAt": "2026-06-27T05:41:42.568Z",
|
||||
"packages": {
|
||||
"@fusion-plugin-examples/acp-runtime": {
|
||||
"files": {
|
||||
@@ -369,7 +369,6 @@
|
||||
"packages/core/src/__tests__/store-upsert.test.ts": 5100,
|
||||
"packages/core/src/__tests__/store-watcher.test.ts": 100,
|
||||
"packages/core/src/__tests__/store-workflow-runtime.test.ts": 900,
|
||||
"packages/core/src/__tests__/store-workflow-steps.test.ts": 500,
|
||||
"packages/core/src/__tests__/store.experiment-session-accessor.test.ts": 300,
|
||||
"packages/core/src/__tests__/stranded-refinements.test.ts": 400,
|
||||
"packages/core/src/__tests__/strip-approval-bypass-flags.test.ts": 100,
|
||||
@@ -430,8 +429,6 @@
|
||||
"packages/core/src/__tests__/workflow-settings-resolver.test.ts": 100,
|
||||
"packages/core/src/__tests__/workflow-settings.test.ts": 100,
|
||||
"packages/core/src/__tests__/workflow-step-instances.test.ts": 900,
|
||||
"packages/core/src/__tests__/workflow-step-migration.test.ts": 200,
|
||||
"packages/core/src/__tests__/workflow-step-templates-verdict.test.ts": 100,
|
||||
"packages/core/src/__tests__/workflow-steps-to-ir.test.ts": 100,
|
||||
"packages/core/src/__tests__/workspace-dependency-acyclicity.test.ts": 100,
|
||||
"packages/core/src/__tests__/worktrunk-settings.test.ts": 100,
|
||||
@@ -552,7 +549,6 @@
|
||||
"packages/dashboard/app/components/__tests__/AgentGenerationModal.test.tsx": 1100,
|
||||
"packages/dashboard/app/components/__tests__/AgentImportModal.test.tsx": 300,
|
||||
"packages/dashboard/app/components/__tests__/AgentListModal.test.tsx": 1200,
|
||||
"packages/dashboard/app/components/__tests__/AgentLogViewer.test.tsx": 500,
|
||||
"packages/dashboard/app/components/__tests__/AgentMentionPopup.room.test.tsx": 100,
|
||||
"packages/dashboard/app/components/__tests__/AgentMentionPopup.test.tsx": 100,
|
||||
"packages/dashboard/app/components/__tests__/AgentMetricsBar.test.tsx": 100,
|
||||
@@ -587,7 +583,6 @@
|
||||
"packages/dashboard/app/components/__tests__/ChatView.scroll-to-top.test.tsx": 100,
|
||||
"packages/dashboard/app/components/__tests__/ChatView.streaming-thread.test.tsx": 100,
|
||||
"packages/dashboard/app/components/__tests__/ChatView.swipe-back.test.tsx": 100,
|
||||
"packages/dashboard/app/components/__tests__/ChatView.test.tsx": 24400,
|
||||
"packages/dashboard/app/components/__tests__/Column.test.tsx": 500,
|
||||
"packages/dashboard/app/components/__tests__/CommitDiffTab.test.tsx": 100,
|
||||
"packages/dashboard/app/components/__tests__/ConfirmDialog.test.tsx": 100,
|
||||
@@ -730,7 +725,6 @@
|
||||
"packages/dashboard/app/components/__tests__/SettingsModal.backup.css.test.ts": 100,
|
||||
"packages/dashboard/app/components/__tests__/SettingsModal.memory-css.test.ts": 100,
|
||||
"packages/dashboard/app/components/__tests__/SettingsModal.memory-editor.test.ts": 100,
|
||||
"packages/dashboard/app/components/__tests__/SettingsModal.test.tsx": 60500,
|
||||
"packages/dashboard/app/components/__tests__/SettingsModal.testMode.test.tsx": 200,
|
||||
"packages/dashboard/app/components/__tests__/SettingsModal.workflow-model-lane-css.test.ts": 100,
|
||||
"packages/dashboard/app/components/__tests__/SettingsModal.worktrunk.test.tsx": 600,
|
||||
@@ -1301,8 +1295,7 @@
|
||||
"packages/dashboard/src/routes/__tests__/task-custom-fields-route.test.ts": 2200,
|
||||
"packages/dashboard/src/routes/__tests__/task-review-routes.test.ts": 100,
|
||||
"packages/dashboard/src/routes/__tests__/workflow-design-route.test.ts": 9800,
|
||||
"packages/dashboard/src/routes/__tests__/workflow-import-export.test.ts": 6500,
|
||||
"packages/dashboard/src/routes/__tests__/workflow-migrate-route.test.ts": 200
|
||||
"packages/dashboard/src/routes/__tests__/workflow-import-export.test.ts": 6500
|
||||
}
|
||||
},
|
||||
"@fusion/engine": {
|
||||
@@ -1432,8 +1425,6 @@
|
||||
"packages/engine/src/__tests__/executor-task-done-summary.test.ts": 100,
|
||||
"packages/engine/src/__tests__/executor-token-usage.test.ts": 100,
|
||||
"packages/engine/src/__tests__/executor-user-cancel.test.ts": 100,
|
||||
"packages/engine/src/__tests__/executor-workflow-revision-scope.test.ts": 100,
|
||||
"packages/engine/src/__tests__/executor-workflow-step-scope.test.ts": 100,
|
||||
"packages/engine/src/__tests__/executor-workspace-capture.test.ts": 4600,
|
||||
"packages/engine/src/__tests__/executor-workspace-concurrent-session.test.ts": 100,
|
||||
"packages/engine/src/__tests__/executor-workspace-session-cwd.test.ts": 100,
|
||||
@@ -1524,7 +1515,6 @@
|
||||
"packages/engine/src/__tests__/merger-no-op-fix-finalize.test.ts": 1700,
|
||||
"packages/engine/src/__tests__/merger-orphan-rehome.test.ts": 1900,
|
||||
"packages/engine/src/__tests__/merger-post-merge-audit-rangebase.test.ts": 2800,
|
||||
"packages/engine/src/__tests__/merger-post-merge.test.ts": 100,
|
||||
"packages/engine/src/__tests__/merger-post-push-stats-refresh.test.ts": 100,
|
||||
"packages/engine/src/__tests__/merger-prompt-and-utils.test.ts": 100,
|
||||
"packages/engine/src/__tests__/merger-rebase-base-sha.test.ts": 100,
|
||||
|
||||
@@ -1137,6 +1137,118 @@
|
||||
"timingNotes": [
|
||||
"2 of the listed slowest files no longer exist at the recorded paths: `packages/dashboard/app/components/__tests__/SettingsModal.test.tsx`, `packages/dashboard/app/components/__tests__/ChatView.test.tsx`. Refresh scripts/test-timings.json before choosing a slow-test rewrite."
|
||||
]
|
||||
},
|
||||
{
|
||||
"capturedAt": "2026-06-27T05:43:17.293Z",
|
||||
"gateMs": 6904,
|
||||
"bootSmokeMs": 17990,
|
||||
"testMs": 13743,
|
||||
"quarantineCount": 0,
|
||||
"slowestTop20": [
|
||||
{
|
||||
"file": "packages/dashboard/src/__tests__/insights-routes.test.ts",
|
||||
"ms": 26500,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/engine/src/runtimes/__tests__/in-process-runtime.test.ts",
|
||||
"ms": 24700,
|
||||
"package": "@fusion/engine"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/src/__tests__/workflow-routes.test.ts",
|
||||
"ms": 22000,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/core/src/__tests__/db.test.ts",
|
||||
"ms": 21200,
|
||||
"package": "@fusion/core"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/GitManagerModal.test.tsx",
|
||||
"ms": 16900,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/core/src/__tests__/mission-store.test.ts",
|
||||
"ms": 16000,
|
||||
"package": "@fusion/core"
|
||||
},
|
||||
{
|
||||
"file": "packages/cli/src/__tests__/extension.test.ts",
|
||||
"ms": 15700,
|
||||
"package": "@runfusion/fusion"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/AgentPromptsManager.test.tsx",
|
||||
"ms": 14800,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/App.test.tsx",
|
||||
"ms": 14600,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/TaskDetailModal.inline-editing-and-integrations.test.tsx",
|
||||
"ms": 14100,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/TaskDetailModal.rendering.test.tsx",
|
||||
"ms": 13700,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/src/__tests__/routes-auth.test.ts",
|
||||
"ms": 13600,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/core/src/__tests__/agent-store.test.ts",
|
||||
"ms": 13400,
|
||||
"package": "@fusion/core"
|
||||
},
|
||||
{
|
||||
"file": "packages/engine/src/__tests__/workspace-merger-idempotency.test.ts",
|
||||
"ms": 12700,
|
||||
"package": "@fusion/engine"
|
||||
},
|
||||
{
|
||||
"file": "packages/engine/src/__tests__/self-healing-workspace.test.ts",
|
||||
"ms": 11800,
|
||||
"package": "@fusion/engine"
|
||||
},
|
||||
{
|
||||
"file": "packages/engine/src/__tests__/pr-response-run.test.ts",
|
||||
"ms": 11600,
|
||||
"package": "@fusion/engine"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/ListView.test.tsx",
|
||||
"ms": 11300,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "plugins/fusion-plugin-compound-engineering/src/__tests__/sync.test.ts",
|
||||
"ms": 11000,
|
||||
"package": "@fusion-plugin-examples/compound-engineering"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/AgentDetailView.settings.test.tsx",
|
||||
"ms": 10700,
|
||||
"package": "@fusion/dashboard"
|
||||
},
|
||||
{
|
||||
"file": "packages/dashboard/app/components/__tests__/SecretsView.test.tsx",
|
||||
"ms": 10700,
|
||||
"package": "@fusion/dashboard"
|
||||
}
|
||||
],
|
||||
"measurementFailures": [],
|
||||
"timingSnapshotCapturedAt": "2026-06-27T05:41:42.568Z",
|
||||
"timingNotes": []
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user