test(#1975): consolidate 51 CLI + scripts-tooling regression tests into module suites

Fold 51 issue-named CLI black-box + scripts-tooling regression files into their
canonical module suites (runtime-launcher-parity, worktree-safety, install-*, managed-hooks,
read-guard, capability-registry, etc.), plus a NEW slash-command-namespace.test.cjs grouping
the 4 slash/colon-namespace-leak invariant suites that had no canonical owner. Verbatim
block-scoped describe wrappers; 427 subtests conserved 1:1.

Host-env pre-check (per B2): no CLI-receiving host sets a redirecting GSD_WORKSTREAM/GSD_PROJECT
value. One folded suite (bug-3668 runtime resolver) creates an extension-less PATH gsd-tools
stub + bash -c; co-locating it with the host's chmodSync tripped local/no-unguarded-nonportable-exec,
so it's now Windows-guarded (skip on win32) matching the host suite's own bash -c guard.

Regenerates regression-name allowlist (222->182), ratchets file-count allowlist (graphify 7->6,
docs entry removed), makes 26 relocated allow-test-rule exemptions issue-ref-compliant (ADR-456;
prunes stale ids). Repoints 13 tests/ references across CONTEXT.md, COMMANDS.md/FEATURES.md
(EN + ja/ko/pt/zh) and ADR-0002. lint:ci green.

Part of epic #1969. Closes #1975.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Tom Boucher
2026-07-03 02:47:56 -04:00
parent 3b38b361bb
commit 6d072435d0
92 changed files with 22496 additions and 12036 deletions

View File

@@ -14,27 +14,6 @@
"tests/autonomous-decomposition.test.cjs :: source-text-is-the-product",
"tests/autonomous-interactive.test.cjs :: source-text-is-the-product",
"tests/autonomous-to-flag.test.cjs :: source-text-is-the-product",
"tests/bug-131-release-tarball-smoke-explicit-home.test.cjs :: integration-test-input",
"tests/bug-211-launcher-home-fallback.test.cjs :: structural/behavioral regression for the ~/.claude fallback arm in",
"tests/bug-2136-sh-hook-version.test.cjs :: structural-regression-guard",
"tests/bug-2543-gsd-slash-namespace.test.cjs :: structural-regression-guard",
"tests/bug-2772-gitmodules-path-intersection.test.cjs :: source-text-is-the-product",
"tests/bug-2808-skill-hyphen-name.test.cjs :: source-text-is-the-product",
"tests/bug-3446-resume-continue-here-discovery.test.cjs :: source-text-is-the-product",
"tests/bug-3491-nested-git-worktree.test.cjs :: source-text-is-the-product",
"tests/bug-3523-cjs-loadconfig-branching-strategy-warning.test.cjs :: validates runtime CLI stdout/stderr warning behavior, not source grep",
"tests/bug-3542-executor-git-stash-prohibition.test.cjs :: source-text-is-the-product",
"tests/bug-3677-agent-colon-namespace-leak.test.cjs :: source-text-is-the-product",
"tests/bug-3678-executor-commit-docs-respect.test.cjs :: source-text-is-the-product",
"tests/bug-3683-command-colon-namespace-leak.test.cjs :: source-text-is-the-product",
"tests/bug-3683-workflow-colon-namespace-leak.test.cjs :: source-text-is-the-product",
"tests/bug-3689-resume-glob-nomatch.test.cjs :: source-text-is-the-product",
"tests/bug-444-resolver-local-claude-install.test.cjs :: structural/behavioral regression for the repo-local .claude/ install",
"tests/bug-619-codebase-drift-gate-shim.test.cjs :: source-text-is-the-product",
"tests/bug-622-graphify-optional-graph-html.test.cjs :: source-text-is-the-product",
"tests/bug-630-wave-cleanup-orchestrator-root.test.cjs :: source-text-is-the-product",
"tests/bug-685-windowshide-spawn.test.cjs :: source-text-is-the-product",
"tests/bug-891-non-claude-runtime-home-fallback.test.cjs :: structural/behavioral regression for non-Claude runtime-home",
"tests/chain-flag-plan-phase.test.cjs :: source-text-is-the-product",
"tests/changeset-cli.test.cjs :: reads a product workflow .md file (not CJS source) to verify",
"tests/check-update-config-dir.test.cjs :: structural-regression-guard",
@@ -72,10 +51,6 @@
"tests/edge-probe-planner-contract.test.cjs :: runtime-contract-is-the-product — plan-phase.md's planner prompt is the deployed runtime contract under assertion",
"tests/edge-probe-spec-phase-contract.test.cjs :: runtime-contract-is-the-product — spec-phase.md Step 5.5 is the deployed workflow runtime contract under assertion",
"tests/edit-phase.test.cjs :: source-text-is-the-product",
"tests/enh-2380-sync-skills.test.cjs :: source-text-is-the-product",
"tests/enh-2789-description-budget.test.cjs :: source-text-is-the-product",
"tests/enh-2790-skill-consolidation.test.cjs :: source-text-is-the-product",
"tests/enh-48-cwd-drift-guard-e2e.test.cjs :: integration-test-input",
"tests/eslint-rules.test.cjs :: <source-grep reason> must still error",
"tests/eslint-rules.test.cjs :: pending migration",
"tests/eslint-rules.test.cjs :: source-text-is-the-product",
@@ -88,7 +63,6 @@
"tests/execute-phase-worktree-artifacts.test.cjs :: source-text-is-the-product",
"tests/explore-command.test.cjs :: source-text-is-the-product",
"tests/extract-learnings.test.cjs :: source-text-is-the-product",
"tests/feat-3039-help-tiered.test.cjs :: source-text-is-the-product",
"tests/forensics.test.cjs :: source-text-is-the-product",
"tests/frontmatter-cli.test.cjs :: source-text-is-the-product",
"tests/gates-taxonomy.test.cjs :: source-text-is-the-product",

View File

@@ -1,42 +1 @@
[
"bug-131-release-tarball-smoke-explicit-home.test.cjs",
"bug-1367-claude-local-flat-command-layout.test.cjs",
"bug-1834-sh-hooks-installed.test.cjs",
"bug-1974-context-exhaustion-record.test.cjs",
"bug-211-launcher-home-fallback.test.cjs",
"bug-2136-sh-hook-version.test.cjs",
"bug-2344-read-guard-claudecode-env.test.cjs",
"bug-2451-context-monitor-over-report.test.cjs",
"bug-2520-read-guard-hook-subprocess-env.test.cjs",
"bug-2543-gsd-slash-namespace.test.cjs",
"bug-260-worktree-path-guard.test.cjs",
"bug-261-worktree-force-add-guard.test.cjs",
"bug-2772-gitmodules-path-intersection.test.cjs",
"bug-2808-skill-hyphen-name.test.cjs",
"bug-2916-handle-branching-default-base.test.cjs",
"bug-2995-post-install-script-paths.test.cjs",
"bug-3019-help-passthrough.test.cjs",
"bug-3442-shim-projection-drift-guard.test.cjs",
"bug-3446-resume-continue-here-discovery.test.cjs",
"bug-3491-nested-git-worktree.test.cjs",
"bug-3509-path-spaces.test.cjs",
"bug-3523-cjs-loadconfig-branching-strategy-warning.test.cjs",
"bug-3542-executor-git-stash-prohibition.test.cjs",
"bug-3588-npm-audit-clean.test.cjs",
"bug-3668-workflow-runtime-resolution.test.cjs",
"bug-3677-agent-colon-namespace-leak.test.cjs",
"bug-3678-executor-commit-docs-respect.test.cjs",
"bug-3683-command-colon-namespace-leak.test.cjs",
"bug-3683-workflow-colon-namespace-leak.test.cjs",
"bug-3689-resume-glob-nomatch.test.cjs",
"bug-444-resolver-local-claude-install.test.cjs",
"bug-619-codebase-drift-gate-shim.test.cjs",
"bug-622-graphify-optional-graph-html.test.cjs",
"bug-630-wave-cleanup-orchestrator-root.test.cjs",
"bug-641-files-from-suite-token.test.cjs",
"bug-685-windowshide-spawn.test.cjs",
"bug-891-non-claude-runtime-home-fallback.test.cjs",
"bug-925-context-monitor-hook-event-name.test.cjs",
"bug-941-managed-hooks-registry-manifest.test.cjs",
"bug-969-test-infra-flake-hardening.test.cjs"
]
[]

View File

@@ -12,7 +12,6 @@
},
"graphify": {
"files": [
"bug-622-graphify-optional-graph-html.test.cjs",
"graphify-auto-update.slow.test.cjs",
"graphify-command-cutover.test.cjs",
"graphify-query.test.cjs",
@@ -113,14 +112,6 @@
],
"issue": "#1165"
},
"docs": {
"files": [
"docs-parity-live-registry.test.cjs",
"docs-update.test.cjs",
"fix-1464-docs-manifest-validation.test.cjs"
],
"issue": "1496"
},
"host-integration": {
"files": [
"host-integration.test.cjs",