* test(#3143): add no-unbounded-spawn guard and throw-preserving git fixture Adds the ESLint rule local/no-unbounded-spawn, wired into the tests/**/*.cjs block, plus an allowlist that only ratchets down: a listed file with zero violations reports its own entry as stale. The rule resolves renamed destructures and chained requires rather than matching literal callee names -- both forms exist in the suite today and a name-only matcher leaves them permanently invisible. It resolves an options object held in a single-write const, which is what keeps process-seam.cjs, the bounded reference implementation, from flagging itself. timeout: 0 and anything above the 600000ms ceiling are rejected as only nominally bounded. Adds tests/helpers/git-fixture.cjs so a migrated execSync call site keeps its throw-on-non-zero contract; process-seam.cjs is unchanged. * test(#3143): prove the allowlist guards can actually fail Extracts the D4/D6/D7/D8 checks into pure helpers and drives each against a synthetic fixture carrying an injected violation. Without this the suite only proved that today's clean data passes, which a deleted check would also satisfy. * fix(#3143): close two ceiling and alias escapes found in review Nested arithmetic bypassed the ceiling entirely: the numeric evaluator only resolved a flat literal, so `timeout: 60 * 60 * 1000` (3600000ms, six times the ceiling) fell through to trusted and reported nothing. The evaluator now recurses through arithmetic and unary signs with a depth cap. Alias resolution was traversal-order dependent, not scope dependent: a call textually above its own require destructure saw an empty alias map and reported clean. The map is now built in a Program pre-pass. Also: an explicit timeoutMs:undefined no longer overwrites the git fixture default via spread, adds the missing seam-routed rule test, and de-duplicates the repeated try/catch in the fixture tests. --------- Co-authored-by: sim <sim@local>
142 lines
5.6 KiB
JSON
142 lines
5.6 KiB
JSON
[
|
|
"tests/adr-15-progress-converge.test.cjs",
|
|
"tests/agent-fragments-emission.install.test.cjs",
|
|
"tests/agent-install-validation.test.cjs",
|
|
"tests/agent-skills.test.cjs",
|
|
"tests/antigravity-upgrades.test.cjs",
|
|
"tests/augment-upgrades.test.cjs",
|
|
"tests/autonomous-converge.test.cjs",
|
|
"tests/bugs-1656-1657.test.cjs",
|
|
"tests/capability-cli.test.cjs",
|
|
"tests/capability-consent.test.cjs",
|
|
"tests/capability-ledger.test.cjs",
|
|
"tests/capability-lifecycle.test.cjs",
|
|
"tests/capability-loader.test.cjs",
|
|
"tests/capability-writer.test.cjs",
|
|
"tests/changeset-cli.test.cjs",
|
|
"tests/changeset-github-release-notes.test.cjs",
|
|
"tests/changeset-lint.test.cjs",
|
|
"tests/check-tdd-review-checkpoint-e2e.test.cjs",
|
|
"tests/check-ui-safety-gate.test.cjs",
|
|
"tests/check-update-config-dir.test.cjs",
|
|
"tests/ci-rebase-check.test.cjs",
|
|
"tests/ci-test-scope.test.cjs",
|
|
"tests/cli-exit.test.cjs",
|
|
"tests/close-phase-todos-padded-resolves.test.cjs",
|
|
"tests/code-review-pipeline-regression.test.cjs",
|
|
"tests/codex-config.test.cjs",
|
|
"tests/commands.test.cjs",
|
|
"tests/commit-docs-bypass.test.cjs",
|
|
"tests/commit-files-deletion.test.cjs",
|
|
"tests/commit-files-pathspec.test.cjs",
|
|
"tests/commonjs-marker.test.cjs",
|
|
"tests/config-get-default.test.cjs",
|
|
"tests/config-loader.test.cjs",
|
|
"tests/config.test.cjs",
|
|
"tests/configuration-migrate-config.test.cjs",
|
|
"tests/copilot-install.test.cjs",
|
|
"tests/declarative-reference-antigravity.test.cjs",
|
|
"tests/declarative-reference-augment.test.cjs",
|
|
"tests/declarative-reference-codebuddy.test.cjs",
|
|
"tests/declarative-reference-copilot.test.cjs",
|
|
"tests/declarative-reference-windsurf.test.cjs",
|
|
"tests/declarative-reference-zcode.test.cjs",
|
|
"tests/drift-detection.test.cjs",
|
|
"tests/edge-probe.test.cjs",
|
|
"tests/effort-sync-installed-runtime.test.cjs",
|
|
"tests/emitted-caps-gate.test.cjs",
|
|
"tests/emitted-sizes.test.cjs",
|
|
"tests/ensure-runtime-build.test.cjs",
|
|
"tests/execute-phase-worktree-guard.test.cjs",
|
|
"tests/execute-wave-post-gate-pipeline-e2e.test.cjs",
|
|
"tests/fix-2136-clock-local-today.test.cjs",
|
|
"tests/fix-2590-workflow-script-contract.test.cjs",
|
|
"tests/fix-2608-commit-staging-failure.test.cjs",
|
|
"tests/fix-2650-plan-phase-stall-detection.test.cjs",
|
|
"tests/fix-2657-untrack-compiled-artifacts.test.cjs",
|
|
"tests/fix-3045-cursor-subagent-isolation.test.cjs",
|
|
"tests/fix-3045-dispatch-isolation-resolver.test.cjs",
|
|
"tests/fixture-builder.test.cjs",
|
|
"tests/fixtures/index.cjs",
|
|
"tests/fragment-single-edit-propagation.install.test.cjs",
|
|
"tests/frontmatter-cli.test.cjs",
|
|
"tests/gemini-runtime-removed.test.cjs",
|
|
"tests/gen-registry.test.cjs",
|
|
"tests/git-base-branch.test.cjs",
|
|
"tests/golden-install-tree.test.cjs",
|
|
"tests/graphify-auto-update.slow.test.cjs",
|
|
"tests/graphify-visualization.test.cjs",
|
|
"tests/gsd-agent-isolation-guard.test.cjs",
|
|
"tests/gsd-statusline.test.cjs",
|
|
"tests/gsd-write-guard.property.test.cjs",
|
|
"tests/helpers.cjs",
|
|
"tests/helpers/graphify.cjs",
|
|
"tests/helpers/install-shared.cjs",
|
|
"tests/hooks-opt-in.test.cjs",
|
|
"tests/host-integration.test.cjs",
|
|
"tests/ingest-docs.test.cjs",
|
|
"tests/init.test.cjs",
|
|
"tests/install-minimal-hooks.test.cjs",
|
|
"tests/install-regressions.test.cjs",
|
|
"tests/install-write-confinement.test.cjs",
|
|
"tests/install.test.cjs",
|
|
"tests/installer-migration-install.integration.test.cjs",
|
|
"tests/installer-migrations.test.cjs",
|
|
"tests/io.test.cjs",
|
|
"tests/issue-2695-codex-hook-set.test.cjs",
|
|
"tests/issue-2765-brace-expansion-lockfile.test.cjs",
|
|
"tests/issue-498-update-context.test.cjs",
|
|
"tests/issue-787-cline-hooks-agents.test.cjs",
|
|
"tests/issue-844-manifest-version-sync.test.cjs",
|
|
"tests/kilo-upgrades.test.cjs",
|
|
"tests/kimi-agent-converter.test.cjs",
|
|
"tests/kimi-upgrades.test.cjs",
|
|
"tests/lint-docs-command-form.test.cjs",
|
|
"tests/lint-legacy-dir-name.test.cjs",
|
|
"tests/lint-pr-check-project-dir.test.cjs",
|
|
"tests/lint-regression-test-names.test.cjs",
|
|
"tests/lint-skill-deps.test.cjs",
|
|
"tests/lint-test-file-count.test.cjs",
|
|
"tests/loop-render-hooks.test.cjs",
|
|
"tests/managed-hooks.test.cjs",
|
|
"tests/mcp-catalog-parity.install.test.cjs",
|
|
"tests/mutation-matrix-ratchet.test.cjs",
|
|
"tests/new-milestone-clear-phases.test.cjs",
|
|
"tests/opencode-command-dir-plural.test.cjs",
|
|
"tests/opencode-plugin-adapter.test.cjs",
|
|
"tests/pause-work-improvements.test.cjs",
|
|
"tests/phase.test.cjs",
|
|
"tests/precommit-alias-drift-hook.test.cjs",
|
|
"tests/prepush-enterprise-email-hook.test.cjs",
|
|
"tests/process-seam.test.cjs",
|
|
"tests/prohibition-enforcement.test.cjs",
|
|
"tests/project-instruction-file-parity.test.cjs",
|
|
"tests/prune-orphaned-worktrees.test.cjs",
|
|
"tests/quick-branching.test.cjs",
|
|
"tests/reapply-verify-hunks.test.cjs",
|
|
"tests/release-hotfix-empty-cherry-pick.test.cjs",
|
|
"tests/repo-layout.test.cjs",
|
|
"tests/reviewer-docs-parity.test.cjs",
|
|
"tests/roadmap-upgrade.test.cjs",
|
|
"tests/run-tests-harness.test.cjs",
|
|
"tests/runtime-launcher-parity.test.cjs",
|
|
"tests/skill-frontmatter-contract.test.cjs",
|
|
"tests/slash-command-namespace.test.cjs",
|
|
"tests/smart-entry.unit.test.cjs",
|
|
"tests/spec-section.test.cjs",
|
|
"tests/state-rebuild-cli.test.cjs",
|
|
"tests/state.test.cjs",
|
|
"tests/tsconfig-noemit.test.cjs",
|
|
"tests/validate-registry.test.cjs",
|
|
"tests/verification-status.test.cjs",
|
|
"tests/verify.test.cjs",
|
|
"tests/windsurf-hooks-bridge.test.cjs",
|
|
"tests/workflow-fragments-emission.install.test.cjs",
|
|
"tests/workflow-guard.test.cjs",
|
|
"tests/workspace.test.cjs",
|
|
"tests/worktree-baseref-install.test.cjs",
|
|
"tests/worktree-cleanup.test.cjs",
|
|
"tests/worktree-safety.test.cjs",
|
|
"tests/worktree.test.cjs"
|
|
]
|