@reviewsensei/cli-win32-x64 0.6.19 → 0.6.21

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 (25) hide show
  1. package/README.md +1 -1
  2. package/bin/_internal/base_library.zip +0 -0
  3. package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +1 -1
  4. package/bin/_internal/review_sensei/default_categories/03-architecture.json +1 -1
  5. package/bin/_internal/review_sensei/schemas/assessment-queue-root.schema.json +196 -0
  6. package/bin/_internal/review_sensei/schemas/broker-diagnostics.json +5 -0
  7. package/bin/_internal/review_sensei/schemas/eligibility-v4.schema.json +193 -0
  8. package/bin/_internal/review_sensei/schemas/evidence-manifest.schema.json +144 -0
  9. package/bin/_internal/review_sensei/schemas/human-file-receipt.schema.json +62 -0
  10. package/bin/_internal/review_sensei/schemas/human-file-review.schema.json +134 -0
  11. package/bin/_internal/review_sensei/schemas/review-result.schema.json +1 -0
  12. package/bin/_internal/review_sensei/schemas/session-record.schema.json +3 -1
  13. package/bin/_internal/review_sensei/schemas/unchanged-source-citation.schema.json +83 -0
  14. package/bin/_internal/review_sensei/schemas/work-recovery-artifact.schema.json +3 -3
  15. package/bin/_internal/{review_sensei-0.6.19.dist-info → review_sensei-0.6.21.dist-info}/METADATA +17 -4
  16. package/bin/_internal/{review_sensei-0.6.19.dist-info → review_sensei-0.6.21.dist-info}/RECORD +90 -52
  17. package/bin/review-sensei.exe +0 -0
  18. package/package.json +1 -1
  19. /package/bin/_internal/{review_sensei-0.6.19.dist-info → review_sensei-0.6.21.dist-info}/INSTALLER +0 -0
  20. /package/bin/_internal/{review_sensei-0.6.19.dist-info → review_sensei-0.6.21.dist-info}/REQUESTED +0 -0
  21. /package/bin/_internal/{review_sensei-0.6.19.dist-info → review_sensei-0.6.21.dist-info}/WHEEL +0 -0
  22. /package/bin/_internal/{review_sensei-0.6.19.dist-info → review_sensei-0.6.21.dist-info}/direct_url.json +0 -0
  23. /package/bin/_internal/{review_sensei-0.6.19.dist-info → review_sensei-0.6.21.dist-info}/entry_points.txt +0 -0
  24. /package/bin/_internal/{review_sensei-0.6.19.dist-info → review_sensei-0.6.21.dist-info}/licenses/LICENSE +0 -0
  25. /package/bin/_internal/{review_sensei-0.6.19.dist-info → review_sensei-0.6.21.dist-info}/top_level.txt +0 -0
package/README.md CHANGED
@@ -8,7 +8,7 @@ Install the public launcher, which selects the matching native package:
8
8
 
9
9
  <!-- release-installation:package-npm-1:start -->
10
10
  ```console
11
- npm install --save-dev @reviewsensei/cli@0.6.19
11
+ npm install --save-dev @reviewsensei/cli@0.6.21
12
12
  npx review-sensei --help
13
13
  ```
14
14
  <!-- release-installation:package-npm-1:end -->
Binary file
@@ -1,4 +1,4 @@
1
- ../../Scripts/jsonschema.exe,sha256=eojADLxGHf_xzqBoyFiwIRlUCoPZEI1qst-7QPg_Hi8,108352
1
+ ../../Scripts/jsonschema.exe,sha256=-QwkMH6YLPEViuFfXvlkuSCmy4NEz7kWVyGjQDN4-pY,108352
2
2
  jsonschema-4.26.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
3
3
  jsonschema-4.26.0.dist-info/METADATA,sha256=BbGJhmypipbaOTS_a4NofO0_-FMlJzt34WtwX22LJtI,7592
4
4
  jsonschema-4.26.0.dist-info/RECORD,,
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "documents": [
18
18
  {"path": "AGENTS.md"},
19
- {"path": "docs/architecture.md"},
19
+ {"path": "docs", "include": ["architecture.md"]},
20
20
  {"path": "docs/architecture", "include": ["**/*.md"]},
21
21
  {"path": "docs/adr", "include": ["**/*.md"]}
22
22
  ]
