mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
Four independent cuts into the 2-4 hour full run, none touching the contract "a mutant must turn its guard red": - guardNeedsBundle: rollup runs only for guards that open the built bundle (demo/ smokes, golden captures, bundle:sync) — 68 of 253 registry entries. Unit and backend guards never read dist/ as a build artifact (verified against every test that mentions dist/**: they read the git checkout or synthetic files), so 185 mutants skip the most expensive step entirely. - seedTestBuild + incremental tsc: the mutant worktree starts from the main tree's warm test-build/ and .tsbuildinfo; tsc compares file hashes, not mtimes, so the fresh checkout stays warm and only the mutated delta is recompiled. This also speeds up the long guards that run tsc themselves. - --changed[=range]: run only mutants whose patch files are touched by the diff (origin/dev..HEAD by default). An empty selection is an honest success with an explicit message — the full registry remains the pre-release contract, per the workflow comment. - --shard=i/n: deterministic interleaved slices; the workflow runs a 4-way matrix, and a warm test-build step feeds every shard. Interleaving spreads the expensive browser mutants across shards instead of clumping them. Measured per mutant on this machine: unit 12-13 s (was ~50-70 s), backend 6 s, browser 32 s (unchanged — the bundle is genuinely needed there). Full run estimate drops to ~70 sequential minutes, ~20 on four shards. Unit coverage: guard classification on real registry shapes, a floor on both classes so the split cannot silently collapse, changed-selection semantics, and shard completeness/disjointness with an anti-clumping bound. Issue: #332 User-Visible: no
49 lines
2.2 KiB
JSON
49 lines
2.2 KiB
JSON
{
|
|
"extends": "./tsconfig.json",
|
|
"compilerOptions": {
|
|
"module": "esnext",
|
|
"outDir": "test-build",
|
|
"noEmit": false,
|
|
"declaration": false,
|
|
"resolveJsonModule": true,
|
|
"incremental": true,
|
|
"tsBuildInfoFile": "test-build/.tsbuildinfo"
|
|
},
|
|
"include": [
|
|
"src/color.ts", "src/styles.ts", "src/styles/*.styles.ts", "src/logic.ts", "src/glow-blend.ts", "src/grid-scale.ts", "src/device-visual.ts", "src/device-pulse.ts", "src/device-presentation.ts", "src/device-marker-geometry.ts",
|
|
"src/device-face.ts", "src/device-toggle.ts", "src/marker-toggle-entity.ts", "src/activity-runtime.ts",
|
|
"src/ha-binding-status.ts",
|
|
"src/integration-provider.ts", "src/vacuum.ts",
|
|
"src/sun.ts",
|
|
"src/light-visibility.ts",
|
|
"src/resize.ts", "src/resize-labels.ts", "src/resize-controller.ts", "src/wall-record-preservation.ts",
|
|
"src/rules.ts",
|
|
"src/devices.ts",
|
|
"src/virtual-light-state.ts",
|
|
"src/types.ts",
|
|
"src/space-geometry.ts", "src/junction-limits.ts",
|
|
"src/space-order.ts", "src/card-editor-validation.ts",
|
|
"src/signing.ts", "src/initial-load.ts", "src/space-model-selection.ts", "src/space-dialog.ts",
|
|
"src/visual-continuity.ts", "src/mode-transition.ts", "src/pointer-modality.ts",
|
|
"src/render-device-snapshot.ts",
|
|
"src/command-stack.ts",
|
|
"src/coordinate-canonicalization.ts",
|
|
"src/serialized-write-queue.ts",
|
|
"src/align-grid.ts",
|
|
"src/plan-optimizer.ts", "src/space-reference-repair.ts", "src/space-deletion.ts",
|
|
"src/plan-geometry-preflight.ts",
|
|
"src/furniture.ts",
|
|
"src/floating-surface.ts", "src/floating-surface-controller.ts", "src/help-behavior.ts",
|
|
"src/hp-help.ts", "src/hp-dialog.ts", "src/hp-color-opacity.ts",
|
|
"src/opening-placement.ts", "src/opening-dimensions.ts", "src/partition-openings.ts", "src/plan-snap-overlay.ts", "src/wall-face-graph.ts", "src/wall-face-repair.ts", "src/room-deletion.ts", "src/render/opening-symbol.ts",
|
|
"src/wall-thickness.ts",
|
|
"src/wall-segment-model.ts",
|
|
"src/wall-merge.ts",
|
|
"src/physical-geometry.ts",
|
|
"src/labs.ts", "src/iso-projection.ts", "src/iso-walls.ts", "src/iso-openings.ts",
|
|
"src/open-spans.ts",
|
|
"src/zero-walls.ts",
|
|
"src/editors/decor/geometry.ts"
|
|
]
|
|
}
|