* feat(#3464): widen no-source-grep to detect regex.exec() on tracked text Adds an execCall kind alongside the existing regexTest detection -- regex.exec(tracked) was invisible to the rule while regex.test(tracked) was already caught, despite both reading a source-derived string through a regex. Measured: 4 previously-invisible sites across 2 files. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * test(#3464): migrate 4 sites newly flagged by the exec() widening docs-hooks-table-parity.test.cjs's three regex-extraction loops are site-scoped marked (source-text-is-the-product) -- the dynamic preToolEvent/postToolEvent dialect branching they mirror is explicitly documented as not statically parseable, so a literal-pattern mirror is the practical minimum-cost check. no-bare-gsd-tools-command-position.test.cjs's readRouterVerbs() now requires HOST_COMMAND_ROUTERS directly instead of regex-walking gsd-tools.cjs's source text -- the same accessor three other suites already use. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(#3464): pay down 6 grandfathered uncited allow-test-rule markers Two were genuinely load-bearing (suppressing a real detected violation) and just needed a citation added -- phase6-capstone-conformance.test.cjs, runtime-name-policy.test.cjs, both now (#3464). Four were dead-weight file-header markers suppressing nothing -- each file's real effective sites are covered by separate, already-cited markers elsewhere in the same file. Deleted outright rather than cited, per Phase 1's own precedent (remove non-load-bearing markers instead of grandfathering them forever) -- codex-config.test.cjs (two copies), gsd-check-update-worker-platform-gate.test.cjs, orphaned-hooks.test.cjs, settings-jsonc.test.cjs. allowlist.json: 134 -> 128 entries. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * chore(#3464): re-baseline effective-exemption ceiling to 84 The exec() widening's 3 newly-marked sites are now suppressed and counted; ceiling rises 81 -> 84, the exact measured high-water mark. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(#3464): correct citation and restore a wrongly-deleted marker Two review corrections, both found by the orthogonal review pass: - docs-hooks-table-parity.test.cjs's 3 new exec() markers cited #3464 (mechanically "the phase that widened the rule") when the file's own established, correct reference is #3839 (the issue this whole test exists to enforce, already cited in its file header) -- fixed to match. - gsd-check-update-worker-platform-gate.test.cjs's deleted file-header marker was NOT dead weight: its codeOnly() helper wraps readFileSync and is called inline as an assert argument, a genuine source-grep pattern on real .cjs/.js source that the rule cannot currently see (helper-function indirection is a distinct blind spot from anything Phase 7/8 measured) -- CONTRIBUTING.md is explicit that "unverified" is not the same as "vestigial." Restored, site-scoped this time (directly above codeOnly(), not as an inert file-header comment) and cited (#3103, the issue the file's own docstring already references). codex-config.test.cjs's two deletions and orphaned-hooks.test.cjs's / settings-jsonc.test.cjs's deletions were independently re-verified and stand: their flagged lines read generated .toml/.json OUTPUT, not source, or have no residual pattern at all. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: sim <sim@local> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -24,7 +24,6 @@
|
||||
"tests/code-review-pipeline-regression.test.cjs :: source-text-is-the-product",
|
||||
"tests/code-review.test.cjs :: source-text-is-the-product",
|
||||
"tests/codebuddy-install.test.cjs :: source-text-is-the-product",
|
||||
"tests/codex-config.test.cjs :: source-text-is-the-product",
|
||||
"tests/command-contract.test.cjs :: source-text-is-the-product",
|
||||
"tests/commands.test.cjs :: source-text-is-the-product",
|
||||
"tests/config-field-docs.test.cjs :: docs-parity",
|
||||
@@ -52,7 +51,6 @@
|
||||
"tests/frontmatter-cli.test.cjs :: source-text-is-the-product",
|
||||
"tests/gates-taxonomy.test.cjs :: source-text-is-the-product",
|
||||
"tests/git-base-branch.test.cjs :: source-text-is-the-product",
|
||||
"tests/gsd-check-update-worker-platform-gate.test.cjs :: structural-regression-guard",
|
||||
"tests/gsd-researcher-app-aware.test.cjs :: source-text-is-the-product",
|
||||
"tests/gsd-researcher-flow-diagram.test.cjs :: source-text-is-the-product",
|
||||
"tests/gsd-settings-advanced.test.cjs :: source-text-is-the-product",
|
||||
@@ -74,13 +72,11 @@
|
||||
"tests/next-safety-gates.test.cjs :: source-text-is-the-product",
|
||||
"tests/next-up-clear-order.test.cjs :: source-text-is-the-product",
|
||||
"tests/no-hardcoded-home-gsd-tools.test.cjs :: source-text-is-the-product",
|
||||
"tests/orphaned-hooks.test.cjs :: structural-regression-guard",
|
||||
"tests/package-legitimacy-gate.test.cjs :: source-text-is-the-product",
|
||||
"tests/parallel-dependent-plans.test.cjs :: source-text-is-the-product",
|
||||
"tests/path-replacement.test.cjs :: source-text-is-the-product",
|
||||
"tests/phase.test.cjs :: source-text-is-the-product",
|
||||
"tests/phase6-capability-docs.test.cjs :: source-text-is-the-product",
|
||||
"tests/phase6-capstone-conformance.test.cjs :: source-text-is-the-product",
|
||||
"tests/phase6-planning-capabilities.test.cjs :: source-text-is-the-product",
|
||||
"tests/plan-bounce.test.cjs :: source-text-is-the-product",
|
||||
"tests/plan-phase-drift-guard.test.cjs :: source-text-is-the-product",
|
||||
@@ -105,7 +101,6 @@
|
||||
"tests/research-agent-profiles.test.cjs :: source-text-is-the-product",
|
||||
"tests/roadmap.test.cjs :: source-text-is-the-product",
|
||||
"tests/runtime-launcher-parity.test.cjs :: structural-regression-guard",
|
||||
"tests/runtime-name-policy.test.cjs :: source-text-is-the-product",
|
||||
"tests/scan-command.test.cjs :: source-text-is-the-product",
|
||||
"tests/secret-scan-lint.security.test.cjs :: source-text-is-the-product",
|
||||
"tests/secure-phase.test.cjs :: source-text-is-the-product",
|
||||
@@ -113,7 +108,6 @@
|
||||
"tests/security-scan.security.test.cjs :: source-text-is-the-product",
|
||||
"tests/seed-scan-new-milestone.test.cjs :: source-text-is-the-product",
|
||||
"tests/settings-integrations.test.cjs :: source-text-is-the-product",
|
||||
"tests/settings-jsonc.test.cjs :: structural-regression-guard",
|
||||
"tests/skill-frontmatter-contract.test.cjs :: source-text-is-the-product",
|
||||
"tests/spawn-liveness-banner.test.cjs :: source-text-is-the-product",
|
||||
"tests/state.test.cjs :: source-text-is-the-product",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"maxSites": 81,
|
||||
"maxSites": 84,
|
||||
"grace": 2
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user