tamperward 2.33.0 → 2.34.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tamperward",
3
- "version": "2.33.0",
3
+ "version": "2.34.0",
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",
@@ -54,7 +54,7 @@
54
54
  },
55
55
  "dependencies": {
56
56
  "picomatch": "^4.0.2",
57
- "typescript": "^5.6.3",
57
+ "typescript": "~5.9.3",
58
58
  "yaml": "^2.6.1"
59
59
  },
60
60
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/hexrift/tamperward/blob/main/schemas/audit-v1.schema.json",
3
+ "$id": "https://raw.githubusercontent.com/hexrift/tamperward/v1/schemas/audit-v1.schema.json",
4
4
  "title": "TamperWard audit event v1",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
@@ -96,5 +96,18 @@
96
96
  }
97
97
  }
98
98
  }
99
+ ],
100
+ "examples": [
101
+ {
102
+ "schema_version": 1,
103
+ "id": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
104
+ "timestamp": "2026-09-23T14:00:00.000Z",
105
+ "surface": "pretooluse",
106
+ "agent": "claude-code",
107
+ "rule": "test-deletion",
108
+ "severity": "block",
109
+ "decision": "deny",
110
+ "session": "sha256:bbbbbbbbbbbbbbbbbbbbbbbb"
111
+ }
99
112
  ]
100
113
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://raw.githubusercontent.com/hexrift/tamperward/main/schemas/check-v1.schema.json",
3
+ "$id": "https://raw.githubusercontent.com/hexrift/tamperward/v1/schemas/check-v1.schema.json",
4
4
  "title": "TamperWard check JSON output v1",
5
5
  "type": "object",
6
6
  "required": [
@@ -100,5 +100,17 @@
100
100
  "additionalProperties": true
101
101
  }
102
102
  },
103
- "additionalProperties": true
103
+ "additionalProperties": true,
104
+ "examples": [
105
+ {
106
+ "schema_version": 1,
107
+ "findings": [],
108
+ "scanned": 0,
109
+ "ignoredFiles": 0,
110
+ "summary": {
111
+ "block": 0,
112
+ "warn": 0
113
+ }
114
+ }
115
+ ]
104
116
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://raw.githubusercontent.com/hexrift/tamperward/main/schemas/doctor-v1.schema.json",
3
+ "$id": "https://raw.githubusercontent.com/hexrift/tamperward/v1/schemas/doctor-v1.schema.json",
4
4
  "title": "TamperWard doctor JSON output v1",
5
5
  "type": "object",
6
6
  "required": [
@@ -91,5 +91,19 @@
91
91
  }
92
92
  }
93
93
  }
94
+ ],
95
+ "examples": [
96
+ {
97
+ "schema_version": 1,
98
+ "command": "doctor",
99
+ "authoritative": true,
100
+ "checks": [
101
+ {
102
+ "id": "platform",
103
+ "state": "OK",
104
+ "detail": "Linux lifecycle is available."
105
+ }
106
+ ]
107
+ }
94
108
  ]
95
109
  }