@@ -0,0 +1,196 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/assessment-queue-root.schema.json",
4
+ "title": "ReviewSensei provisional durable assessment queue root v1",
5
+ "description": "Prototype queue-slot amendment; writers disabled by default. Runtime additionally enforces root/summary/session allocation, matching immutable generation, ordered UTC instants and actual plus reserved response bytes <= 1048576. C validates complete journal, receipts and original accounting.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema_version",
10
+ "inventory_digest",
11
+ "inventory_generation",
12
+ "state_manifest",
13
+ "active_operation"
14
+ ],
15
+ "properties": {
16
+ "schema_version": {
17
+ "const": "1.0"
18
+ },
19
+ "inventory_digest": {
20
+ "type": "string",
21
+ "pattern": "^[a-f0-9]{64}$"
22
+ },
23
+ "inventory_generation": {
24
+ "type": "integer",
25
+ "minimum": 0,
26
+ "maximum": 2147483647
27
+ },
28
+ "state_manifest": {
29
+ "anyOf": [
30
+ {
31
+ "allOf": [
32
+ {
33
+ "$ref": "https://reviewsensei.dev/schemas/v1/evidence-manifest.schema.json"
34
+ },
35
+ {
36
+ "properties": {
37
+ "binding": {
38
+ "properties": {
39
+ "purpose": {
40
+ "const": "queue"
41
+ }
42
+ }
43
+ }
44
+ }
45
+ }
46
+ ]
47
+ },
48
+ {
49
+ "type": "object",
50
+ "additionalProperties": false,
51
+ "required": [
52
+ "encoding",
53
+ "binding",
54
+ "item_count",
55
+ "sha256",
56
+ "document"
57
+ ],
58
+ "properties": {
59
+ "encoding": {
60
+ "const": "inline-json-v1"
61
+ },
62
+ "binding": {
63
+ "type": "object",
64
+ "required": [
65
+ "purpose"
66
+ ],
67
+ "properties": {
68
+ "purpose": {
69
+ "const": "queue"
70
+ }
71
+ }
72
+ },
73
+ "item_count": {
74
+ "type": "integer",
75
+ "minimum": 0,
76
+ "maximum": 4096
77
+ },
78
+ "sha256": {
79
+ "type": "string",
80
+ "pattern": "^[a-f0-9]{64}$"
81
+ },
82
+ "document": {
83
+ "type": "object"
84
+ }
85
+ }
86
+ }
87
+ ]
88
+ },
89
+ "active_operation": {
90
+ "anyOf": [
91
+ {
92
+ "type": "null"
93
+ },
94
+ {
95
+ "type": "object",
96
+ "additionalProperties": false,
97
+ "required": [
98
+ "operation_id",
99
+ "source_digest",
100
+ "authority_digest",
101
+ "execution_identity",
102
+ "deadline_at",
103
+ "expires_at",
104
+ "provider_calls",
105
+ "transport_retries",
106
+ "structural_retries",
107
+ "prompt_bytes",
108
+ "response_bytes",
109
+ "response_bytes_reserved",
110
+ "read_accounting"
111
+ ],
112
+ "properties": {
113
+ "operation_id": {
114
+ "type": "string",
115
+ "pattern": "^[a-f0-9]{64}$"
116
+ },
117
+ "source_digest": {
118
+ "type": "string",
119
+ "pattern": "^[a-f0-9]{64}$"
120
+ },
121
+ "authority_digest": {
122
+ "type": "string",
123
+ "pattern": "^[a-f0-9]{64}$"
124
+ },
125
+ "execution_identity": {
126
+ "type": "string",
127
+ "pattern": "^[a-f0-9]{32}$"
128
+ },
129
+ "deadline_at": {
130
+ "type": "string",
131
+ "format": "date-time",
132
+ "maxLength": 32,
133
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?(?:Z|\\+00:00)$"
134
+ },
135
+ "expires_at": {
136
+ "type": "string",
137
+ "format": "date-time",
138
+ "maxLength": 32,
139
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?(?:Z|\\+00:00)$"
140
+ },
141
+ "provider_calls": {
142
+ "type": "integer",
143
+ "minimum": 0,
144
+ "maximum": 32
145
+ },
146
+ "transport_retries": {
147
+ "type": "integer",
148
+ "minimum": 0,
149
+ "maximum": 2
150
+ },
151
+ "structural_retries": {
152
+ "type": "integer",
153
+ "minimum": 0,
154
+ "maximum": 2
155
+ },
156
+ "prompt_bytes": {
157
+ "type": "integer",
158
+ "minimum": 0,
159
+ "maximum": 2097152
160
+ },
161
+ "response_bytes": {
162
+ "type": "integer",
163
+ "minimum": 0,
164
+ "maximum": 1048576
165
+ },
166
+ "response_bytes_reserved": {
167
+ "type": "integer",
168
+ "minimum": 0,
169
+ "maximum": 1048576
170
+ },
171
+ "read_accounting": {
172
+ "type": "object",
173
+ "additionalProperties": false,
174
+ "required": [
175
+ "calls",
176
+ "deadline_at_ms"
177
+ ],
178
+ "properties": {
179
+ "calls": {
180
+ "type": "integer",
181
+ "minimum": 0,
182
+ "maximum": 64
183
+ },
184
+ "deadline_at_ms": {
185
+ "type": "integer",
186
+ "minimum": 0,
187
+ "maximum": 253402300799999
188
+ }
189
+ }
190
+ }
191
+ }
192
+ }
193
+ ]
194
+ }
195
+ }
196
+ }
@@ -1,4 +1,9 @@
1
1
  {
2
+ "configuration_unavailable": {
3
+ "stage": "broker_configuration",
4
+ "action": "contact_operator",
5
+ "hint": "Broker configuration could not be used. Ask the broker operator to validate the existing configuration."
6
+ },
2
7
  "broker_capability_invalid": {
3
8
  "stage": "request_validation",
4
9
  "action": "check_request",
@@ -0,0 +1,193 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/eligibility-v4.schema.json",
4
+ "title": "Proposed reader-first result-bound eligibility v4",
5
+ "description": "Structural validation only; authenticated host context, exact digests/counts/ownership, fresh all-part readback and framed future root allocation remain runtime requirements. Writers remain disabled.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema_version",
10
+ "head_sha",
11
+ "result_digest",
12
+ "facts",
13
+ "immutable_generation",
14
+ "activation_generation",
15
+ "human_inventory",
16
+ "visible_prose",
17
+ "human_resolution"
18
+ ],
19
+ "properties": {
20
+ "schema_version": {
21
+ "const": "4"
22
+ },
23
+ "head_sha": {
24
+ "type": "string",
25
+ "pattern": "^[a-f0-9]{40}$"
26
+ },
27
+ "result_digest": {
28
+ "type": "string",
29
+ "pattern": "^[a-f0-9]{64}$"
30
+ },
31
+ "facts": {
32
+ "type": "object",
33
+ "additionalProperties": false,
34
+ "required": [
35
+ "schema_version",
36
+ "enabled",
37
+ "app_authored",
38
+ "review_status",
39
+ "evidence_policy",
40
+ "has_blocking_findings",
41
+ "has_human_adjudication_findings",
42
+ "coverage_blocker",
43
+ "qualification",
44
+ "check_published"
45
+ ],
46
+ "properties": {
47
+ "schema_version": {
48
+ "const": "1"
49
+ },
50
+ "enabled": {
51
+ "type": "boolean"
52
+ },
53
+ "app_authored": {
54
+ "type": "boolean"
55
+ },
56
+ "review_status": {
57
+ "enum": [
58
+ "complete",
59
+ "partial",
60
+ "incomplete",
61
+ "summary-only"
62
+ ]
63
+ },
64
+ "evidence_policy": {
65
+ "enum": [
66
+ "legacy",
67
+ "confirmed"
68
+ ]
69
+ },
70
+ "has_blocking_findings": {
71
+ "type": "boolean"
72
+ },
73
+ "has_human_adjudication_findings": {
74
+ "type": "boolean"
75
+ },
76
+ "coverage_blocker": {
77
+ "enum": [
78
+ null,
79
+ "reviewed",
80
+ "partial",
81
+ "incomplete",
82
+ "unknown"
83
+ ]
84
+ },
85
+ "qualification": {
86
+ "enum": [
87
+ "not-required",
88
+ "qualified",
89
+ "missing",
90
+ "unverified"
91
+ ]
92
+ },
93
+ "check_published": {
94
+ "type": "boolean"
95
+ },
96
+ "persistence_status": {
97
+ "const": "capacity-exceeded"
98
+ }
99
+ },
100
+ "if": {
101
+ "required": [
102
+ "persistence_status"
103
+ ]
104
+ },
105
+ "then": {
106
+ "properties": {
107
+ "review_status": {
108
+ "const": "partial"
109
+ }
110
+ }
111
+ }
112
+ },
113
+ "immutable_generation": {
114
+ "type": "integer",
115
+ "minimum": 0,
116
+ "maximum": 2147483647
117
+ },
118
+ "activation_generation": {
119
+ "type": "integer",
120
+ "minimum": 0,
121
+ "maximum": 2147483647
122
+ },
123
+ "human_inventory": {
124
+ "allOf": [
125
+ {
126
+ "$ref": "https://reviewsensei.dev/schemas/v1/evidence-manifest.schema.json"
127
+ },
128
+ {
129
+ "properties": {
130
+ "binding": {
131
+ "properties": {
132
+ "purpose": {
133
+ "const": "human-inventory"
134
+ }
135
+ }
136
+ },
137
+ "item_count": {
138
+ "maximum": 250
139
+ }
140
+ }
141
+ }
142
+ ]
143
+ },
144
+ "visible_prose": {
145
+ "allOf": [
146
+ {
147
+ "$ref": "https://reviewsensei.dev/schemas/v1/evidence-manifest.schema.json"
148
+ },
149
+ {
150
+ "properties": {
151
+ "binding": {
152
+ "properties": {
153
+ "purpose": {
154
+ "const": "evidence"
155
+ }
156
+ }
157
+ },
158
+ "item_count": {
159
+ "maximum": 250
160
+ }
161
+ }
162
+ }
163
+ ]
164
+ },
165
+ "human_resolution": {
166
+ "type": "object",
167
+ "additionalProperties": false,
168
+ "required": [
169
+ "schema_version",
170
+ "inventory_digest",
171
+ "resolved"
172
+ ],
173
+ "properties": {
174
+ "schema_version": {
175
+ "const": "1"
176
+ },
177
+ "inventory_digest": {
178
+ "type": "string",
179
+ "pattern": "^[a-f0-9]{64}$"
180
+ },
181
+ "resolved": {
182
+ "type": "array",
183
+ "maxItems": 250,
184
+ "uniqueItems": true,
185
+ "items": {
186
+ "type": "string",
187
+ "pattern": "^[a-f0-9]{64}$"
188
+ }
189
+ }
190
+ }
191
+ }
192
+ }
193
+ }
@@ -0,0 +1,144 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/evidence-manifest.schema.json",
4
+ "title": "ReviewSensei authenticated partition reference manifest v1",
5
+ "description": "The owning control record authenticates this manifest. Integrity digests do not authenticate producers. Runtime additionally enforces canonical bytes, aggregates, unique opaque identities, deadline and exact owner/snapshot.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "encoding",
10
+ "binding",
11
+ "item_count",
12
+ "decoded_bytes",
13
+ "sha256",
14
+ "encoded_bytes",
15
+ "parts"
16
+ ],
17
+ "properties": {
18
+ "encoding": {
19
+ "const": "partitioned-json-v1"
20
+ },
21
+ "binding": {
22
+ "type": "object",
23
+ "additionalProperties": false,
24
+ "required": [
25
+ "repository",
26
+ "repository_id",
27
+ "pull_request",
28
+ "base_sha",
29
+ "head_sha",
30
+ "policy_digest",
31
+ "configuration_digest",
32
+ "generation",
33
+ "producer",
34
+ "purpose",
35
+ "schema_version"
36
+ ],
37
+ "properties": {
38
+ "repository": {
39
+ "type": "string",
40
+ "pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$",
41
+ "maxLength": 256
42
+ },
43
+ "repository_id": {
44
+ "type": [
45
+ "integer",
46
+ "null"
47
+ ],
48
+ "minimum": 1,
49
+ "maximum": 2147483647
50
+ },
51
+ "pull_request": {
52
+ "type": "integer",
53
+ "minimum": 1,
54
+ "maximum": 2147483647
55
+ },
56
+ "base_sha": {
57
+ "type": "string",
58
+ "pattern": "^[a-f0-9]{40}$"
59
+ },
60
+ "head_sha": {
61
+ "type": "string",
62
+ "pattern": "^[a-f0-9]{40}$"
63
+ },
64
+ "policy_digest": {
65
+ "type": "string",
66
+ "pattern": "^[a-f0-9]{64}$"
67
+ },
68
+ "configuration_digest": {
69
+ "type": "string",
70
+ "pattern": "^[a-f0-9]{64}$"
71
+ },
72
+ "generation": {
73
+ "type": "integer",
74
+ "minimum": 0,
75
+ "maximum": 2147483647
76
+ },
77
+ "producer": {
78
+ "type": "string",
79
+ "pattern": "^(local-ledger|github-bot:[1-9][0-9]{0,18})$"
80
+ },
81
+ "purpose": {
82
+ "enum": [
83
+ "baseline",
84
+ "human-inventory",
85
+ "feedback",
86
+ "evidence",
87
+ "queue"
88
+ ]
89
+ },
90
+ "schema_version": {
91
+ "const": "1.0"
92
+ }
93
+ }
94
+ },
95
+ "item_count": {
96
+ "type": "integer",
97
+ "minimum": 0,
98
+ "maximum": 4096
99
+ },
100
+ "decoded_bytes": {
101
+ "type": "integer",
102
+ "minimum": 1,
103
+ "maximum": 2097152
104
+ },
105
+ "sha256": {
106
+ "type": "string",
107
+ "pattern": "^[a-f0-9]{64}$"
108
+ },
109
+ "encoded_bytes": {
110
+ "type": "integer",
111
+ "minimum": 1,
112
+ "maximum": 1048576
113
+ },
114
+ "parts": {
115
+ "type": "array",
116
+ "minItems": 1,
117
+ "maxItems": 32,
118
+ "items": {
119
+ "type": "object",
120
+ "additionalProperties": false,
121
+ "required": [
122
+ "storage_id",
123
+ "bytes",
124
+ "sha256"
125
+ ],
126
+ "properties": {
127
+ "storage_id": {
128
+ "type": "string",
129
+ "pattern": "^[A-Za-z0-9_-]{1,64}$"
130
+ },
131
+ "bytes": {
132
+ "type": "integer",
133
+ "minimum": 1,
134
+ "maximum": 32256
135
+ },
136
+ "sha256": {
137
+ "type": "string",
138
+ "pattern": "^[a-f0-9]{64}$"
139
+ }
140
+ }
141
+ }
142
+ }
143
+ }
144
+ }
@@ -0,0 +1,62 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/human-file-receipt.schema.json",
4
+ "title": "human-file-receipt",
5
+ "description": "Bounded reference data. Runtime semantic validation and independent live host authentication are required; this document alone is not approval authority.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema_version",
10
+ "request_digest",
11
+ "request_comment_id",
12
+ "source_comment_id",
13
+ "source_updated_at",
14
+ "source_sha256",
15
+ "actor_id",
16
+ "actor",
17
+ "selected_ids"
18
+ ],
19
+ "properties": {
20
+ "schema_version": {
21
+ "const": "human-file-receipt-v1"
22
+ },
23
+ "request_digest": {
24
+ "type": "string",
25
+ "pattern": "^[a-f0-9]{64}$"
26
+ },
27
+ "request_comment_id": {
28
+ "type": "integer",
29
+ "minimum": 1
30
+ },
31
+ "source_comment_id": {
32
+ "type": "integer",
33
+ "minimum": 1
34
+ },
35
+ "source_updated_at": {
36
+ "type": "string",
37
+ "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
38
+ },
39
+ "source_sha256": {
40
+ "type": "string",
41
+ "pattern": "^[a-f0-9]{64}$"
42
+ },
43
+ "actor_id": {
44
+ "type": "integer",
45
+ "minimum": 1
46
+ },
47
+ "actor": {
48
+ "type": "string",
49
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9-]{0,38}$"
50
+ },
51
+ "selected_ids": {
52
+ "type": "array",
53
+ "minItems": 1,
54
+ "maxItems": 32,
55
+ "uniqueItems": true,
56
+ "items": {
57
+ "type": "string",
58
+ "pattern": "^[a-f0-9]{64}$"
59
+ }
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,134 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/human-file-review.schema.json",
4
+ "title": "human-file-review",
5
+ "description": "Bounded reference data. Runtime semantic validation and independent live host authentication are required; this document alone is not approval authority.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schema_version",
10
+ "repository",
11
+ "repository_id",
12
+ "pull_request",
13
+ "review_id",
14
+ "base_sha",
15
+ "head_sha",
16
+ "result_digest",
17
+ "files"
18
+ ],
19
+ "properties": {
20
+ "schema_version": {
21
+ "const": "human-file-review-v1"
22
+ },
23
+ "repository": {
24
+ "type": "string",
25
+ "pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$"
26
+ },
27
+ "repository_id": {
28
+ "type": "integer",
29
+ "minimum": 1
30
+ },
31
+ "pull_request": {
32
+ "type": "integer",
33
+ "minimum": 1
34
+ },
35
+ "review_id": {
36
+ "type": "integer",
37
+ "minimum": 1
38
+ },
39
+ "base_sha": {
40
+ "type": "string",
41
+ "pattern": "^[a-f0-9]{40}$"
42
+ },
43
+ "head_sha": {
44
+ "type": "string",
45
+ "pattern": "^[a-f0-9]{40}$"
46
+ },
47
+ "result_digest": {
48
+ "type": "string",
49
+ "pattern": "^[a-f0-9]{64}$"
50
+ },
51
+ "files": {
52
+ "type": "array",
53
+ "minItems": 1,
54
+ "maxItems": 32,
55
+ "uniqueItems": true,
56
+ "items": {
57
+ "type": "object",
58
+ "additionalProperties": false,
59
+ "required": [
60
+ "path",
61
+ "change",
62
+ "old_blob",
63
+ "new_blob",
64
+ "old_path",
65
+ "old_mode",
66
+ "new_mode"
67
+ ],
68
+ "properties": {
69
+ "path": {
70
+ "type": "string",
71
+ "minLength": 1,
72
+ "maxLength": 4096
73
+ },
74
+ "change": {
75
+ "enum": [
76
+ "added",
77
+ "modified",
78
+ "removed",
79
+ "renamed"
80
+ ]
81
+ },
82
+ "old_blob": {
83
+ "anyOf": [
84
+ {
85
+ "type": "string",
86
+ "pattern": "^[a-f0-9]{40}$"
87
+ },
88
+ {
89
+ "type": "null"
90
+ }
91
+ ]
92
+ },
93
+ "new_blob": {
94
+ "anyOf": [
95
+ {
96
+ "type": "string",
97
+ "pattern": "^[a-f0-9]{40}$"
98
+ },
99
+ {
100
+ "type": "null"
101
+ }
102
+ ]
103
+ },
104
+ "old_path": {
105
+ "anyOf": [
106
+ {
107
+ "type": "string",
108
+ "minLength": 1,
109
+ "maxLength": 4096
110
+ },
111
+ {
112
+ "type": "null"
113
+ }
114
+ ]
115
+ },
116
+ "old_mode": {
117
+ "enum": [
118
+ null,
119
+ "100644",
120
+ "100755"
121
+ ]
122
+ },
123
+ "new_mode": {
124
+ "enum": [
125
+ null,
126
+ "100644",
127
+ "100755"
128
+ ]
129
+ }
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
@@ -44,6 +44,7 @@
44
44
  },
45
45
  "provider": {"type": "string", "minLength": 1},
46
46
  "persistence_status": {"const": "capacity-exceeded"},
47
+ "coverage_only_partial": {"type": "boolean"},
47
48
  "review_status": {
48
49
  "type": "string",
49
50
  "enum": ["complete", "partial", "incomplete", "summary-only"]
@@ -78,6 +78,7 @@
78
78
  },
79
79
  "record_sha256": {"type": "string", "pattern": "^[a-f0-9]{64}$"},
80
80
  "operator_paused": {"type": "boolean"},
81
+ "assessment_queue": {"$ref": "https://reviewsensei.dev/schemas/v1/assessment-queue-root.schema.json"},
81
82
  "dispositions": {
82
83
  "type": "array",
83
84
  "maxItems": 4,
@@ -227,7 +228,8 @@
227
228
  "pattern": "^[A-Za-z0-9+/]*={0,2}$"
228
229
  }
229
230
  }
230
- }
231
+ },
232
+ {"$ref": "https://reviewsensei.dev/schemas/v1/evidence-manifest.schema.json"}
231
233
  ]
