@reviewsensei/cli-linux-x64-gnu 0.6.16 → 0.6.18

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
@@ -6,10 +6,12 @@ standalone Python engine bundled for Linux x64 with glibc 2.36+.
6
6
 
7
7
  Install the public launcher, which selects the matching native package:
8
8
 
9
+ <!-- release-installation:package-npm-1:start -->
9
10
  ```console
10
- npm install --save-dev @reviewsensei/cli@0.6.16
11
+ npm install --save-dev @reviewsensei/cli@0.6.18
11
12
  npx review-sensei --help
12
13
  ```
14
+ <!-- release-installation:package-npm-1:end -->
13
15
 
14
16
  Use [`@reviewsensei/cli`](https://www.npmjs.com/package/@reviewsensei/cli) for
15
17
  installation, provider/model configuration, authentication, and review examples.
Binary file
@@ -0,0 +1,89 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/checkpoint-diagnostics.schema.json",
4
+ "title": "ReviewSensei sanitized baseline persistence diagnostics v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version",
9
+ "reasons",
10
+ "finding_count",
11
+ "reviewed_path_count",
12
+ "related_path_count",
13
+ "encoded_bytes",
14
+ "available_bytes",
15
+ "maximum_identity_or_path_characters",
16
+ "maximum_symbol_characters",
17
+ "maximum_defect_kind_characters",
18
+ "finding_limit",
19
+ "maximum_bytes",
20
+ "identity_or_path_character_limit",
21
+ "symbol_character_limit",
22
+ "defect_kind_character_limit"
23
+ ],
24
+ "properties": {
25
+ "schema_version": {
26
+ "const": "1.0"
27
+ },
28
+ "reasons": {
29
+ "type": "array",
30
+ "minItems": 1,
31
+ "maxItems": 3,
32
+ "uniqueItems": true,
33
+ "items": {
34
+ "enum": [
35
+ "finding-count",
36
+ "encoded-bytes",
37
+ "field-width"
38
+ ]
39
+ }
40
+ },
41
+ "finding_count": {
42
+ "type": "integer",
43
+ "minimum": 0
44
+ },
45
+ "reviewed_path_count": {
46
+ "type": "integer",
47
+ "minimum": 0
48
+ },
49
+ "related_path_count": {
50
+ "type": "integer",
51
+ "minimum": 0
52
+ },
53
+ "encoded_bytes": {
54
+ "type": "integer",
55
+ "minimum": 0
56
+ },
57
+ "available_bytes": {
58
+ "type": "integer",
59
+ "minimum": 0
60
+ },
61
+ "maximum_identity_or_path_characters": {
62
+ "type": "integer",
63
+ "minimum": 0
64
+ },
65
+ "maximum_symbol_characters": {
66
+ "type": "integer",
67
+ "minimum": 0
68
+ },
69
+ "maximum_defect_kind_characters": {
70
+ "type": "integer",
71
+ "minimum": 0
72
+ },
73
+ "finding_limit": {
74
+ "const": 2
75
+ },
76
+ "maximum_bytes": {
77
+ "const": 11264
78
+ },
79
+ "identity_or_path_character_limit": {
80
+ "const": 256
81
+ },
82
+ "symbol_character_limit": {
83
+ "const": 256
84
+ },
85
+ "defect_kind_character_limit": {
86
+ "const": 128
87
+ }
88
+ }
89
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v1/checkpoint-evidence.schema.json",
4
+ "title": "ReviewSensei diagnostic evidence (not publication authority) v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version",
9
+ "publishable",
10
+ "result"
11
+ ],
12
+ "properties": {
13
+ "schema_version": {
14
+ "const": "1.0"
15
+ },
16
+ "publishable": {
17
+ "const": false
18
+ },
19
+ "result": {
20
+ "$ref": "https://reviewsensei.dev/schemas/v1/review-result.schema.json"
21
+ }
22
+ }
23
+ }
@@ -143,7 +143,7 @@
143
143
  },
144
144
  "convergence_history": {
145
145
  "type": "object",
146
- "description": "Bounded convergence envelope. The field caps below bound each member; the validation seam additionally rejects an envelope whose canonical UTF-8 encoding exceeds MAX_CONVERGENCE_HISTORY_BYTES (4096), which JSON Schema cannot express.",
146
+ "description": "Bounded convergence envelope. The field caps below bound each member; the validation seam additionally rejects canonical UTF-8 JSON above 12288 history bytes or 20480 record bytes, which JSON Schema cannot express. Writers allocate less history when the surrounding lifecycle state requires it. Older readers reject expanded records; upgrade all shared-ledger readers before enabling new writes.",
147
147
  "additionalProperties": false,
148
148
  "required": ["state", "progress", "provenance"],
149
149
  "properties": {
@@ -194,7 +194,7 @@
194
194
  }
195
195
  },
