Files
fusion/scripts/lib/test-inventory-spec.json
Fusion Agent bde81ad4ff feat(FN-182): add deterministic AI-free pipeline smoke lane
Opt-in `pnpm smoke:pipeline` lane replaying 19 declared scenarios across
builtin:coding-ideas and the builtin:coding non-regression floor, driving the
real engine: disposable local Git repositories, throwaway PostgreSQL store,
production graph dispatch, ProjectEngine merge admission, real worktree
acquisition, and deterministic mock-provider scripts under testMode.

Each scenario declares one closed terminal state (merged-done, inert-intake,
parked, manual-hold, no-op-merge); an undeclared terminal fails the run, and
five wedge detectors (W1-W5) reject contradictory parks, finalization loops,
severed sessions, unreachable waits, and quiescence without progress.

Differential proof: on the pre-FN-180 tree (95ea06b48) exactly S05, S06, S09,
S10 and S16 fail across both workflows with behavioral assertions, and pass
after FN-180 — the FN-175/FN-177 incident classes are reproduced mechanically.

The declared duration budget is re-baselined 70s -> 90s at landing. The harness
did not degrade: the identical branch measured 61.8-64.1s against the
pre-integration main and 73.2-80.2s against the same main after 65 upstream
commits, with growth in transform, import and test phases the lane does not own.
docs/testing.md records the measurements, the cause, and the file-consolidation
lever to reach for before the budget is touched again.

Excluded from engine-default and engine-core; the merge gate is unchanged and
CI runs the lane non-blocking after merge.

Fusion-Task-Id: FN-182
2026-08-24 04:19:21 +00:00

38 lines
1.4 KiB
JSON

{
"$comment": "Capture spec for scripts/check-test-inventory.mjs (plan U2). Each package lists the vitest project names to enumerate via `vitest list --json`. For @fusion/dashboard the curated-gate guard checks coverage against `curatedProjects`, which DEFAULTS to `projects` — only list it when the coverage set genuinely diverges from what --capture enumerates. Omitting `projects` captures the default (all) projects.",
"packages": [
{
"name": "@fusion/core",
"dir": "packages/core"
},
{
"name": "@fusion/engine",
"dir": "packages/engine",
"projects": ["engine-default", "engine-reliability", "engine-slow", "engine-pipeline-smoke"]
},
{
"name": "@fusion/engine-slow",
"dir": "packages/engine",
"projects": ["engine-slow"]
},
{
"name": "@fusion/dashboard",
"dir": "packages/dashboard",
"projects": [
"dashboard-app-quality-foundation-api",
"dashboard-app-quality-foundation-ui",
"dashboard-app-quality-foundation-hooks-utils",
"dashboard-app-quality-components-a",
"dashboard-app-quality-components-b",
"dashboard-app-quality-app",
"dashboard-app-quality-chat",
"dashboard-app-quality-settings",
"dashboard-app-quality-backfill",
"dashboard-api-quality",
"dashboard-api-quality-backfill",
"dashboard-browser-touch"
]
}
]
}