232
234
  },
233
235
  "progress": {
@@ -0,0 +1,83 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/unchanged-source-citation.schema.json",
4
+ "title": "ReviewSensei unchanged-source citation v1",
5
+ "description": "Exact snapshot citation for one regular file that is unchanged between base and head. kind unchanged-source-v1 is distinct from a diff hunk. An absent diff is not evidence. Runtime rejects unequal blob SHAs, non-regular modes, secret and excluded paths, escaped paths, truncated ranges, foreign objects, and the same blob cited from another path. The validator does not fetch URLs.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "kind",
10
+ "repository",
11
+ "pull_request",
12
+ "base_sha",
13
+ "head_sha",
14
+ "path",
15
+ "mode",
16
+ "base_blob_sha",
17
+ "head_blob_sha",
18
+ "range_start",
19
+ "range_end",
20
+ "content_sha256",
21
+ "content_bytes"
22
+ ],
23
+ "properties": {
24
+ "kind": {
25
+ "const": "unchanged-source-v1"
26
+ },
27
+ "repository": {
28
+ "type": "string",
29
+ "pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$",
30
+ "maxLength": 256
31
+ },
32
+ "pull_request": {
33
+ "type": "integer",
34
+ "minimum": 1,
35
+ "maximum": 2147483647
36
+ },
37
+ "base_sha": {
38
+ "type": "string",
39
+ "pattern": "^[a-f0-9]{40}$"
40
+ },
41
+ "head_sha": {
42
+ "type": "string",
43
+ "pattern": "^[a-f0-9]{40}$"
44
+ },
45
+ "path": {
46
+ "type": "string",
47
+ "minLength": 1,
48
+ "maxLength": 4096,
49
+ "description": "Structural bounds only. parse_unchanged_source enforces a canonical repository-relative path and refuses escaped, secret, and excluded paths."
50
+ },
51
+ "mode": {
52
+ "type": "string",
53
+ "enum": ["100644", "100755"]
54
+ },
55
+ "base_blob_sha": {
56
+ "type": "string",
57
+ "pattern": "^[a-f0-9]{40}$"
58
+ },
59
+ "head_blob_sha": {
60
+ "type": "string",
61
+ "pattern": "^[a-f0-9]{40}$"
62
+ },
63
+ "range_start": {
64
+ "type": "integer",
65
+ "minimum": 1,
66
+ "maximum": 65536
67
+ },
68
+ "range_end": {
69
+ "type": "integer",
70
+ "minimum": 1,
71
+ "maximum": 65536
72
+ },
73
+ "content_sha256": {
74
+ "type": "string",
75
+ "pattern": "^[a-f0-9]{64}$"
76
+ },
77
+ "content_bytes": {
78
+ "type": "integer",
79
+ "minimum": 0,
80
+ "maximum": 65536
81
+ }
82
+ }
83
+ }
@@ -69,7 +69,7 @@
69
69
  "provider_calls": {
70
70
  "type": "integer",
71
71
  "minimum": 0,
72
- "maximum": 8
72
+ "maximum": 32
73
73
  },