196
196
  "reviewed_paths": {"type": "array", "maxItems": 512, "items": {"type": "string", "maxLength": 256}},
197
- "related_paths": {"type": "array", "maxItems": 32, "items": {"type": "string", "maxLength": 256}}
197
+ "related_paths": {"type": "array", "maxItems": 64, "items": {"type": "string", "maxLength": 256}}
198
198
  }
199
199
  },
200
200
  "progress": {
@@ -52,6 +52,7 @@
52
52
  "incomplete-baseline",
53
53
  "missing-baseline",
54
54
  "coverage-incomplete",
55
+ "related-context-overflow",
55
56
  "ledger-untrusted",
56
57
  null
57
58
  ]
@@ -63,7 +64,7 @@
63
64
  },
64
65
  "related_paths": {
65
66
  "type": "array",
66
- "maxItems": 32,
67
+ "maxItems": 64,
67
68
  "items": { "type": "string", "minLength": 1, "maxLength": 4096 }
68
69
  },
69
70
  "changed_paths": {
@@ -0,0 +1,156 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://reviewsensei.dev/schemas/v2/work-recovery-artifact.schema.json",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "document",
8
+ "authentication"
9
+ ],
10
+ "properties": {
11
+ "authentication": {
12
+ "type": "string",
13
+ "pattern": "^[a-f0-9]{64}$"
14
+ },
15
+ "document": {
16
+ "type": "object",
17
+ "additionalProperties": false,
18
+ "required": [
19
+ "schema_version",
20
+ "plan",
21
+ "execution_identity",
22
+ "resource_budget",
23
+ "saved_at",
24
+ "expires_at",
25
+ "elapsed_ms",
26
+ "counters",
27
+ "completed",
28
+ "pending",
29
+ "request_digests"
30
+ ],
31
+ "properties": {
32
+ "schema_version": {
33
+ "const": "2.0"
34
+ },
35
+ "plan": {
36
+ "type": "object"
37
+ },
38
+ "execution_identity": {
39
+ "type": "string",
40
+ "pattern": "^[a-f0-9]{32}$"
41
+ },
42
+ "resource_budget": {
43
+ "type": "object"
44
+ },
45
+ "saved_at": {
46
+ "type": "string",
47
+ "format": "date-time"
48
+ },
49
+ "expires_at": {
50
+ "type": "string",
51
+ "format": "date-time"
52
+ },
53
+ "elapsed_ms": {
54
+ "type": "integer",
55
+ "minimum": 0,
56
+ "maximum": 86400000
57
+ },
58
+ "counters": {
59
+ "type": "object",
60
+ "additionalProperties": false,
61
+ "required": [
62
+ "provider_calls",
63
+ "transport_retries",
64
+ "structural_retries",
65
+ "prompt_bytes",
66
+ "response_bytes"
67
+ ],
68
+ "properties": {
69
+ "provider_calls": {
70
+ "type": "integer",
71
+ "minimum": 0,
72
+ "maximum": 8
73
+ },
74
+ "transport_retries": {
75
+ "type": "integer",
76
+ "minimum": 0,
77
+ "maximum": 2
78
+ },
79
+ "structural_retries": {
80
+ "type": "integer",
81
+ "minimum": 0,
82
+ "maximum": 2
83
+ },
84
+ "prompt_bytes": {
85
+ "type": "integer",
86
+ "minimum": 0,
87
+ "maximum": 2097152
88
+ },
89
+ "response_bytes": {
90
+ "type": "integer",
91
+ "minimum": 0,
92
+ "maximum": 1048576
93
+ }
94
+ }
95
+ },
96
+ "completed": {
97
+ "type": "array",
98
+ "maxItems": 8,
99
+ "items": {
100
+ "type": "object",
101
+ "additionalProperties": false,
102
+ "required": [
103
+ "batch_id",
104
+ "request_digest",
105
+ "result"
106
+ ],
107
+ "properties": {
108
+ "batch_id": {
109
+ "type": "string",
110
+ "pattern": "^[a-f0-9]{64}$"
111
+ },
112
+ "request_digest": {
113
+ "type": "string",
114
+ "pattern": "^[a-f0-9]{64}$"
115
+ },
116
+ "result": {
117
+ "type": "object"
118
+ }
119
+ }
120
+ }
121
+ },
122
+ "pending": {
123
+ "type": "array",
124
+ "maxItems": 40000,
125
+ "items": {
126
+ "type": "array",
127
+ "minItems": 2,
128
+ "maxItems": 2,
129
+ "items": {
130
+ "type": "string",
131
+ "maxLength": 512
132
+ }
133
+ }
134
+ },
135
+ "request_digests": {
136
+ "type": "object",
137
+ "maxProperties": 8,
138
+ "propertyNames": {
139
+ "pattern": "^[a-f0-9]{64}$"
140
+ },
141
+ "additionalProperties": {
142
+ "anyOf": [
143
+ {
144
+ "type": "string",
145
+ "pattern": "^[a-f0-9]{64}$"
146
+ },
147
+ {
148
+ "type": "null"
149
+ }
150
+ ]
151
+ }
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: review-sensei
3
- Version: 0.6.16
3
+ Version: 0.6.18
4
4
  Summary: Provider-neutral AI code review engine with an Ollama adapter.
5
5
  Author: Mohamad Alsabbagh
6
6
  License-Expression: MIT
@@ -135,10 +135,12 @@ replacements by `review-sensei config`.
135
135
  Node.js 22 or newer can invoke the same Python review engine through the
136
136
  provider-neutral `@reviewsensei/cli` launcher:
137
137
 
138
+ <!-- release-installation:package-npm-1:start -->
138
139
  ```bash
139
- npx --yes @reviewsensei/cli@0.6.16 --version
140
- npx --yes @reviewsensei/cli@0.6.16 --help
140
+ npx --yes @reviewsensei/cli@0.6.18 --version
141
+ npx --yes @reviewsensei/cli@0.6.18 --help
141
142
  ```
143
+ <!-- release-installation:package-npm-1:end -->
142
144
 
143
145
  The launcher selects one of the five native packages (macOS arm64/x64,
144
146
  glibc Linux arm64/x64, or Windows x64), forwards arguments unchanged, and
@@ -334,6 +336,14 @@ limits stay in place; opt-in `--orchestrate-large-changes` adds a separate
334
336
  total-work budget so larger diffs can be chunked without silent truncation or
335
337
  unbounded provider calls.
336
338
 
339
+ Full review and tagged human reassessment can opt into the same evidence planner
340
+ and bounded executor with `advanced.review_work.mode: unified`. This is an
341
+ experimental work mechanism; existing routing remains the default. It batches
342
+ complete required file patches for replies, and whole files or exhaustive parsed
343
+ hunks for discovery. Missing or oversized evidence and failed batches stay
344
+ pending and withhold approval. See [shared review work](docs/shared-review-work.md)
345
+ for budgets, provider qualification and reader-safe rollout.
346
+
337
347
  Npm `package-lock.json` and `npm-shrinkwrap.json` changes are reviewed as
338
348
  material dependency input. Every original hunk remains in the request; a
339
349
  bounded aid identifies visible dependency members with exact diff hashes and
@@ -22,7 +22,10 @@ docs/ownership-and-licensing.md
22
22
  docs/patch-suggestions.md
23
23
  docs/protection-policy.md
24
24
  docs/public-contracts.md
25
+ docs/release-docs-bot.md
26
+ docs/release-signing.md
25
27
  docs/releasing.md
28
+ docs/shared-review-work.md
26
29
  docs/adr/0001-provider-neutral-review-engine.md
27
30
  docs/adr/0002-repository-local-review-learnings.md
28
31
  docs/adr/0003-review-concurrency-policy.md
@@ -87,10 +90,34 @@ docs/adr/0062-optional-hosted-runner-label.md
87
90
  docs/adr/0063-authenticated-reservation-recovery.md
88
91
  docs/adr/0064-canonical-mention-handle.md
89
92
  docs/adr/0065-complete-human-inventory-and-approval-retry.md
93
+ docs/adr/0066-incremental-context-overflow-recovery.md
94
+ docs/adr/0067-shared-review-work-mechanics.md
95
+ docs/adr/0068-dedicated-release-key-and-publication-approval.md
96
+ docs/adr/0070-bounded-checkpoint-overflow.md
97
+ docs/adr/0071-generated-release-notes.md
90
98
  docs/adr/README.md
91
99
  docs/architecture/index.md
92
100
  docs/process/adr-process.md
93
101
  docs/process/index.md
102
+ docs/releases/.gitattributes
103
+ docs/releases/latest.md
104
+ docs/releases/latest/files.json
105
+ docs/releases/latest/site/CNAME
106
+ docs/releases/latest/site/MAINTAINERS.md
107
+ docs/releases/latest/site/index.html
108
+ docs/releases/latest/site/robots.txt
109
+ docs/releases/latest/site/sitemap.xml
110
+ docs/releases/latest/site/assets/favicon.svg
111
+ docs/releases/latest/site/assets/site.css
112
+ docs/releases/latest/site/data/release-provenance.json
113
+ docs/releases/latest/site/data/site-manifest.json
114
+ docs/releases/latest/site/examples/index.html
115
+ docs/releases/latest/site/getting-started/index.html
116
+ docs/releases/latest/site/providers/index.html
117
+ docs/releases/latest/site/releases/index.html
118
+ docs/releases/latest/site/schemas/release-provenance.schema.json
119
+ docs/releases/latest/site/schemas/site-manifest.schema.json
120
+ docs/releases/latest/site/security/index.html
94
121
  docs/site/CNAME
95
122
  docs/site/MAINTAINERS.md
96
123
  docs/site/index.html
@@ -103,6 +130,7 @@ docs/site/examples/index.html
103
130
  docs/site/getting-started/index.html
104
131
  docs/site/providers/index.html
105
132
  docs/site/releases/index.html
133
+ docs/site/schemas/release-provenance.schema.json
106
134
  docs/site/schemas/site-manifest.schema.json
107
135
  docs/site/security/index.html
108
136
  evaluation/v1/README.md
@@ -146,6 +174,7 @@ src/review_sensei/__init__.py
146
174
  src/review_sensei/__main__.py
147
175
  src/review_sensei/baseline.py
148
176
  src/review_sensei/broker_diagnostics.py
177
+ src/review_sensei/budgets.py
149
178
  src/review_sensei/cli.py
150
179
  src/review_sensei/concurrency.py
151
180
  src/review_sensei/configuration.py
@@ -156,10 +185,13 @@ src/review_sensei/coverage.py
156
185
  src/review_sensei/dependencies.py
157
186
  src/review_sensei/diagnostics.py
158
187
  src/review_sensei/diff.py
188
+ src/review_sensei/discovery_work.py
159
189
  src/review_sensei/disposition.py
160
190
  src/review_sensei/document_context.py
161
191
  src/review_sensei/errors.py
162
192
  src/review_sensei/evaluation.py
193
+ src/review_sensei/evidence.py
194
+ src/review_sensei/execution.py
163
195
  src/review_sensei/hosted.py
164
196
  src/review_sensei/human_assessment.py
165
197
  src/review_sensei/learnings.py
@@ -171,14 +203,17 @@ src/review_sensei/placement.py
171
203
  src/review_sensei/planning.py
172
204
  src/review_sensei/presentation.py
173
205
  src/review_sensei/provider_config.py
206
+ src/review_sensei/reassessment_work.py
174
207
  src/review_sensei/release_manifest.py
175
208
  src/review_sensei/schemas.py
209
+ src/review_sensei/scope.py
176
210
  src/review_sensei/sequence.py
177
211
  src/review_sensei/service.py
178
212
  src/review_sensei/session.py
179
213
  src/review_sensei/stages.py
180
214
  src/review_sensei/validation.py
181
215
  src/review_sensei/verifier.py
216
+ src/review_sensei/work_recovery.py
182
217
  src/review_sensei/workflow.py
183
218
  src/review_sensei/default_categories/01-correctness.json
184
219
  src/review_sensei/default_categories/02-security.json
@@ -230,6 +265,8 @@ src/review_sensei/schemas/broker-diagnostics.json
230
265
  src/review_sensei/schemas/canary-binding.schema.json
231
266
  src/review_sensei/schemas/candidate-finding.schema.json
232
267
  src/review_sensei/schemas/channel-promotion.schema.json
268
+ src/review_sensei/schemas/checkpoint-diagnostics.schema.json
269
+ src/review_sensei/schemas/checkpoint-evidence.schema.json
233
270
  src/review_sensei/schemas/compatibility-manifest.schema.json
234
271
  src/review_sensei/schemas/concurrency-plan.schema.json
235
272
  src/review_sensei/schemas/convergence-sequence-report.schema.json
@@ -257,6 +294,7 @@ src/review_sensei/schemas/session-record.schema.json
257
294
  src/review_sensei/schemas/stage.schema.json
258
295
  src/review_sensei/schemas/verification-result.schema.json
259
296
  src/review_sensei/schemas/verification-scope.schema.json
297
+ src/review_sensei/schemas/work-recovery-artifact.schema.json
260
298
  tests/fake_github_http.py
261
299
  tests/packaging_guard.py
262
300
  tests/dist_safe/test_distribution_contract.py
package/bin/review-sensei CHANGED
Binary file
package/package.json CHANGED
@@ -1,13 +1,21 @@
1
1
  {
2
2
  "name": "@reviewsensei/cli-linux-x64-gnu",
3
- "version": "0.6.16",
3
+ "version": "0.6.18",
4
4
  "description": "ReviewSensei AI code review engine for Linux x64 with glibc 2.36+; native payload used by @reviewsensei/cli",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/malsabbagh/review-sensei.git"
9
9
  },
10
- "os": ["linux"],
11
- "cpu": ["x64"],
12
- "files": ["bin", "README.md", "LICENSE"]
10
+ "os": [
11
+ "linux"
12
+ ],
13
+ "cpu": [
14
+ "x64"
15
+ ],
16
+ "files": [
17
+ "bin",
18
+ "README.md",
19
+ "LICENSE"
20
+ ]
13
21
  }