Files
msd-core/scripts/lint-test-file-count.allowlist.json
Tom Boucher 9341d8b8d3 test(#3334): fold the workflow-dispatch & review-lane fix-* cluster — Wave 2 (#3342)
Folds 15 tests/fix-*.test.cjs regression files (191 test() blocks) into
their module's main suite, per the wave decomposition of #3315 (H3 of
epic #3053). 187 blocks land in 8 existing suites (4 exact-duplicate
cases dropped, documented inline); 4 blocks move via git mv into 2 new
suite files with no prior coverage to merge into. Zero production
behavior change.

Also tightens two H1 (#3313) ratchets that the fold's own file-count
reduction moved past their grace window, per the ratchets' documented
dual failure mode (a stale/too-loose baseline fails exactly like a
novel violation):
- lint-test-file-count.allowlist.json: removes the stale "audit" entry
  (folding fix-2766 into tests/uat.test.cjs drops that module back to
  its 2-file cap).
- lint-allow-test-rule-refs.ceiling.json: lowers maxFiles 314 -> 309,
  the real post-fold high-water mark (gsd-test's own repo-baseline
  test caught this — CI, not a human, found it).

Two orthogonal review passes (Standards+Spec code-review, isolated
security-review) found and this commit fixes two issues before push:
a genuinely-distinct #2287 test case (file-absent vs. file-present-
resolved) that a prior fold pass had wrongly dropped as a duplicate —
restored verbatim into tests/uat.test.cjs; and a missing same-line
allow-test-rule citation on the #2196 block in
tests/debug-session-management.test.cjs, added for consistency with
its sibling #2257 block.

lint-removed-but-needed also caught two stale doc references to the
now-folded-away fix-2285-claude-orchestration-wiring.test.cjs filename
(docs/adr/1143-claude-orchestration-capability.md,
gsd-core/references/execute-phase-response-language.md) — updated both
to point at tests/claude-orchestration.test.cjs, its new home.

Co-authored-by: sim <sim@local>
2026-08-10 20:51:40 -04:00

152 lines
4.4 KiB
JSON

{
"_doc": "Baseline of modules currently exceeding the 2-test-file limit. Each entry locks in TODAY's exact test filenames as the allowlisted set (identity ratchet). Adding a NEW test file to a capped module fails (novel). Removing one requires pruning this list (stale, ratchet-down). When a cluster drops to \u2264 2, remove its entry entirely. New entries require justification in PR description.",
"modules": {
"config": {
"files": [
"config-defaults-runtime-exclusion.test.cjs",
"config-field-docs.test.cjs",
"config-get-default.test.cjs",
"config-schema.property.test.cjs",
"config.test.cjs"
],
"issue": "TBD"
},
"graphify": {
"files": [
"graphify-auto-update.slow.test.cjs",
"graphify-command-cutover.test.cjs",
"graphify-graph-path.test.cjs",
"graphify-query.test.cjs",
"graphify-visualization.test.cjs",
"graphify.test.cjs"
],
"issue": "622"
},
"init": {
"files": [
"init-debug-workflow-contract.test.cjs",
"init-debug.test.cjs",
"init-manager.test.cjs",
"init.test.cjs"
],
"issue": "3149"
},
"milestone": {
"files": [
"milestone-archive.test.cjs",
"milestone-helper.test.cjs",
"milestone-prefixed-convention.test.cjs",
"milestone-summary.test.cjs",
"milestone-window-drift-guard.test.cjs",
"milestone-window-single-owner.test.cjs",
"milestone.test.cjs"
],
"issue": "3216"
},
"phase": {
"files": [
"phase-completion-single-owner.test.cjs",
"phase-dependency-levels.test.cjs",
"phase.test.cjs"
],
"issue": "3186"
},
"roadmap": {
"files": [
"roadmap-mode-field.test.cjs",
"roadmap-phase-fallback.test.cjs",
"roadmap.test.cjs"
],
"issue": "TBD"
},
"runtime-artifact-layout": {
"files": [
"runtime-artifact-layout-descriptor-drive.test.cjs",
"runtime-artifact-layout-install-profiles.test.cjs",
"runtime-artifact-layout-surface.test.cjs",
"runtime-artifact-layout-trigger-surface.test.cjs",
"runtime-artifact-layout.test.cjs"
],
"issue": "2871"
},
"security": {
"files": [
"security-dead-exports.regression.test.cjs",
"security-prompt-injection.security.test.cjs",
"security-scan.security.test.cjs",
"security.test.cjs"
],
"issue": "2198"
},
"state": {
"files": [
"state-acquirestatelock-non-eexist.test.cjs",
"state-command-cutover.test.cjs",
"state-field-drift.test.cjs",
"state-prune.test.cjs",
"state-rebuild-cli.test.cjs",
"state-rebuild.test.cjs",
"state.test.cjs"
],
"issue": "180"
},
"verify": {
"files": [
"verify-health.test.cjs",
"verify-mvp-uat.test.cjs",
"verify-npm-publish.test.cjs",
"verify-test-quality.test.cjs",
"verify-work-auto-transition.test.cjs",
"verify.test.cjs"
],
"issue": "3767"
},
"install": {
"files": [
"install-minimal-hooks.test.cjs",
"install-nested-layout.test.cjs",
"install-path-detection.test.cjs",
"install-regressions.test.cjs",
"install-runtime-artifacts.test.cjs",
"install-update-marker.test.cjs",
"install-write-confinement.test.cjs",
"install.test.cjs"
],
"issue": "1679"
},
"edge-probe": {
"files": [
"edge-probe-docs-fixtures.test.cjs",
"edge-probe-planner-contract.test.cjs",
"edge-probe-spec-phase-contract.test.cjs",
"edge-probe.test.cjs"
],
"issue": "550"
},
"federated-config": {
"files": [
"federated-config.test.cjs",
"federated-config-loadconfig.test.cjs",
"federated-config-key-removal.test.cjs"
],
"issue": "TBD"
},
"host-integration": {
"files": [
"host-integration.test.cjs",
"host-integration-validator-parity.test.cjs",
"host-integration-descriptors.test.cjs"
],
"issue": "1684"
},
"prompt-budget": {
"files": [
"prompt-budget-cli.test.cjs",
"prompt-budget-parity.test.cjs",
"prompt-budget.test.cjs"
],
"issue": "2929"
}
}
}