| name | fecim-labtester |
| description | Runs the FeCIM test matrix (full, race, module-scoped, coverage, golden regen) and interprets physics regression failures using the 5 known bug patterns. Use when running tests, debugging test failures, or regenerating physics golden files. |
fecim-labtester
Pick the right test invocation, run it, and triage failures against the 5 known bug patterns. See tools/fecim-skills/_shared/fecim-context.md for the test matrix and bug list.
Workflow
-
Pick scope by the change being verified:
- Whole suite:
go test ./...
- Counted whole suite:
go test -json ./... followed by a pass/fail/skip/package summary
- Race detection:
go test -race ./...
- Module:
go test ./module1-hysteresis/... (or make test-hys, test-xbar, test-mnist, test-circuits, test-shared)
- Canonical Fyne shell:
make test-Fyne-ui
- Coverage:
go test -cover ./...
- Diff hygiene:
git diff --check
-
For physics-regression failures, classify against the 5 known patterns:
- Guard-band sign flip
- Bounds collapse
[VMin, VMax]
- ACCEPT ±1 guard interaction
- Zero-field bounds reset
- Preisach Everett zero-clamp
-
Golden regeneration is allowed only when divergence is intentional and the user has confirmed:
FECIM_UPDATE_PHYSICS_GOLDEN=1 go test ./...
Diff validation/testdata/physics_regression/ before committing — unintended changes are bugs.
-
Output the TDD evidence block per tools/fecim-skills/_shared/tdd-evidence-template.md:
RED: go test ./module1-hysteresis/... -run TestX
FAIL TestX (Preisach Everett zero-clamp pattern)
GREEN: go test ./module1-hysteresis/... -run TestX
ok
VERIFY: go test ./... && go test -race ./... && git diff --check
Verification
- Input: "TestPreisachEverett is failing in module1-hysteresis."
Expected: maps to known bug pattern #5; suggests product-form Everett vs factorized; runs the targeted test, then full suite, then race.
TDD
This skill is the TDD verifier itself — every change made under it must produce the RED/GREEN block above before commit.