@@ -0,0 +1,67 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://raw.githubusercontent.com/hexrift/tamperward/v1/schemas/research-stdio-v1.schema.json",
4
+ "title": "TamperWard research stdio JSONL protocol v1",
5
+ "description": "One JSON object per line. Capability declarations are evidence, not permission to claim an enforcement layer that is not connected.",
6
+ "oneOf": [
7
+ {
8
+ "type": "object",
9
+ "required": ["type", "run_id", "status"],
10
+ "properties": {"type": {"const": "run"}, "run_id": {"type": "string", "minLength": 1}, "status": {"enum": ["started", "finished"]}},
11
+ "additionalProperties": false
12
+ },
13
+ {
14
+ "type": "object",
15
+ "required": ["type", "protocol", "runtime", "capabilities"],
16
+ "properties": {
17
+ "type": {"const": "hello"},
18
+ "protocol": {"const": "research-stdio-jsonl-v1"},
19
+ "runtime": {"type": "string", "minLength": 1},
20
+ "capabilities": {
21
+ "type": "object",
22
+ "required": ["layers", "intervention"],
23
+ "properties": {
24
+ "layers": {"type": "array", "items": {"enum": ["envelope", "pre-tool-use", "stop-sweep"]}},
25
+ "intervention": {"enum": ["enforced", "advisory", "not-connected"]}
26
+ },
27
+ "additionalProperties": false
28
+ }
29
+ },
30
+ "additionalProperties": false
31
+ },
32
+ {
33
+ "type": "object",
34
+ "required": ["type", "task", "arm", "cwd", "base"],
35
+ "properties": {
36
+ "type": {"const": "start"}, "task": {"type": "string", "minLength": 1},
37
+ "arm": {"enum": ["ungated", "gated"]}, "cwd": {"type": "string", "minLength": 1},
38
+ "base": {"type": "string", "minLength": 1}, "prompt": {"type": "string"}
39
+ },
40
+ "additionalProperties": false
41
+ },
42
+ {
43
+ "type": "object",
44
+ "required": ["type", "event"],
45
+ "properties": {"type": {"const": "event"}, "event": {"enum": ["tool", "edit", "turn"]}, "request_id": {"type": "string"}, "name": {"type": "string"}, "detail": {"type": "string"}},
46
+ "additionalProperties": false
47
+ },
48
+ {
49
+ "type": "object",
50
+ "required": ["type", "action", "request_id", "reason"],
51
+ "properties": {"type": {"const": "intervention"}, "action": {"enum": ["deny", "allow"]}, "request_id": {"type": "string", "minLength": 1}, "reason": {"type": "string", "minLength": 1}},
52
+ "additionalProperties": false
53
+ },
54
+ {
55
+ "type": "object",
56
+ "required": ["type", "status"],
57
+ "properties": {"type": {"const": "complete"}, "status": {"enum": ["completed", "failed", "cancelled"]}, "exit_code": {"type": "integer", "minimum": 0}},
58
+ "additionalProperties": false
59
+ },
60
+ {
61
+ "type": "object",
62
+ "required": ["type", "message"],
63
+ "properties": {"type": {"const": "error"}, "message": {"type": "string", "minLength": 1}},
64
+ "additionalProperties": false
65
+ }
66
+ ]
67
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://raw.githubusercontent.com/hexrift/tamperward/main/schemas/research-v1.schema.json",
3
+ "$id": "https://raw.githubusercontent.com/hexrift/tamperward/v1/schemas/research-v1.schema.json",
4
4
  "title": "TamperWard research JSON output v1",
5
5
  "description": "Emitted by `tamperward research run --json` (one `pair` document per line, identical to the ledger record under <out>/pairs/) and `tamperward research summarize` (one `summary` document). `document` is the shape discriminator. Both keep TamperWard's own verdict (`treatment` / `tamperward`) apart from the independent outcome (`outcome` / `independent_outcome`); there is no composite score. Additive within schema major 1.",
6
6
  "type": "object",
@@ -675,5 +675,95 @@
675
675
  },
676
676
  "additionalProperties": true
677
677
  }
678
- }
678
+ },
679
+ "examples": [
680
+ {
681
+ "schema_version": 1,
682
+ "command": "research",
683
+ "document": "pair",
684
+ "task": "example",
685
+ "pair": 1,
686
+ "adapter": {
687
+ "name": "command",
688
+ "layers": []
689
+ },
690
+ "model": null,
691
+ "tamperward_version": "2.33.0",
692
+ "agent_argv": [
693
+ "true"
694
+ ],
695
+ "agent_budget": null,
696
+ "manifest_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
697
+ "verify_command": "true",
698
+ "arms": {
699
+ "ungated": {
700
+ "arm": "ungated",
701
+ "workspace": "/tmp/tamperward-example",
702
+ "base": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
703
+ "head": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
704
+ "started_at": "2026-09-23T14:00:00.000Z",
705
+ "finished_at": "2026-09-23T14:00:01.000Z",
706
+ "agent": {
707
+ "exit_code": 0,
708
+ "signal": null,
709
+ "timed_out": false,
710
+ "failure": null
711
+ },
712
+ "treatment": null,
713
+ "outcome": {
714
+ "verify_verdict": "VERIFIED",
715
+ "visible_exit": 0,
716
+ "pristine_exit": 0,
717
+ "visible_green": true,
718
+ "pristine_green": true,
719
+ "masked_failure": false,
720
+ "surviving_protected_mutations": 0,
721
+ "warn_findings": 0,
722
+ "rules": [],
723
+ "honest_completion": true
724
+ },
725
+ "released_green": true,
726
+ "measured": true,
727
+ "unmeasurable": null
728
+ },
729
+ "gated": {
730
+ "arm": "gated",
731
+ "workspace": "/tmp/tamperward-example-gated",
732
+ "base": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
733
+ "head": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
734
+ "started_at": "2026-09-23T14:00:00.000Z",
735
+ "finished_at": "2026-09-23T14:00:01.000Z",
736
+ "agent": {
737
+ "exit_code": 0,
738
+ "signal": null,
739
+ "timed_out": false,
740
+ "failure": null
741
+ },
742
+ "treatment": {
743
+ "verdict": "VERIFIED",
744
+ "exit_code": 0,
745
+ "complete": true,
746
+ "disposition": "passed",
747
+ "envelope": null
748
+ },
749
+ "outcome": {
750
+ "verify_verdict": "VERIFIED",
751
+ "visible_exit": 0,
752
+ "pristine_exit": 0,
753
+ "visible_green": true,
754
+ "pristine_green": true,
755
+ "masked_failure": false,
756
+ "surviving_protected_mutations": 0,
757
+ "warn_findings": 0,
758
+ "rules": [],
759
+ "honest_completion": true
760
+ },
761
+ "released_green": true,
762
+ "measured": true,
763
+ "unmeasurable": null
764
+ }
765
+ }
766
+ }
767
+ ],
768
+ "additionalProperties": true
679
769
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://raw.githubusercontent.com/hexrift/tamperward/main/schemas/run-v1.schema.json",
3
+ "$id": "https://raw.githubusercontent.com/hexrift/tamperward/v1/schemas/run-v1.schema.json",
4
4
  "title": "TamperWard run JSON output v1",
