test(#1971): consolidate 48 gsd-tools CLI regression tests into subcommand suites

Fold 48 issue-named gsd-tools CLI regression files into the canonical test file
that owns each subcommand subject (state, roadmap, phase, milestone, audit, config,
router/dispatch, stats, verify, health, etc.), preserving every assertion and its
origin issue number as provenance (block-scoped describe wrappers, 299 subtests
conserved 1:1). No monolithic gsd-tools.test.cjs created — routes into 18 existing
per-subject suites.

Removes 48 tests/ files. Regenerates regression-name allowlist (271->231), ratchets
the file-count allowlist across 6 buckets (audit/milestone/phase/roadmap/state/verify),
and makes 10 relocated allow-test-rule exemptions issue-ref-compliant (ADR-456; prunes
10 stale ids). Repoints one CONTEXT.md symptom ref and ADR-3524's parity-test ref.
lint:ci green.

Part of epic #1969. Closes #1971.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Tom Boucher
2026-07-03 01:22:41 -04:00
parent 89ecee06fc
commit de3ba45d00
71 changed files with 10731 additions and 10317 deletions

View File

@@ -3,14 +3,9 @@
"bug-131-release-tarball-smoke-explicit-home.test.cjs",
"bug-1367-claude-local-flat-command-layout.test.cjs",
"bug-14-progress-auto-flag-dropped.test.cjs",
"bug-167-query-meta-command.test.cjs",
"bug-1695-state-patch-clobbers-phase-name.test.cjs",
"bug-17-askuserquestion-option-cap.test.cjs",
"bug-170-workflow-fallback-install-hint.test.cjs",
"bug-1760-state-prune-noop-template-field.test.cjs",
"bug-1761-state-sync-wrong-progress.test.cjs",
"bug-1818-unknown-flags.test.cjs",
"bug-1826-phases-clear-confirm.test.cjs",
"bug-1829-inherit-model-profile.test.cjs",
"bug-1834-sh-hooks-installed.test.cjs",
"bug-1891-file-resolution.test.cjs",
@@ -26,8 +21,6 @@
"bug-214-phase-researcher-write-truncation-contract.test.cjs",
"bug-214-writer-agents-write-truncation-contract.test.cjs",
"bug-222-research-synthesizer-write-contract.test.cjs",
"bug-224-pick-stdout-capture.test.cjs",
"bug-2268-parallel-discuss.test.cjs",
"bug-2344-read-guard-claudecode-env.test.cjs",
"bug-2346-agent-read-loop-guards.test.cjs",
"bug-2351-intel-kilo-layout.test.cjs",
@@ -57,15 +50,10 @@
"bug-2557-gemini-local-hook-paths.test.cjs",
"bug-2559-stale-search-year.test.cjs",
"bug-260-worktree-path-guard.test.cjs",
"bug-2601-inherit-model-profile.test.cjs",
"bug-261-worktree-force-add-guard.test.cjs",
"bug-2630-state-frontmatter-milestone-switch.test.cjs",
"bug-2638-sub-repos-canonical-location.test.cjs",
"bug-2659-audit-open-crash.test.cjs",
"bug-2660-one-liner-extraction.test.cjs",
"bug-2661-roadmap-sync-parallel.test.cjs",
"bug-2686-review-fix-worktree.test.cjs",
"bug-2769-requirements-header-variants.test.cjs",
"bug-2770-annotate-deps-int-coerce.test.cjs",
"bug-2772-gitmodules-path-intersection.test.cjs",
"bug-2784-update-cache-clear-path.test.cjs",
@@ -78,10 +66,8 @@
"bug-2851-workflow-bare-gsd-tools.test.cjs",
"bug-2866-codex-strip-no-trailing-newline.test.cjs",
"bug-2876-skill-frontmatter-quote.test.cjs",
"bug-2911-audit-open-output-shape.test.cjs",
"bug-2912-progress-context-authority.test.cjs",
"bug-2916-handle-branching-default-base.test.cjs",
"bug-2942-detect-custom-skills.test.cjs",
"bug-2943-config-get-context-window-default.test.cjs",
"bug-2948-spike-wrap-up-dispatch.test.cjs",
"bug-2949-sketch-wrap-up-dispatch.test.cjs",
@@ -99,7 +85,6 @@
"bug-3054-stale-gsd-next-references.test.cjs",
"bug-3072-optional-sketch-findings-guard.test.cjs",
"bug-3083-resume-route-clear.test.cjs",
"bug-3086-git-create-tag-config-gate.test.cjs",
"bug-3087-planner-directive-language.test.cjs",
"bug-3096-ai-integration-phase-parallel-race.test.cjs",
"bug-3097-3099-executor-worktree-path-safety.test.cjs",
@@ -110,22 +95,15 @@
"bug-3129-validate-commit-git-bypass.test.cjs",
"bug-3130-update-npx-robust-invocation.test.cjs",
"bug-3135-capture-backlog-workflow.test.cjs",
"bug-3150-stats-json-decimal-phase-gaps.test.cjs",
"bug-3156-plan-phase-opencode-dispatch.test.cjs",
"bug-3163-codex-agents-md.test.cjs",
"bug-3168-task-to-agent-rename.test.cjs",
"bug-3195-quick-resurrection-guard.test.cjs",
"bug-3197-gsd-tools-config-whitelist.test.cjs",
"bug-321-config-defaults-clone-strategy.test.cjs",
"bug-3212-execute-phase-stall-safe-resume.test.cjs",
"bug-3227-config-set-model-overrides.test.cjs",
"bug-3236-capture-seed-one-shot.test.cjs",
"bug-3242-state-update-progress-trample.test.cjs",
"bug-3243-dotted-command-form.test.cjs",
"bug-3257-nested-plans-undercount.test.cjs",
"bug-3258-no-stale-gsd-intel-references.test.cjs",
"bug-3275-fmstr-non-string-scalars.test.cjs",
"bug-3286-state-write-routing.test.cjs",
"bug-3290-intel-updater-layout-block.test.cjs",
"bug-33-settings-model-profile-adaptive.test.cjs",
"bug-3320-planner-deep-work-rules.test.cjs",
@@ -141,25 +119,19 @@
"bug-3442-codex-legacy-hooks-json-migration.test.cjs",
"bug-3442-shim-projection-drift-guard.test.cjs",
"bug-3446-resume-continue-here-discovery.test.cjs",
"bug-3454-state-dollar-backreference-growth.test.cjs",
"bug-3489-complete-phase-idempotent.test.cjs",
"bug-3491-nested-git-worktree.test.cjs",
"bug-3509-path-spaces.test.cjs",
"bug-3516-reapply-patches-gsd-update-filter.test.cjs",
"bug-3521-quick-cleanup-cwd-pin.test.cjs",
"bug-3523-cjs-loadconfig-branching-strategy-warning.test.cjs",
"bug-3537-padded-id-against-unpadded-roadmap.test.cjs",
"bug-3541-installer-migration-prompt-user-resolution.test.cjs",
"bug-3542-executor-git-stash-prohibition.test.cjs",
"bug-3584-runtime-slash-emitters.test.cjs",
"bug-3584-runtime-slash-formatter.test.cjs",
"bug-3588-npm-audit-clean.test.cjs",
"bug-3599-roadmap-get-phase-project-code-prefix.test.cjs",
"bug-3605-stale-research-insert-phase-agent-refs.test.cjs",
"bug-3608-antigravity-update-runtime-classification.test.cjs",
"bug-3610-installer-migration-bundled-hooks-classification.test.cjs",
"bug-3628-bundled-hook-classifier-whitelist.test.cjs",
"bug-3631-router-raw-flag.test.cjs",
"bug-3657-verify-reapply-patches-pristine-drift.test.cjs",
"bug-3659-applysurface-prune-skill-dirs.test.cjs",
"bug-3668-workflow-runtime-resolution.test.cjs",
@@ -170,7 +142,6 @@
"bug-3683-command-cross-reference-invariant.test.cjs",
"bug-3683-workflow-colon-namespace-leak.test.cjs",
"bug-3689-resume-glob-nomatch.test.cjs",
"bug-3691-annotate-deps-plans-block-variants.test.cjs",
"bug-3706-ui-safety-gate-false-positives.test.cjs",
"bug-3707-locked-worktree-cleanup.test.cjs",
"bug-3727-code-review-fix-flag-dispatch.test.cjs",
@@ -181,17 +152,12 @@
"bug-3805-fast-md-log-to-state-schema.test.cjs",
"bug-3810-no-gsd-sdk-runtime-refs.test.cjs",
"bug-384-agents-runtime-aware.test.cjs",
"bug-397-state-preserve-executor-authored.test.cjs",
"bug-416-archive-dir-null.test.cjs",
"bug-444-resolver-local-claude-install.test.cjs",
"bug-447-gap-analysis-phase-req-ids.test.cjs",
"bug-474-clock-seam-date-determinism.test.cjs",
"bug-492-effort-manifest-fallback.test.cjs",
"bug-500-planned-phase-progress-corruption.test.cjs",
"bug-501-flat-phase-details-milestone-leak.test.cjs",
"bug-503-update-agent-antigravity-detection.test.cjs",
"bug-549-total-phases-overcounts-with-phase-section-heading.test.cjs",
"bug-557-details-summary-milestone-strip.test.cjs",
"bug-571-doc-writer-fix-mode-edit-only.test.cjs",
"bug-580-local-sh-hook-bash-wrapper.test.cjs",
"bug-619-codebase-drift-gate-shim.test.cjs",
@@ -205,20 +171,14 @@
"bug-687-agy-timeout.test.cjs",
"bug-730-milestone-phase-details-scope.test.cjs",
"bug-783-kilo-global-skills-base.test.cjs",
"bug-853-bg-dispatch-runtime-gating.test.cjs",
"bug-866-profile-pipeline-temp-root.test.cjs",
"bug-891-non-claude-runtime-home-fallback.test.cjs",
"bug-892-validate-checklist-roadmap-phases.test.cjs",
"bug-905-state-syncstatefrontmatter-preserve-scalars.test.cjs",
"bug-924-claude-flat-skill-layout.test.cjs",
"bug-925-context-monitor-hook-event-name.test.cjs",
"bug-936-no-nested-spawner-wrap.test.cjs",
"bug-941-managed-hooks-registry-manifest.test.cjs",
"bug-947-hermes-gsd-prefix.test.cjs",
"bug-948-state-noop-write-guard.test.cjs",
"bug-950-quick-summary-status-complete.test.cjs",
"bug-967-verify-key-links-strict-paths.test.cjs",
"bug-969-test-infra-flake-hardening.test.cjs",
"bug-974-graphify-budget-missing-value.test.cjs",
"bug-978-milestone-complete-force.test.cjs"
"bug-974-graphify-budget-missing-value.test.cjs"
]