74
74
  "transport_retries": {
75
75
  "type": "integer",
@@ -95,7 +95,7 @@
95
95
  },
96
96
  "completed": {
97
97
  "type": "array",
98
- "maxItems": 8,
98
+ "maxItems": 32,
99
99
  "items": {
100
100
  "type": "object",
101
101
  "additionalProperties": false,
@@ -134,7 +134,7 @@
134
134
  },
135
135
  "request_digests": {
136
136
  "type": "object",
137
- "maxProperties": 8,
137
+ "maxProperties": 32,
138
138
  "propertyNames": {
139
139
  "pattern": "^[a-f0-9]{64}$"
140
140
  },
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: review-sensei
3
- Version: 0.6.19
3
+ Version: 0.6.21
4
4
  Summary: Provider-neutral AI code review engine with an Ollama adapter.
5
5
  Author: Mohamad Alsabbagh
6
6
  License-Expression: MIT
@@ -140,8 +140,8 @@ provider-neutral `@reviewsensei/cli` launcher:
140
140
 
141
141
  <!-- release-installation:package-npm-1:start -->
142
142
  ```bash
143
- npx --yes @reviewsensei/cli@0.6.19 --version
144
- npx --yes @reviewsensei/cli@0.6.19 --help
143
+ npx --yes @reviewsensei/cli@0.6.21 --version
144
+ npx --yes @reviewsensei/cli@0.6.21 --help
145
145
  ```
146
146
  <!-- release-installation:package-npm-1:end -->
147
147
 
@@ -777,6 +777,15 @@ an explicitly named `--api-key-env` remains an operator opt-in.
777
777
  The canonical handle is `@reviewsensei`; `@ReviewSensei` and other ASCII case
778
778
  variants work too. `@sensei` remains supported, with its existing case behavior.
779
779
  Both handles use the same authorization, publication policy, and bounded context.
780
+ For concrete factual replies, verified operator commands, human-inventory
781
+ boundaries and the complete-feedback API's current integration status, see
782
+ [human assessment workflows](docs/human-assessment.md).
783
+
784
+ The local, opt-in [human file review library](docs/human-file-review.md) records
785
+ explicit selected binary-file confirmations with exact snapshot/content and
786
+ live reviewer checks. AI coverage stays unsupported; text findings remain open.
787
+ Confirmation defaults off, and released CLI/mention routing and automatic
788
+ approval are not enabled by this library change.
780
789
  Existing installations need a caller update as well as the matching runtime and
781
790
  broker update; see [the caller rollout guide](docs/mention-handle-rollout.md).
782
791
 
@@ -786,7 +795,11 @@ outcome. Follow-up mentions in the same inline or PR conversation include the
786
795
  bounded prior thread, diff context, findings, and trusted-base learnings. Cloud
787
796
  mode sends that bounded conversation context to Ollama Cloud; local mode keeps
788
797
  it on the configured local service. Published review summaries and inline
789
- findings also tell readers to reply with @reviewsensei followed by their question.
798
+ findings also tell readers to reply with @reviewsensei followed by their question,
799
+ and they include the maintainer commands for approving media and overriding a
800
+ finding by its `RS-` id. After an override, comment `@reviewsensei verify` to
801
+ apply it. An override applies to the current commit only. A new push needs a
802
+ new override.
790
803
  `review.json` is uploaded only when
791
804
  `github.artifacts: diagnostics` is set in `.reviewsensei.yml`; setup-v5 does not
792
805
  create a separate version artifact. See
@@ -1,17 +1,19 @@
1
- ../../Scripts/review-sensei.exe,sha256=1He6OTZDpyLN0cAxXVIN_JON-szGE12T1q4Kw4p-9vg,108355
2
- review_sensei-0.6.19.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
3
- review_sensei-0.6.19.dist-info/METADATA,sha256=eXFmkmO7pUjB0hbnfjKqDqbX4jhkXFgjNyXJ3K6wdEM,43365
4
- review_sensei-0.6.19.dist-info/RECORD,,
5
- review_sensei-0.6.19.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- review_sensei-0.6.19.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
7
- review_sensei-0.6.19.dist-info/direct_url.json,sha256=EDhpXdSFq1qZfl2FCT07Hg2gleInjGFaAwkFy0selqU,67
8
- review_sensei-0.6.19.dist-info/entry_points.txt,sha256=Eki1ToC6hiOv8PMEAd2Cnbh5WWstVzzzf0XmHBHzpMQ,57
9
- review_sensei-0.6.19.dist-info/licenses/LICENSE,sha256=-eVBqOV92YK1K76UIcK5MrgUh0EiQMe8xNhSysQE68s,1095
10
- review_sensei-0.6.19.dist-info/top_level.txt,sha256=VCF4gJIJPP3MPJntoITDjMhJ8MUZfVLj-z3-VUQ9XDY,14
1
+ ../../Scripts/review-sensei.exe,sha256=7uu8R3uAxpj-NFRMbia4Jct276BRzeYeoDes5WhXUJ8,108355
2
+ review_sensei-0.6.21.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
3
+ review_sensei-0.6.21.dist-info/METADATA,sha256=mqj2g7UXTTz2HQK4J5PX3wVumLNt7fJGcqr4wHDiBxY,44191
4
+ review_sensei-0.6.21.dist-info/RECORD,,
5
+ review_sensei-0.6.21.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ review_sensei-0.6.21.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
7
+ review_sensei-0.6.21.dist-info/direct_url.json,sha256=EDhpXdSFq1qZfl2FCT07Hg2gleInjGFaAwkFy0selqU,67
8
+ review_sensei-0.6.21.dist-info/entry_points.txt,sha256=Eki1ToC6hiOv8PMEAd2Cnbh5WWstVzzzf0XmHBHzpMQ,57
9
+ review_sensei-0.6.21.dist-info/licenses/LICENSE,sha256=-eVBqOV92YK1K76UIcK5MrgUh0EiQMe8xNhSysQE68s,1095
10
+ review_sensei-0.6.21.dist-info/top_level.txt,sha256=VCF4gJIJPP3MPJntoITDjMhJ8MUZfVLj-z3-VUQ9XDY,14
11
11
  review_sensei/__init__.py,sha256=hBA7OkQbK_oV4-fDFucVnpsnIut_JK-BbXLTznhg8ao,10524
12
12
  review_sensei/__main__.py,sha256=0iDYjdmiXNBinFF23WUyotsdpA6wFKjoB5aw3esTSRg,83
13
13
  review_sensei/__pycache__/__init__.cpython-311.pyc,,
14
14
  review_sensei/__pycache__/__main__.cpython-311.pyc,,
15
+ review_sensei/__pycache__/assessment_history_index.cpython-311.pyc,,
16
+ review_sensei/__pycache__/assessment_queue.cpython-311.pyc,,
15
17
  review_sensei/__pycache__/baseline.cpython-311.pyc,,
16
18
  review_sensei/__pycache__/bounded_evidence.cpython-311.pyc,,
17
19
  review_sensei/__pycache__/broker_diagnostics.cpython-311.pyc,,
@@ -33,9 +35,14 @@ review_sensei/__pycache__/errors.cpython-311.pyc,,
33
35
  review_sensei/__pycache__/evaluation.cpython-311.pyc,,
34
36
  review_sensei/__pycache__/evidence.cpython-311.pyc,,
35
37
  review_sensei/__pycache__/execution.cpython-311.pyc,,
38
+ review_sensei/__pycache__/feedback.cpython-311.pyc,,
39
+ review_sensei/__pycache__/history_association.cpython-311.pyc,,
36
40
  review_sensei/__pycache__/hosted.cpython-311.pyc,,
37
41
  review_sensei/__pycache__/human_assessment.cpython-311.pyc,,
42
+ review_sensei/__pycache__/human_file_review.cpython-311.pyc,,
43
+ review_sensei/__pycache__/human_inventory.cpython-311.pyc,,
38
44
  review_sensei/__pycache__/learnings.cpython-311.pyc,,
45
+ review_sensei/__pycache__/mixed_coverage.cpython-311.pyc,,
39
46
  review_sensei/__pycache__/models.cpython-311.pyc,,
40
47
  review_sensei/__pycache__/openrouter_qualification.cpython-311.pyc,,
41
48
  review_sensei/__pycache__/outcomes.cpython-311.pyc,,
@@ -52,37 +59,42 @@ review_sensei/__pycache__/sequence.cpython-311.pyc,,
52
59
  review_sensei/__pycache__/service.cpython-311.pyc,,
53
60
  review_sensei/__pycache__/session.cpython-311.pyc,,
54
61
  review_sensei/__pycache__/stages.cpython-311.pyc,,
62
+ review_sensei/__pycache__/unchanged_source.cpython-311.pyc,,
55
63
  review_sensei/__pycache__/validation.cpython-311.pyc,,
56
64
  review_sensei/__pycache__/verifier.cpython-311.pyc,,
57
65
  review_sensei/__pycache__/work_recovery.cpython-311.pyc,,
58
66
  review_sensei/__pycache__/workflow.cpython-311.pyc,,
59
- review_sensei/baseline.py,sha256=RZ8lILZHoF8zkP3bZTLtKmDITM2riNBiZEmglL2RcWE,66821
60
- review_sensei/bounded_evidence.py,sha256=Xw-CSiSJjoW1hZGeXznuTw1yJa8CCbclLbgnhFo_rWo,3271
67
+ review_sensei/assessment_history_index.py,sha256=lHCscTb1hopPhS5wNTNFBGUTbLyRHBVOEH65xna3k2w,23693
68
+ review_sensei/assessment_queue.py,sha256=nRyTk6qeBBB_5Y15I2eL8ZOxdBPdSY-poFuLE-oHetQ,59666
69
+ review_sensei/baseline.py,sha256=xAniStUZcBzCsdnxBYJKFUlsVt6_tu4tv-Bitq2h37M,69621
70
+ review_sensei/bounded_evidence.py,sha256=USuR60_kY6RxDJSSW-UdlZHcw23PYyKxd-n3_9r7Wp0,30354
61
71
  review_sensei/broker_diagnostics.py,sha256=F7BAouQwp7kqNGTtJ74RDolYmLw57HHzALvBaLXyi7E,6423
62
- review_sensei/budgets.py,sha256=1KnpAu5e-onex2mDb6OBx7x5nmPD81AtdjSAyjLLyQs,9639
63
- review_sensei/cli.py,sha256=RJRdNxmVQKVV2ZgnTQuIiLqM9PbkcRfI2wQ5MWTMrLI,179074
72
+ review_sensei/budgets.py,sha256=K2zcUPkhS4hC9CEEJxvKYbTtzQ0_VnXLYWFWxMqiFts,12681
73
+ review_sensei/cli.py,sha256=alBqVlw6Ojsxs_ZgoCqOzoGVP0vIU8MJ9ZfwHnfo17w,192707
64
74
  review_sensei/concurrency.py,sha256=7nqMDNaIl7YoKafkAF1ctXu6D5SFxXosm-1407OKimQ,20097
65
- review_sensei/configuration.py,sha256=SQ9IPAV23Vyw_gX_LgbZVWpHN1mXReVLsTZpntOk1rM,92174
66
- review_sensei/context.py,sha256=kIDGkySUofyOaQlEv6oNW8o6eXYsD0pmRTaNCRh1sk8,101972
75
+ review_sensei/configuration.py,sha256=nSqVsyEpxfAzhLjDKCtDEauprXYzFeC5jzEAGx3mjvw,93668
76
+ review_sensei/context.py,sha256=MqDxmZtukvpt0IA3ytFCkCiTnmoQicD46rSI77k4-Zs,111931
67
77
  review_sensei/convergence.py,sha256=7pWt_bwLxBskCdrzH41HBM6FJ_3184B8-VAY6d71P-E,51261
68
- review_sensei/conversation.py,sha256=eD59P1_iH4UAWtd7jQj0LaxNRqm0r1O8Jkqiy31wqoI,7473
69
- review_sensei/coverage.py,sha256=kJcf0MchFfrHkc-5nFhpqsx3dGGP6O8xdk6I2vNvzXk,13007
78
+ review_sensei/conversation.py,sha256=Hf4ba7428PXvIxV6WyLR8OJYD0afZ3PFMaM97Ue_m7U,7960
79
+ review_sensei/coverage.py,sha256=tTzgZ2zz6B-2V-FoBX2lQ-QxMlIaRGCAEh9XQSDEr_I,13101
70
80
  review_sensei/default_categories/01-correctness.json,sha256=ZeTTvEavHU6_ih7JKhv8a6gH-4wRJGv0abckRWNWTfs,211
71
81
  review_sensei/default_categories/02-security.json,sha256=6mz8Hlteb9q1PouLDmDoR-1wxrN31XR2X5I9yoYiG-E,231
72
- review_sensei/default_categories/03-architecture.json,sha256=Fg3VsUCzl9trCpSnoOgwTqfNHbB7a4znEfrw2apqjXA,806
82
+ review_sensei/default_categories/03-architecture.json,sha256=Dcs7G6y3YAUMpWo2xW7npadJ76sgePqUaemfAR1OMt0,822
73
83
  review_sensei/default_categories/03-maintainability.json,sha256=eyF9_slQ50LwEqSSet63jthfNp9ZOTnwiDVtVYjVv1A,229
74
84
  review_sensei/default_categories/04-tests.json,sha256=UHhvH79bae9FmLJT_MYNvki4Y9xhJDLpDuLdgp2npe0,208
75
85
  review_sensei/default_stages/01-default-review.json,sha256=-y9LP_8XNqEPpRN2K8z_qMHRqXyP6ZsiydzZFHozZwY,3463
76
86
  review_sensei/dependencies.py,sha256=OLNAFDMzmdtRVxex0XSpzwVVJl8jkCtUqxEk-0KohbE,5998
77
- review_sensei/diagnostics.py,sha256=ibG_2tI_VP4gTNM1c5XlAUAohYgSOd-5PZ-6xipbEcI,45613
87
+ review_sensei/diagnostics.py,sha256=2aoEcocSVspmeeyxfDgk-H-jLnPH5Tyy9tzhK-RL1Yo,49049
78
88
  review_sensei/diff.py,sha256=na5MWhYcnRimFwGElNBiSp27Su_oufHhWiGtm1W38oY,32057
79
- review_sensei/discovery_work.py,sha256=IYoyViAJbLAAiiVClVLUY3uqwKM33SZmDn93iuI9Iik,20954
80
- review_sensei/disposition.py,sha256=vGzMrE5xO71bt4rBiXiPA9e267Dtn1dZAxZjkj_e7jU,22443
81
- review_sensei/document_context.py,sha256=NZKmt2lAOi8ICFhCemEe15-5i6M6xvh58YwiEok1q1c,20482
89
+ review_sensei/discovery_work.py,sha256=zUBFNqJncQiGM5AXrcp6umudD1JED2h2TMLnKS8wQjo,28261
90
+ review_sensei/disposition.py,sha256=yyc89gyiWnhdV2FU4OFu4kXv3GHoMwOyAIf5SsKYKes,28531
91
+ review_sensei/document_context.py,sha256=s90rRWr9rFTBHfkhDITu44RPTks3KmJ5R5-MoToR9Ww,21169
82
92
  review_sensei/errors.py,sha256=1-JKbLcEodjQMXleJwR-QDzRhMSFwDSe9Oc6Pg1UYmY,2901
83
93
  review_sensei/evaluation.py,sha256=kKhbcF3XpHhDYLW8e_dxGjcS0sXJpz8nXYsPpUuXnBE,59450
84
- review_sensei/evidence.py,sha256=huB64KdjIQug2NRFS9uDNw0HUOJsy67NPg26u_IcA6M,10135
85
- review_sensei/execution.py,sha256=E7C53idpTM2CGSMXdODswJ1QzAWGonGb9sr-HQDSBWk,15118
94
+ review_sensei/evidence.py,sha256=Vjdc4aO7aRaFTpRwVtj-v7ZTbT1Pb5P6DFSZZ-fNlwU,18735
95
+ review_sensei/execution.py,sha256=fqWIskI_hM44X_EWROiPgtrz7x_i4FIqhvQUaJdoq80,32361
96
+ review_sensei/feedback.py,sha256=GFlfDQwzXz6GNcXN6BrH02Jh6i-Nw68sTOn1BFebauI,17654
97
+ review_sensei/history_association.py,sha256=q5zK5CXmlNMYZZ65bOtVQdjFvmKM9b7z28_7MNrlyZ8,11202
86
98
  review_sensei/hosted.py,sha256=sYy8tHLhR3xeBJveu1c1YHG8Uk2T8Br_4CdUIFemx24,10374
87
99
  review_sensei/hosting/__init__.py,sha256=zqIukHwfUzai3x7dJS2nFNlVhP7EQWQ47-4pGCi2Sz0,84
88
100
  review_sensei/hosting/__pycache__/__init__.cpython-311.pyc,,
@@ -96,27 +108,37 @@ review_sensei/hosting/github/__pycache__/broker.cpython-311.pyc,,
96
108
  review_sensei/hosting/github/__pycache__/broker_client.cpython-311.pyc,,
97
109
  review_sensei/hosting/github/__pycache__/checks.cpython-311.pyc,,
98
110
  review_sensei/hosting/github/__pycache__/conversation.cpython-311.pyc,,
111
+ review_sensei/hosting/github/__pycache__/eligibility_parts.cpython-311.pyc,,
99
112
  review_sensei/hosting/github/__pycache__/errors.cpython-311.pyc,,
113
+ review_sensei/hosting/github/__pycache__/feedback_attestation.cpython-311.pyc,,
100
114
  review_sensei/hosting/github/__pycache__/http.cpython-311.pyc,,
101
115
  review_sensei/hosting/github/__pycache__/human_assessment.cpython-311.pyc,,
116
+ review_sensei/hosting/github/__pycache__/human_file_review.cpython-311.pyc,,
102
117
  review_sensei/hosting/github/__pycache__/jwt.cpython-311.pyc,,
103
118
  review_sensei/hosting/github/__pycache__/learning_pr.cpython-311.pyc,,
104
119
  review_sensei/hosting/github/__pycache__/observed.cpython-311.pyc,,
105
120
  review_sensei/hosting/github/__pycache__/oidc.cpython-311.pyc,,
121
+ review_sensei/hosting/github/__pycache__/operation_comments.cpython-311.pyc,,
122
+ review_sensei/hosting/github/__pycache__/operation_entry.cpython-311.pyc,,
123
+ review_sensei/hosting/github/__pycache__/operation_host.cpython-311.pyc,,
124
+ review_sensei/hosting/github/__pycache__/prose_publication.cpython-311.pyc,,
106
125
  review_sensei/hosting/github/__pycache__/publication.cpython-311.pyc,,
126
+ review_sensei/hosting/github/__pycache__/publication_parts.cpython-311.pyc,,
107
127
  review_sensei/hosting/github/__pycache__/reservation_recovery.cpython-311.pyc,,
108
128
  review_sensei/hosting/github/__pycache__/session_ledger.cpython-311.pyc,,
109
129
  review_sensei/hosting/github/__pycache__/setup.cpython-311.pyc,,
110
130
  review_sensei/hosting/github/__pycache__/trigger.cpython-311.pyc,,
111
131
  review_sensei/hosting/github/__pycache__/webhooks.cpython-311.pyc,,
112
- review_sensei/hosting/github/application.py,sha256=QfzrW5I6wQGnHkq0MRA4e1355pNE_MPVfGmUURYZzKg,85275
113
- review_sensei/hosting/github/approval.py,sha256=QeXXswZSr86XlIITgjArvvFaWXogI2c21pA20Ber4HE,26155
132
+ review_sensei/hosting/github/application.py,sha256=wSL0lez3Qv9EeSaV81DPYNJpgNw5VVrP4nnP2XmaZKk,107594
133
+ review_sensei/hosting/github/approval.py,sha256=x0yE8Lkrs629fxV7tWl_6SQPImLA0b65vRLC-iUjmnQ,27267
114
134
  review_sensei/hosting/github/auth.py,sha256=koITagUX9piVboGJ_smEhPsCf4rOQkOqqSKeLKvFRbc,19055
115
135
  review_sensei/hosting/github/broker.py,sha256=FFC7DsFhzy1tENXTCmLNuYzX2cHaYsgMkDGwXEcJaTU,18014
116
- review_sensei/hosting/github/broker_client.py,sha256=askIvbReTUZq9NejQansW8FBdm0jSTctdLzFbEaYSQ0,17500
136
+ review_sensei/hosting/github/broker_client.py,sha256=tFbU9e-XjqwMiELBkTTyhp9WZzRMs2FhZwQPIXIJunk,18314
117
137
  review_sensei/hosting/github/checks.py,sha256=ozE9gCvbFK7G7ls0QeRGpxJ9qPXEK4DcoiQXAQ3ZQXc,18330
118
- review_sensei/hosting/github/conversation.py,sha256=OvFS5uHWVZLt8BKqXFfQOkJVhPd12YSpAx65wusw-H4,73429
138
+ review_sensei/hosting/github/conversation.py,sha256=LeqKRtV4CgsE6oQME0TxOarXg5X2XUocnGPIGBwxa94,70602
139
+ review_sensei/hosting/github/eligibility_parts.py,sha256=d4I5ueyGFw4FQh32H4Bi8V0lwEeOOzRXbQwgr0tZefU,14323
119
140
  review_sensei/hosting/github/errors.py,sha256=KUGHSn1Udl4vVCKPWQ6NfkRmGSQ2YZVhPbyyJdBh63o,5826
141
+ review_sensei/hosting/github/feedback_attestation.py,sha256=WgDQStpypEEvEQXBjMp94fEld1pgjbk-kS8QLDawr0Y,7872
120
142
  review_sensei/hosting/github/fixtures/__init__.py,sha256=2sBygkvppFJ6F8KV1_MDmbBNl7Yd0oPvYOFG6R_NOpA,82
121
143
  review_sensei/hosting/github/fixtures/__pycache__/__init__.cpython-311.pyc,,
122
144
  review_sensei/hosting/github/fixtures/historical-v4-uninstall.yml,sha256=VrX1XpTrOlqscHDoJM_yRKwbP-cvcFvnG79G3HTO3hY,2664
@@ -124,28 +146,37 @@ review_sensei/hosting/github/fixtures/merge-focused-v4-caller.yml,sha256=EGs0F3O
124
146
  review_sensei/hosting/github/fixtures/merge-focused-v4-config.yml,sha256=4L1UvSucMGJqPh_OwmPgq_lE-nenySkIg7Xogtmk7Us,464
125
147
  review_sensei/hosting/github/fixtures/released-v4-resolve-trigger-runner-switch.yml,sha256=09um6w5QmIodLMrbR10z4gdZ3f5AaVj7eqjhQzOfkV8,16194
126
148
  review_sensei/hosting/github/fixtures/sensei-only-v5-caller.yml,sha256=n0ZSa1lxTRSw0qsizg8m80E74VCBjkwDO5RAZy1S604,13030
127
- review_sensei/hosting/github/http.py,sha256=QY45Tv6teZ-2mmk7hjyxbJ80KjBPZ0BeqiCfAi8LA7I,11080
128
- review_sensei/hosting/github/human_assessment.py,sha256=S3fQwl2aPHOTx6voSKgGUIgYCi0D2IFRlKweYajVTgM,21870
149
+ review_sensei/hosting/github/http.py,sha256=wSdOG65jp9lTH_ZA00k1j3OOkK6GFaQUm3KtEGBGLHs,20890
150
+ review_sensei/hosting/github/human_assessment.py,sha256=rWzH1T1lQxBJTWdwW-0piY7ANJyF_7PBuM2Pnn4-Y6c,42063
151
+ review_sensei/hosting/github/human_file_review.py,sha256=ZghUpM8rZDsvsmJLAKSBbEWjGfS2AmwOvqWbkI6fkHQ,37327
129
152
  review_sensei/hosting/github/jwt.py,sha256=mTakXBxU-GR-hBnIZE-FryfFXwpS9hJ7qb3X7P0FBMo,4582
130
153
  review_sensei/hosting/github/learning_pr.py,sha256=hT7FmmpWCnUO5WCQEmP9XioQiceNALxuJCtcZXAQxSU,112424
131
- review_sensei/hosting/github/observed.py,sha256=Sk0J_kfTBS1je6_YI5-HgGE266zv0_JP1CfvaR7X_zY,36461
154
+ review_sensei/hosting/github/observed.py,sha256=dB_iXdU08XQWBBNnWnkN7nRAKqi_72E35sqxKvjZiJ0,36851
132
155
  review_sensei/hosting/github/oidc.py,sha256=h3UVcBYQIKy-xQS7Ixv3_fy670mmuBoNKSYurPZWZ60,13310
133
- review_sensei/hosting/github/publication.py,sha256=mQTmSJgN1eWuZ3YlszHUM9yrWUrTdBFWkFupyse2h3I,114007
156
+ review_sensei/hosting/github/operation_comments.py,sha256=Y_ij2Zr2_FN8PROV-ZRYc3RFLl3x3k1GPwaWi0icY3s,12910
157
+ review_sensei/hosting/github/operation_entry.py,sha256=v-IQNMwA1V7vG8yBWbv4s_s2ns8qm8tQmJn3RBni2Qk,17853
158
+ review_sensei/hosting/github/operation_host.py,sha256=OK9POISK8x-AsjQGmyPaVbnSkdPDVbeF-mp8yPG8d1A,78503
159
+ review_sensei/hosting/github/prose_publication.py,sha256=dvjSnXyZTy0tHk17Rw_OSAvtA2aDc5w3IIZQ2XtA9nU,14226
160
+ review_sensei/hosting/github/publication.py,sha256=AvtaptO_5p6hFxPlSAlUC_WAQ7t5qg_JlSpPoMTnzwQ,121181
161
+ review_sensei/hosting/github/publication_parts.py,sha256=gY7JfJeBeGO1hyo3gI2pEf2EmrwqDt5UrtOXtzewUeI,9438
134
162
  review_sensei/hosting/github/reservation_recovery.py,sha256=rOa6bVold_eHaJxOv-7E2ZiFHWkipXtu1Jttxxkg3jk,9787
135
- review_sensei/hosting/github/session_ledger.py,sha256=7hlTjDwNBydvDd2EjurdH4VwDIt9aRQUOl8mix4YhIQ,36519
136
- review_sensei/hosting/github/setup.py,sha256=Lxs1zeGy7wHBCAy1Nl8EISuPma8ZLnGRoObPPT39W6E,120115
137
- review_sensei/hosting/github/trigger.py,sha256=O4z65mAqgFCnrwuRqGzH5iRzf0WB-AS2VWCGsFKCo4M,10576
163
+ review_sensei/hosting/github/session_ledger.py,sha256=Cr_sJApPIKFJD6TozC72BGqKCrytpyWvvb9REVx1LG4,93427
164
+ review_sensei/hosting/github/setup.py,sha256=3-IH_bdFsvMCxr3M4pPbqvy-aTxvR3sCr5MGIP-IKSE,120495
165
+ review_sensei/hosting/github/trigger.py,sha256=CISuyENAPh7UBVkBgHqDKq_IOMlSgANJ1-_-2uT_mXE,10765
138
166
  review_sensei/hosting/github/webhooks.py,sha256=7hh_YlF7riV6wov7A_27aOb5g6-Ivob1PBWR4m5bF3I,13662
139
167
  review_sensei/hosting/openrouter_workflow.py,sha256=qepVpa12sL6mTaBqTGhcWEaYI8zawcgAYK6sOCRnKtE,1330
140
- review_sensei/human_assessment.py,sha256=2JW4xV9eu8CD39AmNHpvAO-EZiZL3lun0TAXu6HhUVY,31252
168
+ review_sensei/human_assessment.py,sha256=_ADbNep-zGnaMcIaYf6Nrpt4roGMnPb20lRqs0C-RRA,50940
169
+ review_sensei/human_file_review.py,sha256=Vn3EM59U_y4M5BGc7FR-OtbQ1-wyTVQMAH7_4liSVYs,16421
170
+ review_sensei/human_inventory.py,sha256=4u6ThXP_cVoaxwWRICtRztdtMM6OqlDDG9D81yoEBJI,5968
141
171
  review_sensei/learnings.py,sha256=AF9Dqyreb9WQLWLZiciuyRXNviSso6sYVTe2xzx1ZfY,21434
142
- review_sensei/models.py,sha256=4jc0leOrtQ8qZ30WhyWc2nbINHJ6TEPohtCgQ7pPX-8,95204
172
+ review_sensei/mixed_coverage.py,sha256=sOb6HUwqvqarxg91pBlrbqiFJStdmhpseYr3wHRBu3E,13811
173
+ review_sensei/models.py,sha256=XWOfZIDGDrp1e3O0Nv3zv2iirg4-fmoLXEcWwZYitmA,96718
143
174
  review_sensei/openrouter_qualification.py,sha256=UKUL8oK8oexX1P_othR3y_QAAW0PG2EdAYnWXA-ACZI,30296
144
- review_sensei/outcomes.py,sha256=Oq8PjWJxLwFVbgnsCXOvqNOT9wz3CL2PGcJEfnOJc_k,35629
175
+ review_sensei/outcomes.py,sha256=aDbENfYum3VzMZDMj_Y53N86VYT2Ob_gWTMmeZP4g50,35951
145
176
  review_sensei/patches.py,sha256=P9plsU7-5Z-Jxy8EJBFQX5hX3bcmxBoRJxTnEqA_tbA,15981
146
177
  review_sensei/placement.py,sha256=ABioTJwmS4bhyB1M6IdWqyGOx9j1Ge3CeYSKMk9GXSA,6607
147
- review_sensei/planning.py,sha256=bacTJMwky-QLHCyl-DxXHxNFutmIo1r9NQmX0Cmb9jg,37034
148
- review_sensei/presentation.py,sha256=Fey0sUhHS3q42QMNT-nH2QEuglvplPibksPc3kEoYto,30633
178
+ review_sensei/planning.py,sha256=3n58OteF-VtGn9SEo_aaB3hT1MiO7tjf-MhYuqScMRQ,38159
179
+ review_sensei/presentation.py,sha256=tPsThX4DxBcdnNDe7CQNLHXh2yODmpkR25zeog1nFi8,32140
149
180
  review_sensei/provider_config.py,sha256=y03TeL6wNsx_9KECr_AhHQkWyWOBOUMnPHzDDyL9AdQ,16382
150
181
  review_sensei/providers/__init__.py,sha256=gmfB6gm0QN_FfN3lJJ0kN8QgTtJom4ayzaqUkLmwQwc,779
151
182
  review_sensei/providers/__pycache__/__init__.cpython-311.pyc,,
@@ -160,19 +191,20 @@ review_sensei/providers/__pycache__/routing.cpython-311.pyc,,
160
191
  review_sensei/providers/__pycache__/transport.cpython-311.pyc,,
161
192
  review_sensei/providers/base.py,sha256=u-z9bQNi3sjPudoDb52czjOmM2YwBX_Kwniopz_LfWI,2009
162
193
  review_sensei/providers/fixture.py,sha256=-HXetG6cXpWd5NlF1-RMA3aqyr88YHwYpiyz0Bc6BO8,1554
163
- review_sensei/providers/ollama.py,sha256=CtwWFs4OA8035Lg6fdFCU0xzGySrtrXNptzPJ7dmcBI,11174
194
+ review_sensei/providers/ollama.py,sha256=KuLGgZiwg8QCy2kKW_QaDkrUkYUA6bKP2gChu9PMIkE,14787
164
195
  review_sensei/providers/openai_compatible.py,sha256=nZYy_xy0dlujJPY-LKaog1MF1SMl8bqq4G59-jBNpJc,19725
165
196
  review_sensei/providers/openrouter.py,sha256=bxuibfKD__E8Oyf5m24UI8_fGJGM9DMMNW7Or1LDGF8,23583
166
197
  review_sensei/providers/profiles.py,sha256=_vhQPNMBT2x-6AU-xVqM0lqTlT2cTiXMv5xwb5-C2EM,9352
167
198
  review_sensei/providers/registry.py,sha256=_YifbpFtgsARRF5l1VJsyQgovJgjrgvB_VLT-SUAE9k,12088
168
199
  review_sensei/providers/routing.py,sha256=-EttO963m9Gh3E5hlF72EvyFDN9qMabPmm05b3m5QH0,7064
169
200
  review_sensei/providers/transport.py,sha256=9QhvHM33gYE7DbmXNxhfBoVDsa7Hx3audaxzRd_7pS4,2937
170
- review_sensei/reassessment_work.py,sha256=O2xeQ0-uqf_RyW9ypaiV8YjBjfoV5utM3cHf2eRrDN8,18872
201
+ review_sensei/reassessment_work.py,sha256=u9HYM_EqXHeaIMYygxABtYayeb8f2Pj7bBH0ObwZB-g,30299
171
202
  review_sensei/release_manifest.py,sha256=a7pPhr0YVBCrzC6Q8JC4HiqTD3aBUyTYV4Y0827U5TA,37775
172
203
  review_sensei/schemas.py,sha256=DG0Z2VsZUKRaoLNquemWSsGT8XFavUy1ot-W3ADowWw,2736
204
+ review_sensei/schemas/assessment-queue-root.schema.json,sha256=T83VZWl489ggPZSXisC8B1hcIWT778nHW0TVt2HZk8U,5719
173
205
  review_sensei/schemas/baseline-evidence.schema.json,sha256=pFo0VJuWZsdMVekX-ku1xw1HvNqk5zS5hQGDAOTUrDg,3845
174
206
  review_sensei/schemas/blocker-admission.schema.json,sha256=M3nBzti7M5yAWKFDcsfdJ3TsPbiJrEEn2Zj4yYUDBPQ,2800
175
- review_sensei/schemas/broker-diagnostics.json,sha256=x3f4K53EURGK2iZl93u_pU36imqFEg7RP7wK94GDHtg,21369
207
+ review_sensei/schemas/broker-diagnostics.json,sha256=CeEhjpsd7JM6fMYrO1j1ZjkGGSHRDcpon0M2lBwdGZs,21601
176
208
  review_sensei/schemas/canary-binding.schema.json,sha256=065T5GIYG16P9S22HEKrHeRg6unHu8WXedbJxwUYBgk,794
177
209
  review_sensei/schemas/candidate-finding.schema.json,sha256=P_FM6pbwdOZGZPAiI_E_ZSmxDfScu2u_2RPzpkdIdmk,1982
178
210
  review_sensei/schemas/channel-promotion.schema.json,sha256=LNQgvm6IxntfXrpEnoVz4aL_7_ALo8syiVYEFrfxHYw,1085
@@ -183,8 +215,12 @@ review_sensei/schemas/concurrency-plan.schema.json,sha256=YtHPlfShzFPLE4sQMEn7To
183
215
  review_sensei/schemas/convergence-sequence-report.schema.json,sha256=e5T1QEepf8k3Zaoilfekt8-Wes9yol8FuHXe8VOAkEU,2412
184
216
  review_sensei/schemas/conversation-reply.schema.json,sha256=bKHxO1CX_g_VrWDb1e0GKPGIUzMPORchHqrT805yPXA,682
185
217
  review_sensei/schemas/coverage-manifest.schema.json,sha256=WEyGaJVs9ptF_TDX7CkU5-dkQ6uhfz8Jelsw3vkMB1Q,2901
218
+ review_sensei/schemas/eligibility-v4.schema.json,sha256=kTJoRc24EVMao_5231EMO-zFdlsciQ41ynz2zCx5vrE,4672
186
219
  review_sensei/schemas/evaluation-corpus.schema.json,sha256=0W3-zgmVFa5AjDSs385szKNt4DX_D_ZdrE9ur3Nrnz0,7905
187
220
  review_sensei/schemas/evaluation-report.schema.json,sha256=kPLXcJv3XeRFNW__VnQzrnovXHaKfS4-ZevfLDgV1xY,10012
221
+ review_sensei/schemas/evidence-manifest.schema.json,sha256=Dv6amHF2NIbeyt5lf3lRpEjicVwtaaHjGs624Pz-OnA,3649
222
+ review_sensei/schemas/human-file-receipt.schema.json,sha256=Jm9fkJ4IK4-hikWLBb-e-6I5lqwlZdPAT__q2x-xYzQ,1610
223
+ review_sensei/schemas/human-file-review.schema.json,sha256=hqZdrr3iaIiv2vy0HIcexZSYhrC4-lyZf8Rt0V_QL0g,3139
188
224
  review_sensei/schemas/later-finding-classification.schema.json,sha256=YxsogG9aN4Kbm7__lJpvhOMBbuRe8NbDKS4GnJf4Kl4,2092
189
225
  review_sensei/schemas/learning-entry.schema.json,sha256=QtbNYK_eIPmXos4TlYbCFL8EvYAqOx-dxUXDM5wBGQ4,1782
190
226
  review_sensei/schemas/learning-feedback.schema.json,sha256=SbNqRSdA82pV5a8Zbzbnjm7U7sj4s9epqRPlJ7-lgAg,1925
@@ -196,22 +232,24 @@ review_sensei/schemas/recovery-artifact.schema.json,sha256=ZP-C_E_nQlFsuObxFn2O0
196
232
  review_sensei/schemas/review-category.schema.json,sha256=Rni93qGN2LyJSrHRF-GcgVdAjqXGnDU5yjIjG2wn7pI,2189
197
233
  review_sensei/schemas/review-comment.schema.json,sha256=0A9J_vzYnMUpKsv9wZUGGnCd1ryP-8uksPEbSJWj8Xo,1140
198
234
  review_sensei/schemas/review-convergence-policy.schema.json,sha256=D5xxDIrJCx2ztq2tZAe0BjgVLAS1i4Gicg_KDR3c-bE,1034
199
- review_sensei/schemas/review-result.schema.json,sha256=17LIWVmdMplo9x6v_HQZ-NTjFJYtM8ZlJhd2jAWDCcQ,5114
235
+ review_sensei/schemas/review-result.schema.json,sha256=q_2APC6rT0hbNpVFNRtAMNBOJPg9-OxUC4kF67TEjk8,5165
200
236
  review_sensei/schemas/review-round-decision.schema.json,sha256=d1GOE4RSgNRkvF35k_xV7nSAEuLzDFVO-fLn-tV0nFo,1166
201
237
  review_sensei/schemas/review-stage.schema.json,sha256=H5CDiC-ngQXJpVomEvd8YPP1tgyPgwo_k3atK4Vjev0,4707
202
238
  review_sensei/schemas/review-transaction.schema.json,sha256=KWtsfa0p0CmPx--cB91XpDizF2Z6N2Ehg5YMlRqJwN8,2215
203
239
  review_sensei/schemas/run-outcome.schema.json,sha256=pyByHFmQ8yNFPsLD7wccR5lxsWBwzoxNyD77bjNqeU8,1744
204
- review_sensei/schemas/session-record.schema.json,sha256=VT1NJuBihzOJg-8WbT6u5jUPIb--DpKoiZOm1bO5-f4,14117
240
+ review_sensei/schemas/session-record.schema.json,sha256=SVnRmU3M2Mz_FHT9Ytij3ty2imnj22-4IP_eo1a_w-Y,14317
205
241
  review_sensei/schemas/stage.schema.json,sha256=WsxbwZFGpRNCyZ6xzWsAQHf8f7YpJLAh9FKRXN_vlao,2900
242
+ review_sensei/schemas/unchanged-source-citation.schema.json,sha256=9lnUvliTlyO6zNM5Nwzh65wzteBZevVlkhE-V8ztUqo,2357
206
243
  review_sensei/schemas/verification-result.schema.json,sha256=Hf765S-aC1Tk4c7KMWaaSf5DMsg6ogmjnHXcjcHE01k,625
207
244
  review_sensei/schemas/verification-scope.schema.json,sha256=qACGMuiiu434cYVvI7akHffIx2lm98bXE1W3D4JWNDk,2178
208
- review_sensei/schemas/work-recovery-artifact.schema.json,sha256=0xzGv2WlF5unF1P7ySkHeI5HSD23xaAAh9nS-d8GGDo,3968
245
+ review_sensei/schemas/work-recovery-artifact.schema.json,sha256=U5nKrq-mtyHDxTF8p2DHbVinv3F3fNWsFiTGR_8Kqt0,3971
209
246
  review_sensei/scope.py,sha256=nhds_ZB86snKaptKu6Llbt5ggzTR3ft1NhyICouA7BM,3293
210
247
  review_sensei/sequence.py,sha256=Mc3ejY8Cmo7xASNAo2vfep9rILb3BgnzH8T9rw8xjRY,23746
211
- review_sensei/service.py,sha256=3h-Vyl4JuExjlup_QTgM41jzFxL9MW6orN8caGvCEqs,76968
212
- review_sensei/session.py,sha256=4f43X6atsV6umkufKBJCWEr4zwIZtF9K5Qzmw--fDIs,131418
248
+ review_sensei/service.py,sha256=aBDcHL6lwcN57kmqSSBVq8Od-D_YkKYTQNpRQjmwn0Y,80241
249
+ review_sensei/session.py,sha256=E21HrIzAXR3NeGcu1BHoJnisG4IvJaTVxaxRzcB-EoI,183725
213
250
  review_sensei/stages.py,sha256=rMomi3dvKrEl3yiuy2VbX09_bLu8dWD2rblFH8aJ6yI,24256
214
- review_sensei/validation.py,sha256=euLaI7cxwTCxcpNRh-F8zGz0BQu8GMG3cA3_1_wtdkU,12390
215
- review_sensei/verifier.py,sha256=_6cbaoXj8R9hatM7fZav-BgfkSPRyJ4ASmQlZbxF5HA,34913
216
- review_sensei/work_recovery.py,sha256=1d1JFk-MBq_Kk55VNbzpZ-rxqaHgRDJfZ4-4VEOpSac,15611
251
+ review_sensei/unchanged_source.py,sha256=kOmJnN6gZ4Al16dkTnjfxKacJw7clYId4QciBpUvUIE,12001
252
+ review_sensei/validation.py,sha256=JrNG_U2Uvb8qTWSq7hHKNdvaQD9pyPK3NjRaV5era2A,12706
253
+ review_sensei/verifier.py,sha256=Nav5wFOA2JC_7aSVtoQftArjXtTS0oDstKVlYyLksPQ,35030
254
+ review_sensei/work_recovery.py,sha256=Wy3wwa0euCTL50u7ulmiJm_zL7w1qLyMlk4vo-27nSY,17823
217
255
  review_sensei/workflow.py,sha256=b20eeP9ekbNYGibNCYCcvKSLK7cO3bpCsXiA7y9y33Y,23572
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reviewsensei/cli-win32-x64",
3
- "version": "0.6.19",
3
+ "version": "0.6.21",
4
4
  "description": "ReviewSensei AI code review engine for Windows x64; native payload used by @reviewsensei/cli",
5
5
  "license": "MIT",
6
6
  "repository": {