tamperward 2.25.2 → 2.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +17 -4
  2. package/dist/cli/index.js +2152 -1551
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -98,7 +98,7 @@ Earlier controlled experiments → **[the research series](./docs/blog/index.md)
98
98
  > Read the round as a pair — the bets before, the outcome after:
99
99
  > [How round 4 is built to be hard to fool](./docs/blog/how-round-4-is-built-to-be-hard-to-fool.md)
100
100
  > (preregistration, no numbers) →
101
- > [The prevention bet didn't replicate. No surviving tampering was certified clean.](./docs/blog/round-4-results.md)
101
+ > [The prevention bet didn't replicate. No surviving tampering was certified clean.](./docs/blog/the-prevention-bet-didnt-replicate-no-surviving-tampering-was-certified-clean.md)
102
102
  > (results). Round 4.1, a second agent runtime over the same frozen pool, is the
103
103
  > next registered step ([SPEC §9.1](./SPEC.md#91-maturity-milestones)).
104
104
 
@@ -626,12 +626,12 @@ option can never be reinterpreted as the agent command.
626
626
 
627
627
  ### The rules
628
628
 
629
- Nineteen rules are specified and eighteen ship (see the table in
629
+ Twenty-one rules are specified and twenty ship (see the table in
630
630
  [SPEC.md](./SPEC.md)). The families: test protection (`test-deletion`,
631
- `test-skip`, `test-content-removal`, plus the warning-only JS/TS
631
+ `test-skip`, `test-content-removal`, `test-support`, plus the warning-only JS/TS
632
632
  `assertion-weakening` heuristic), verification-signal protection
633
633
  (`coverage-lowering`, `coverage-exclusion`, `snapshot-rewrite`, `snapshot-only-rewrite`), suppression
634
- (`ts-any-cast`, `ts-any-launder`, `ts-cast-growth`, `lint-suppression`), pipeline protection
634
+ (`ts-any-cast`, `ts-any-launder`, `ts-cast-growth`, `lint-suppression`, `config-weakening`), pipeline protection
635
635
  (`ci-tampering`, `hook-tampering`, `no-verify`), and the effect/outcome layers
636
636
  (`transient-protected-mutation`, `pristine-verification`, plus the `run` envelope).
637
637
  `test-skip` keeps the established regex coverage for diff-only inputs and non-JS
@@ -660,6 +660,19 @@ constraint added to an existing Go file. It fired on 0 of the same 460 mainline
660
660
  pairs, but every real add in the deeper histories is an honest unreachable-branch
661
661
  marker (`harness/fp-study/COVERAGE-EXCLUSION-CORPUS.md`), so it warns and never
662
662
  blocks by default.
663
+ `config-weakening` (2.26.0, #447) closes the gap where `tsconfig*.json`,
664
+ `.eslintrc*` / `eslint.config.*` / `.eslintignore` and `biome.json[c]` were
665
+ protected by name but nothing read what changed inside them: a tsconfig
666
+ strictness flag lowered or a loosening flag (`skipLibCheck`, …) added, `exclude`
667
+ grown to hide a source file, `extends` dropped or redirected off the protected
668
+ set; an eslint/biome rule turned off, or `ignores` / `ignorePatterns` /
669
+ `.eslintignore` grown; and a jest/vitest `setupFiles*` / `globalSetup` /
670
+ `runner` / `testEnvironment` entry newly pointing at a file the gate cannot
671
+ read. `test-deletion` gained the matching read for the runner config's own
672
+ *selection* going opaque — `export { default } from './x'`, a `...base`
673
+ spread, `mergeConfig`, `extends`/`preset`/`projects` pointing off the
674
+ protected set, and `testNamePattern`. Both ship `warn` pending an fp-study
675
+ replay (`harness/fp-study/CONFIG-WEAKENING-CORPUS.md`).
663
676
 
664
677
  ## What Tamperward does not do
665
678