5
5
  "type": "object",
6
6
  "required": [
@@ -504,5 +504,38 @@
504
504
  }
505
505
  },
506
506
  "additionalProperties": true,
507
- "description": "Emitted by `tamperward run --json` as the single stdout document once the wrapped agent has started; agent stdout is routed to stderr in this mode. Pre-agent failures emit no document (stderr + exit 2). Additive within schema major 1."
507
+ "description": "Emitted by `tamperward run --json` as the single stdout document once the wrapped agent has started; agent stdout is routed to stderr in this mode. Pre-agent failures emit no document (stderr + exit 2). Additive within schema major 1.",
508
+ "examples": [
509
+ {
510
+ "schema_version": 1,
511
+ "verdict": "VERIFIED",
512
+ "exit_code": 0,
513
+ "complete": true,
514
+ "base": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
515
+ "head": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
516
+ "agent": {
517
+ "exit_code": 0,
518
+ "timed_out": false,
519
+ "lifecycle_owned": true
520
+ },
521
+ "checks": {
522
+ "diff": 0,
523
+ "worktree": 0,
524
+ "verify": 0
525
+ },
526
+ "verifier_backend": {
527
+ "kind": "local",
528
+ "trust": "checkpointed-local",
529
+ "available": true
530
+ },
531
+ "dependency_environment": {
532
+ "status": "none",
533
+ "roots": []
534
+ },
535
+ "observer": {
536
+ "enabled": false,
537
+ "blocking": false
538
+ }
539
+ }
540
+ ]
508
541
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://github.com/hexrift/tamperward/blob/main/schemas/stats-v1.schema.json",
3
+ "$id": "https://raw.githubusercontent.com/hexrift/tamperward/v1/schemas/stats-v1.schema.json",
4
4
  "title": "TamperWard audit stats v1",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
@@ -115,5 +115,19 @@
115
115
  "interpretation": {
116
116
  "const": "finding-is-not-proof-of-intent"
117
117
  }
118
- }
118
+ },
119
+ "examples": [
120
+ {
121
+ "schema_version": 1,
122
+ "events": 0,
123
+ "blocked": 0,
124
+ "warnings": 0,
125
+ "sessions": 0,
126
+ "first_event": null,
127
+ "last_event": null,
128
+ "by_rule": [],
129
+ "by_surface": [],
130
+ "interpretation": "finding-is-not-proof-of-intent"
131
+ }
132
+ ]
119
133
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://raw.githubusercontent.com/hexrift/tamperward/main/schemas/verify-v1.schema.json",
3
+ "$id": "https://raw.githubusercontent.com/hexrift/tamperward/v1/schemas/verify-v1.schema.json",
4
4
  "title": "TamperWard verify JSON output v1",
5
5
  "type": "object",
6
6
  "required": [
@@ -95,6 +95,16 @@
95
95
  "oob_signoff": {
96
96
  "type": "string"
97
97
  },
98
+ "materialization_reason": {
99
+ "enum": [
100
+ "TRACKED_NODE_MODULES_CONFLICT",
101
+ "SYMLINK_ESCAPE",
102
+ "SPECIAL_FILE",
103
+ "RACING_DELETION",
104
+ "UNKNOWN"
105
+ ],
106
+ "description": "Additional fail-closed detail when reason is MATERIALIZATION_FAILED."
107
+ },
98
108
  "visible_dir": {
99
109
  "type": "string"
100
110
  },
@@ -607,5 +617,12 @@
607
617
  "additionalProperties": true
608
618
  }
609
619
  },
610
- "additionalProperties": true
620
+ "additionalProperties": true,
621
+ "examples": [
622
+ {
623
+ "schema_version": 1,
624
+ "verdict": "CANNOT_VERIFY",
625
+ "reason": "INVALID_ARGUMENTS"
626
+ }
627
+ ]
611
628
  }