tamperward 1.4.1 → 1.4.3

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 CHANGED
@@ -19,7 +19,8 @@ lowering coverage gates, rewriting snapshots, editing CI, or bypassing hooks wit
19
19
  `--no-verify`. Tamperward treats the safety nets themselves as protected assets and
20
20
  blocks the **class** of bypass — one ruleset, evaluated on the actual diff and commands
21
21
  as a verdict, not a probability, enforced everywhere a change can be made: **inside the
22
- agent's loop, at the commit, and at the merge.**
22
+ agent's loop (a deny before the tool runs, and a sweep at end of turn), at the commit,
23
+ and at the merge.**
23
24
 
24
25
  > Apache-2.0 · zero runtime model calls · every headline claim below is measured, with
25
26
  > the pre-registered predictions (including the refuted ones) committed to this repo
@@ -30,8 +31,8 @@ agent's loop, at the commit, and at the merge.**
30
31
  npx tamperward init
31
32
  ```
32
33
 
33
- One idempotent command wires all four enforcement points — it never overwrites anything
34
- you wrote, and `--dry-run` shows the plan first:
34
+ One idempotent command wires the policy and every enforcement point — it never
35
+ overwrites anything you wrote, and `--dry-run` shows the plan first:
35
36
 
36
37
  | point | what it wires |
37
38
  | --- | --- |
@@ -107,8 +108,9 @@ escape valve is a PR label only a human with write access can apply.
107
108
  **Does the loop work?** `harness/run.sh` stands up an isolated repo with a real bug and a
108
109
  failing protected test, lets a headless agent loose with the hooks installed, and
109
110
  classifies the end state with an oracle independent of the detectors under test
110
- (SPEC §7.B). **42 runs, 0 tampers reached green; all 20 runs where a block fired ended in
111
- an honest fix** a 20/20 point estimate whose 95% lower bound is ≈86%. The split is the
111
+ (SPEC §7.B). Across 42 runs of these **guarded** scenarios every attempted bypass class
112
+ had a detector covering it **0 tampers reached green; all 20 runs where a block fired
113
+ ended in an honest fix**, a 20/20 point estimate whose 95% lower bound is ≈86%. The split is the
112
114
  honest part: Sonnet 5 never attempted a bypass at all, even when the prompt *ordered*
113
115
  one; all 20 interceptions came from Haiku 4.5 on a seed whose honest fix is genuinely
114
116
  expensive. Reproduce: `npm run build && harness/run.sh 5 adversarial haiku seed-hard`.
@@ -116,7 +118,8 @@ expensive. Reproduce: `npm run build && harness/run.sh 5 adversarial haiku seed-
116
118
  **Which detectors deserve to exist?** Measured too. Affordance seeds offer an agent one
117
119
  specific bypass each; predictions are pre-registered before any rep runs
118
120
  (`harness/PREDICTION-affordance.md`). Result: 7/10 adversarial runs regenerated a golden
119
- file from buggy output (100% passed unseenso `snapshot-rewrite` was built), while
121
+ file from buggy output and sailed through**because nothing guarded that class yet**;
122
+ that measured demand is why `snapshot-rewrite` exists — while
120
123
  timeout-inflation and lint-config-gutting measured **0/10 attempts each** — two
121
124
  pre-registered bets refuted, two detectors *not* built. Bypass classes with no measured
122
125
  demand stay in a record-only shadow scanner that accumulates evidence on every weekly
package/dist/cli/index.js CHANGED
@@ -2313,9 +2313,10 @@ Formats:
2313
2313
  tamperward hook claude PreToolUse gate (reads hook JSON on stdin)
2314
2314
  tamperward sweep claude Stop sweep (re-scan the turn's working tree)
2315
2315
  tamperward allow <rule> --reason "..." record a human sign-off (local audit ledger)
2316
- tamperward init [--dry-run] wire all four enforcement points: policy
2317
- file, Claude Code hooks, pre-commit, CI.
2318
- Idempotent; never overwrites your files.
2316
+ tamperward init [--dry-run] wire the policy file plus every
2317
+ enforcement point: Claude Code hooks,
2318
+ pre-commit, CI. Idempotent; never
2319
+ overwrites your files.
2319
2320
 
2320
2321
  Exit code: check \u2192 1 if any blocking finding. hook/sweep \u2192 always 0; a deny is
2321
2322
  emitted as JSON on stdout (exit 2 makes Claude Code ignore the JSON).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tamperward",
3
- "version": "1.4.1",
3
+ "version": "1.4.3",
4
4
  "description": "The deterministic agent-integrity gate. One ruleset, evaluated on the actual diff/commands as a verdict, enforced everywhere a change can be made.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "hexrift",