tamperward 2.16.5 → 2.17.1

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 +16 -6
  2. package/dist/cli/index.js +700 -133
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -505,17 +505,27 @@ option can never be reinterpreted as the agent command.
505
505
 
506
506
  ### The rules
507
507
 
508
- Seventeen rules are specified and fifteen ship (see the table in
508
+ Seventeen rules are specified and sixteen ship (see the table in
509
509
  [SPEC.md](./SPEC.md)). The families: test protection (`test-deletion`,
510
- `test-skip`, `test-content-removal`), verification-signal protection
510
+ `test-skip`, `test-content-removal`, plus the warning-only JS/TS
511
+ `assertion-weakening` heuristic), verification-signal protection
511
512
  (`coverage-lowering`, `snapshot-rewrite`, `snapshot-only-rewrite`), suppression
512
513
  (`ts-any-cast`, `ts-any-launder`, `lint-suppression`), pipeline protection
513
514
  (`ci-tampering`, `hook-tampering`, `no-verify`), and the effect/outcome layers
514
515
  (`transient-protected-mutation`, `pristine-verification`, plus the `run` envelope).
515
- Some ambiguous syntactic classes deliberately remain warnings or unimplemented —
516
- `assertion-weakening` and `guard-removal` are reserved names with no detector, and
517
- `ts-any-launder` is a permanent warn — rather than being promoted to blockers
518
- without precision evidence.
516
+ `test-skip` keeps the established regex coverage for diff-only inputs and non-JS
517
+ ecosystems, while full parse-clean JS/TS BEFORE/AFTER changes also use a conservative
518
+ TypeScript AST path for multiline member chains, statically-computable properties,
519
+ known test-runner aliases and node:test-style option objects. Resolution is lexical
520
+ (symbol-based), dynamic computed properties are not guessed, statically false shorthand
521
+ options are clean, and trivia-free BEFORE/AFTER semantic identity prevents formatting-only
522
+ rewrites from re-blocking an already-existing skip/focus.
523
+ `assertion-weakening` ships only the AST-proven one-way subset — statically
524
+ proven exact/structural values weakened to truthy/defined, positive exception
525
+ specificity removed, or a pure assertion removed from the same suite-qualified
526
+ test. It measured 12/12 true-positive fires with 0/20 false positives on the
527
+ committed detector-specific replay and remains `warn`; `guard-removal` is still
528
+ reserved with no detector, and `ts-any-launder` is a permanent warn.
519
529
 
520
530
  ## What Tamperward does not do
521
531