@reviewsensei/cli-linux-x64-gnu 0.6.19 → 0.6.20
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 +1 -1
- package/bin/_internal/base_library.zip +0 -0
- package/bin/_internal/review_sensei/default_categories/03-architecture.json +1 -1
- package/bin/_internal/review_sensei/schemas/assessment-queue-root.schema.json +196 -0
- package/bin/_internal/review_sensei/schemas/broker-diagnostics.json +5 -0
- package/bin/_internal/review_sensei/schemas/eligibility-v4.schema.json +193 -0
- package/bin/_internal/review_sensei/schemas/evidence-manifest.schema.json +144 -0
- package/bin/_internal/review_sensei/schemas/human-file-receipt.schema.json +62 -0
- package/bin/_internal/review_sensei/schemas/human-file-review.schema.json +134 -0
- package/bin/_internal/review_sensei/schemas/review-result.schema.json +1 -0
- package/bin/_internal/review_sensei/schemas/session-record.schema.json +3 -1
- package/bin/_internal/review_sensei/schemas/unchanged-source-citation.schema.json +83 -0
- package/bin/_internal/review_sensei/schemas/work-recovery-artifact.schema.json +3 -3
- package/bin/_internal/review_sensei.egg-info/PKG-INFO +17 -4
- package/bin/_internal/review_sensei.egg-info/SOURCES.txt +43 -0
- package/bin/review-sensei +0 -0
- package/package.json +1 -1
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.
|
|
11
|
+
npm install --save-dev @reviewsensei/cli@0.6.20
|
|
12
12
|
npx review-sensei --help
|
|
13
13
|
```
|
|
14
14
|
<!-- release-installation:package-npm-1:end -->
|
|
Binary file
|
|
@@ -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":
|
|
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":
|
|
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":
|
|
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.
|
|
3
|
+
Version: 0.6.20
|
|
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.
|
|
144
|
-
npx --yes @reviewsensei/cli@0.6.
|
|
143
|
+
npx --yes @reviewsensei/cli@0.6.20 --version
|
|
144
|
+
npx --yes @reviewsensei/cli@0.6.20 --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
|
|
@@ -12,14 +12,21 @@ docs/architecture.md
|
|
|
12
12
|
docs/community.md
|
|
13
13
|
docs/data-handling.md
|
|
14
14
|
docs/diagnostics.md
|
|
15
|
+
docs/epic238-architecture-review.md
|
|
16
|
+
docs/epic238-b-interface.md
|
|
17
|
+
docs/epic238-integration-status.md
|
|
15
18
|
docs/evaluation.md
|
|
19
|
+
docs/exhaustive-evidence.md
|
|
16
20
|
docs/github-app-auth.md
|
|
17
21
|
docs/github-app-registration.md
|
|
22
|
+
docs/human-assessment.md
|
|
23
|
+
docs/human-file-review.md
|
|
18
24
|
docs/installation.md
|
|
19
25
|
docs/mention-handle-rollout.md
|
|
20
26
|
docs/openrouter-qualification.md
|
|
21
27
|
docs/ownership-and-licensing.md
|
|
22
28
|
docs/patch-suggestions.md
|
|
29
|
+
docs/prompt-context-admission.md
|
|
23
30
|
docs/proposed-evidence-persistence.md
|
|
24
31
|
docs/protection-policy.md
|
|
25
32
|
docs/public-contracts.md
|
|
@@ -100,10 +107,21 @@ docs/adr/0069-verified-draft-github-release.md
|
|
|
100
107
|
docs/adr/0070-bounded-checkpoint-overflow.md
|
|
101
108
|
docs/adr/0071-generated-release-notes.md
|
|
102
109
|
docs/adr/0072-lossless-inline-review-evidence.md
|
|
110
|
+
docs/adr/0073-authenticated-feedback-mutation-grants.md
|
|
111
|
+
docs/adr/0074-durable-original-attempt-accounting.md
|
|
112
|
+
docs/adr/0075-complete-provider-response-contract.md
|
|
113
|
+
docs/adr/0076-pr253-gap-closure-contracts.md
|
|
114
|
+
docs/adr/0077-explicit-human-file-review.md
|
|
103
115
|
docs/adr/README.md
|
|
104
116
|
docs/architecture/index.md
|
|
117
|
+
docs/architecture/mandatory-rules.md
|
|
105
118
|
docs/process/adr-process.md
|
|
106
119
|
docs/process/index.md
|
|
120
|
+
docs/proposals/issue-240-authenticated-partitions.md
|
|
121
|
+
docs/proposals/issue-241-eligibility-v4.md
|
|
122
|
+
docs/proposals/issue-242-durable-assessment-queue.md
|
|
123
|
+
docs/proposals/pr271-github-only-operation-entry.md
|
|
124
|
+
docs/proposals/pr271-request-reduction.md
|
|
107
125
|
docs/releases/.gitattributes
|
|
108
126
|
docs/releases/latest.md
|
|
109
127
|
docs/releases/latest/files.json
|
|
@@ -177,6 +195,8 @@ examples/stages/02-comments.json
|
|
|
177
195
|
examples/stages/03-learning-proposals.json
|
|
178
196
|
src/review_sensei/__init__.py
|
|
179
197
|
src/review_sensei/__main__.py
|
|
198
|
+
src/review_sensei/assessment_history_index.py
|
|
199
|
+
src/review_sensei/assessment_queue.py
|
|
180
200
|
src/review_sensei/baseline.py
|
|
181
201
|
src/review_sensei/bounded_evidence.py
|
|
182
202
|
src/review_sensei/broker_diagnostics.py
|
|
@@ -198,9 +218,14 @@ src/review_sensei/errors.py
|
|
|
198
218
|
src/review_sensei/evaluation.py
|
|
199
219
|
src/review_sensei/evidence.py
|
|
200
220
|
src/review_sensei/execution.py
|
|
221
|
+
src/review_sensei/feedback.py
|
|
222
|
+
src/review_sensei/history_association.py
|
|
201
223
|
src/review_sensei/hosted.py
|
|
202
224
|
src/review_sensei/human_assessment.py
|
|
225
|
+
src/review_sensei/human_file_review.py
|
|
226
|
+
src/review_sensei/human_inventory.py
|
|
203
227
|
src/review_sensei/learnings.py
|
|
228
|
+
src/review_sensei/mixed_coverage.py
|
|
204
229
|
src/review_sensei/models.py
|
|
205
230
|
src/review_sensei/openrouter_qualification.py
|
|
206
231
|
src/review_sensei/outcomes.py
|
|
@@ -217,6 +242,7 @@ src/review_sensei/sequence.py
|
|
|
217
242
|
src/review_sensei/service.py
|
|
218
243
|
src/review_sensei/session.py
|
|
219
244
|
src/review_sensei/stages.py
|
|
245
|
+
src/review_sensei/unchanged_source.py
|
|
220
246
|
src/review_sensei/validation.py
|
|
221
247
|
src/review_sensei/verifier.py
|
|
222
248
|
src/review_sensei/work_recovery.py
|
|
@@ -237,14 +263,22 @@ src/review_sensei/hosting/github/broker.py
|
|
|
237
263
|
src/review_sensei/hosting/github/broker_client.py
|
|
238
264
|
src/review_sensei/hosting/github/checks.py
|
|
239
265
|
src/review_sensei/hosting/github/conversation.py
|
|
266
|
+
src/review_sensei/hosting/github/eligibility_parts.py
|
|
240
267
|
src/review_sensei/hosting/github/errors.py
|
|
268
|
+
src/review_sensei/hosting/github/feedback_attestation.py
|
|
241
269
|
src/review_sensei/hosting/github/http.py
|
|
242
270
|
src/review_sensei/hosting/github/human_assessment.py
|
|
271
|
+
src/review_sensei/hosting/github/human_file_review.py
|
|
243
272
|
src/review_sensei/hosting/github/jwt.py
|
|
244
273
|
src/review_sensei/hosting/github/learning_pr.py
|
|
245
274
|
src/review_sensei/hosting/github/observed.py
|
|
246
275
|
src/review_sensei/hosting/github/oidc.py
|
|
276
|
+
src/review_sensei/hosting/github/operation_comments.py
|
|
277
|
+
src/review_sensei/hosting/github/operation_entry.py
|
|
278
|
+
src/review_sensei/hosting/github/operation_host.py
|
|
279
|
+
src/review_sensei/hosting/github/prose_publication.py
|
|
247
280
|
src/review_sensei/hosting/github/publication.py
|
|
281
|
+
src/review_sensei/hosting/github/publication_parts.py
|
|
248
282
|
src/review_sensei/hosting/github/reservation_recovery.py
|
|
249
283
|
src/review_sensei/hosting/github/session_ledger.py
|
|
250
284
|
src/review_sensei/hosting/github/setup.py
|
|
@@ -266,6 +300,7 @@ src/review_sensei/providers/profiles.py
|
|
|
266
300
|
src/review_sensei/providers/registry.py
|
|
267
301
|
src/review_sensei/providers/routing.py
|
|
268
302
|
src/review_sensei/providers/transport.py
|
|
303
|
+
src/review_sensei/schemas/assessment-queue-root.schema.json
|
|
269
304
|
src/review_sensei/schemas/baseline-evidence.schema.json
|
|
270
305
|
src/review_sensei/schemas/blocker-admission.schema.json
|
|
271
306
|
src/review_sensei/schemas/broker-diagnostics.json
|
|
@@ -279,8 +314,12 @@ src/review_sensei/schemas/concurrency-plan.schema.json
|
|
|
279
314
|
src/review_sensei/schemas/convergence-sequence-report.schema.json
|
|
280
315
|
src/review_sensei/schemas/conversation-reply.schema.json
|
|
281
316
|
src/review_sensei/schemas/coverage-manifest.schema.json
|
|
317
|
+
src/review_sensei/schemas/eligibility-v4.schema.json
|
|
282
318
|
src/review_sensei/schemas/evaluation-corpus.schema.json
|
|
283
319
|
src/review_sensei/schemas/evaluation-report.schema.json
|
|
320
|
+
src/review_sensei/schemas/evidence-manifest.schema.json
|
|
321
|
+
src/review_sensei/schemas/human-file-receipt.schema.json
|
|
322
|
+
src/review_sensei/schemas/human-file-review.schema.json
|
|
284
323
|
src/review_sensei/schemas/later-finding-classification.schema.json
|
|
285
324
|
src/review_sensei/schemas/learning-entry.schema.json
|
|
286
325
|
src/review_sensei/schemas/learning-feedback.schema.json
|
|
@@ -299,13 +338,17 @@ src/review_sensei/schemas/review-transaction.schema.json
|
|
|
299
338
|
src/review_sensei/schemas/run-outcome.schema.json
|
|
300
339
|
src/review_sensei/schemas/session-record.schema.json
|
|
301
340
|
src/review_sensei/schemas/stage.schema.json
|
|
341
|
+
src/review_sensei/schemas/unchanged-source-citation.schema.json
|
|
302
342
|
src/review_sensei/schemas/verification-result.schema.json
|
|
303
343
|
src/review_sensei/schemas/verification-scope.schema.json
|
|
304
344
|
src/review_sensei/schemas/work-recovery-artifact.schema.json
|
|
305
345
|
tests/fake_github_http.py
|
|
306
346
|
tests/packaging_guard.py
|
|
307
347
|
tests/dist_safe/test_distribution_contract.py
|
|
348
|
+
tests/dist_safe/test_feedback_contract.py
|
|
349
|
+
tests/dist_safe/test_human_file_review_contract.py
|
|
308
350
|
tests/dist_safe/test_install_smoke.py
|
|
309
351
|
tests/dist_safe/test_local_review_contract.py
|
|
352
|
+
tests/dist_safe/test_partition_contract.py
|
|
310
353
|
tests/downstream/test_acceptance.py
|
|
311
354
|
tests/fixtures/distribution-contract.json
|
package/bin/review-sensei
CHANGED
|
Binary file
|
package/package.json
CHANGED