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.
- package/README.md +17 -4
- package/dist/cli/index.js +2152 -1551
- 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/
|
|
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
|
-
|
|
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
|
|