@reviewsensei/cli-win32-x64 0.6.8 → 0.6.9
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/bin/_internal/base_library.zip +0 -0
- package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +1 -1
- package/bin/_internal/review_sensei/schemas/convergence-sequence-report.schema.json +6 -8
- package/bin/_internal/review_sensei/schemas/observed-convergence-report.schema.json +7 -7
- package/bin/_internal/review_sensei/schemas/review-convergence-policy.schema.json +0 -12
- package/bin/_internal/review_sensei/schemas/review-round-decision.schema.json +2 -17
- package/bin/_internal/review_sensei/schemas/session-record.schema.json +4 -2
- package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/METADATA +118 -33
- package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/RECORD +38 -34
- package/bin/review-sensei.exe +0 -0
- package/package.json +1 -1
- /package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/INSTALLER +0 -0
- /package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/REQUESTED +0 -0
- /package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/WHEEL +0 -0
- /package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/direct_url.json +0 -0
- /package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/entry_points.txt +0 -0
- /package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/licenses/LICENSE +0 -0
- /package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
../../Scripts/jsonschema.exe,sha256=
|
|
1
|
+
../../Scripts/jsonschema.exe,sha256=iaTnC9ckEfdnjxm5_nql-1WN_IP6z-9eXevx8F06qZ8,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,,
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
"completed_verification_rounds",
|
|
13
13
|
"handoffs",
|
|
14
14
|
"no_progress_events",
|
|
15
|
-
"cap_created_approval",
|
|
16
15
|
"limitations"
|
|
17
16
|
],
|
|
18
17
|
"properties": {
|
|
@@ -22,8 +21,9 @@
|
|
|
22
21
|
"enum": ["legacy", "advisory", "merge-focused", "strict"]
|
|
23
22
|
},
|
|
24
23
|
"steps": {
|
|
24
|
+
"description": "Replayed attempts. The bound is a storage ceiling, not a review-count admission limit; sequences past the former 32-round validation bound serialize normally.",
|
|
25
25
|
"type": "array",
|
|
26
|
-
"maxItems":
|
|
26
|
+
"maxItems": 1000000,
|
|
27
27
|
"items": {
|
|
28
28
|
"type": "object",
|
|
29
29
|
"additionalProperties": false,
|
|
@@ -43,7 +43,6 @@
|
|
|
43
43
|
"handoff_reason": {
|
|
44
44
|
"type": ["string", "null"],
|
|
45
45
|
"enum": [
|
|
46
|
-
"round-budget-exhausted",
|
|
47
46
|
"failed-attempt-budget-exhausted",
|
|
48
47
|
"no-progress",
|
|
49
48
|
"incomplete-coverage",
|
|
@@ -58,11 +57,10 @@
|
|
|
58
57
|
}
|
|
59
58
|
}
|
|
60
59
|
},
|
|
61
|
-
"completed_initial_reviews": {"type": "integer", "minimum": 0, "maximum":
|
|
62
|
-
"completed_verification_rounds": {"type": "integer", "minimum": 0, "maximum":
|
|
63
|
-
"handoffs": {"type": "integer", "minimum": 0, "maximum":
|
|
64
|
-
"no_progress_events": {"type": "integer", "minimum": 0, "maximum":
|
|
65
|
-
"cap_created_approval": {"type": "boolean"},
|
|
60
|
+
"completed_initial_reviews": {"type": "integer", "minimum": 0, "maximum": 1000000},
|
|
61
|
+
"completed_verification_rounds": {"type": "integer", "minimum": 0, "maximum": 1000000},
|
|
62
|
+
"handoffs": {"type": "integer", "minimum": 0, "maximum": 1000000},
|
|
63
|
+
"no_progress_events": {"type": "integer", "minimum": 0, "maximum": 1000000},
|
|
66
64
|
"limitations": {
|
|
67
65
|
"type": "array",
|
|
68
66
|
"maxItems": 8,
|
|
@@ -4,14 +4,15 @@
|
|
|
4
4
|
"title": "ReviewSensei observed convergence evidence report v1",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"additionalProperties": false,
|
|
7
|
-
"required": ["schema_version", "mode", "events", "baseline_events", "command_events", "finding_metrics", "execution_metrics", "shadow_isolated", "evidence_identity", "approval_events", "
|
|
7
|
+
"required": ["schema_version", "mode", "events", "baseline_events", "command_events", "finding_metrics", "execution_metrics", "shadow_isolated", "evidence_identity", "approval_events", "cutover_status", "unmet_criteria", "limitations"],
|
|
8
8
|
"properties": {
|
|
9
9
|
"schema_version": {"const": "1.0"},
|
|
10
10
|
"mode": {"type": "string", "enum": ["advisory", "merge-focused", "strict"]},
|
|
11
11
|
"events": {
|
|
12
|
+
"description": "Observed attempts. The bound is a storage ceiling, not a review-count admission limit; sequences past the former 32-round validation bound serialize normally.",
|
|
12
13
|
"type": "array",
|
|
13
14
|
"minItems": 1,
|
|
14
|
-
"maxItems":
|
|
15
|
+
"maxItems": 1000000,
|
|
15
16
|
"items": {
|
|
16
17
|
"type": "object",
|
|
17
18
|
"additionalProperties": false,
|
|
@@ -40,7 +41,7 @@
|
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
},
|
|
43
|
-
"baseline_events": {"type": "integer", "minimum": 0, "maximum":
|
|
44
|
+
"baseline_events": {"type": "integer", "minimum": 0, "maximum": 1000000},
|
|
44
45
|
"command_events": {"type": "array", "minItems": 2, "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 128}},
|
|
45
46
|
"finding_metrics": {
|
|
46
47
|
"type": "object",
|
|
@@ -64,8 +65,8 @@
|
|
|
64
65
|
"additionalProperties": false,
|
|
65
66
|
"required": ["completed_rounds", "handoffs", "provider_calls", "failed_attempts"],
|
|
66
67
|
"properties": {
|
|
67
|
-
"completed_rounds": {"type": "integer", "minimum": 0, "maximum":
|
|
68
|
-
"handoffs": {"type": "integer", "minimum": 0, "maximum":
|
|
68
|
+
"completed_rounds": {"type": "integer", "minimum": 0, "maximum": 1000000},
|
|
69
|
+
"handoffs": {"type": "integer", "minimum": 0, "maximum": 1000000},
|
|
69
70
|
"provider_calls": {"type": "integer", "minimum": 0, "maximum": 512},
|
|
70
71
|
"failed_attempts": {"type": "integer", "minimum": 0, "maximum": 32}
|
|
71
72
|
}
|
|
@@ -84,8 +85,7 @@
|
|
|
84
85
|
"command": {"type": "string", "minLength": 1, "maxLength": 256}
|
|
85
86
|
}
|
|
86
87
|
},
|
|
87
|
-
"approval_events": {"type": ["integer", "null"], "minimum": 0, "maximum":
|
|
88
|
-
"cap_created_approval": {"type": ["boolean", "null"]},
|
|
88
|
+
"approval_events": {"type": ["integer", "null"], "minimum": 0, "maximum": 1000000},
|
|
89
89
|
"cutover_status": {"type": "string", "enum": ["passed", "not_ready"]},
|
|
90
90
|
"unmet_criteria": {"type": "array", "maxItems": 16, "items": {"type": "string", "minLength": 1, "maxLength": 256}},
|
|
91
91
|
"limitations": {"type": "array", "minItems": 1, "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 256}}
|
|
@@ -8,8 +8,6 @@
|
|
|
8
8
|
"schema_version",
|
|
9
9
|
"mode",
|
|
10
10
|
"enforcement",
|
|
11
|
-
"max_completed_initial_reviews",
|
|
12
|
-
"max_completed_verification_rounds",
|
|
13
11
|
"max_failed_attempts",
|
|
14
12
|
"automatic_github_review_events",
|
|
15
13
|
"inline_advisory_threads"
|
|
@@ -24,16 +22,6 @@
|
|
|
24
22
|
"type": "string",
|
|
25
23
|
"enum": ["display-only", "publication"]
|
|
26
24
|
},
|
|
27
|
-
"max_completed_initial_reviews": {
|
|
28
|
-
"type": "integer",
|
|
29
|
-
"minimum": 1,
|
|
30
|
-
"maximum": 8
|
|
31
|
-
},
|
|
32
|
-
"max_completed_verification_rounds": {
|
|
33
|
-
"type": "integer",
|
|
34
|
-
"minimum": 0,
|
|
35
|
-
"maximum": 8
|
|
36
|
-
},
|
|
37
25
|
"max_failed_attempts": {
|
|
38
26
|
"type": "integer",
|
|
39
27
|
"minimum": 1,
|
|
@@ -10,12 +10,9 @@
|
|
|
10
10
|
"admit",
|
|
11
11
|
"count_as_completed_round",
|
|
12
12
|
"round_kind",
|
|
13
|
-
"remaining_initial_reviews",
|
|
14
|
-
"remaining_verification_rounds",
|
|
15
13
|
"handoff",
|
|
16
14
|
"handoff_reason",
|
|
17
|
-
"may_emit_approve"
|
|
18
|
-
"cap_creates_approval"
|
|
15
|
+
"may_emit_approve"
|
|
19
16
|
],
|
|
20
17
|
"properties": {
|
|
21
18
|
"schema_version": {"const": "1.0"},
|
|
@@ -29,21 +26,10 @@
|
|
|
29
26
|
"type": "string",
|
|
30
27
|
"enum": ["initial", "verification", "none"]
|
|
31
28
|
},
|
|
32
|
-
"remaining_initial_reviews": {
|
|
33
|
-
"type": "integer",
|
|
34
|
-
"minimum": 0,
|
|
35
|
-
"maximum": 8
|
|
36
|
-
},
|
|
37
|
-
"remaining_verification_rounds": {
|
|
38
|
-
"type": "integer",
|
|
39
|
-
"minimum": 0,
|
|
40
|
-
"maximum": 8
|
|
41
|
-
},
|
|
42
29
|
"handoff": {"type": "boolean"},
|
|
43
30
|
"handoff_reason": {
|
|
44
31
|
"type": ["string", "null"],
|
|
45
32
|
"enum": [
|
|
46
|
-
"round-budget-exhausted",
|
|
47
33
|
"failed-attempt-budget-exhausted",
|
|
48
34
|
"no-progress",
|
|
49
35
|
"incomplete-coverage",
|
|
@@ -52,7 +38,6 @@
|
|
|
52
38
|
null
|
|
53
39
|
]
|
|
54
40
|
},
|
|
55
|
-
"may_emit_approve": {"type": "boolean"}
|
|
56
|
-
"cap_creates_approval": {"type": "boolean", "const": false}
|
|
41
|
+
"may_emit_approve": {"type": "boolean"}
|
|
57
42
|
}
|
|
58
43
|
}
|
|
@@ -30,9 +30,10 @@
|
|
|
30
30
|
"minimum": 1,
|
|
31
31
|
"maximum": 2147483647
|
|
32
32
|
},
|
|
33
|
-
"completed_initial_reviews": {"type": "integer", "minimum": 0, "maximum":
|
|
34
|
-
"completed_verification_rounds": {"type": "integer", "minimum": 0, "maximum":
|
|
33
|
+
"completed_initial_reviews": {"type": "integer", "minimum": 0, "maximum": 1000000},
|
|
34
|
+
"completed_verification_rounds": {"type": "integer", "minimum": 0, "maximum": 1000000},
|
|
35
35
|
"failed_attempts": {"type": "integer", "minimum": 0, "maximum": 32},
|
|
36
|
+
"failed_attempts_head_sha": {"type": ["string", "null"], "pattern": "^[a-f0-9]{40,64}$"},
|
|
36
37
|
"generation": {"type": "integer", "minimum": 0, "maximum": 2147483647},
|
|
37
38
|
"reservation_id": {
|
|
38
39
|
"anyOf": [
|
|
@@ -85,6 +86,7 @@
|
|
|
85
86
|
}
|
|
86
87
|
},
|
|
87
88
|
"continuation_grants": {
|
|
89
|
+
"description": "Retained pre-uncapped command attestations. Stored as history only; no command consumes them.",
|
|
88
90
|
"type": "array",
|
|
89
91
|
"maxItems": 4,
|
|
90
92
|
"items": {
|
package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: review-sensei
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.9
|
|
4
4
|
Summary: Provider-neutral AI code review engine with an Ollama adapter.
|
|
5
5
|
Author: Mohamad Alsabbagh
|
|
6
6
|
License-Expression: MIT
|
|
@@ -84,32 +84,60 @@ python -m pip install .
|
|
|
84
84
|
review-sensei --version
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
The default is a local Ollama server using
|
|
88
|
-
and
|
|
87
|
+
The default backend is a local Ollama server using the packaged local model,
|
|
88
|
+
so a local review runs with no credential and no repository setup at all. A
|
|
89
|
+
repository selects its backend in `.reviewsensei.yml` at the repository root,
|
|
90
|
+
and a repository without that file uses the packaged defaults:
|
|
91
|
+
|
|
92
|
+
```yaml
|
|
93
|
+
schema: 1
|
|
94
|
+
|
|
95
|
+
inference:
|
|
96
|
+
backend: local-ollama
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Select a backend on the command line when one run needs a different one:
|
|
89
100
|
|
|
90
101
|
```bash
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
unset OLLAMA_API_KEY
|
|
102
|
+
review-sensei --diff pr.patch --provider local-ollama
|
|
103
|
+
review-sensei --diff pr.patch --provider local-ollama --model qwen3.5:8b
|
|
94
104
|
```
|
|
95
105
|
|
|
96
|
-
|
|
106
|
+
The hosted backends are explicit, and each one requires its own credential:
|
|
97
107
|
|
|
98
108
|
```bash
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
109
|
+
OLLAMA_API_KEY="your-key" review-sensei --diff pr.patch --provider cloud-ollama
|
|
110
|
+
OPENROUTER_API_KEY="your-key" review-sensei --diff pr.patch --provider openrouter
|
|
111
|
+
OPENAI_API_KEY="your-key" review-sensei --diff pr.patch --provider openai-compatible
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Ollama Cloud is explicit opt-in and requires `OLLAMA_API_KEY`:
|
|
115
|
+
|
|
116
|
+
```yaml
|
|
117
|
+
schema: 1
|
|
118
|
+
|
|
119
|
+
inference:
|
|
120
|
+
backend: cloud-ollama
|
|
103
121
|
```
|
|
104
122
|
|
|
123
|
+
A backend that needs no credential never receives one implicitly: a key
|
|
124
|
+
exported for another backend does not travel to `local-ollama`.
|
|
125
|
+
|
|
126
|
+
The packaged model for the selected backend applies unless `inference.model`
|
|
127
|
+
names another one. `REVIEWSENSEI_PROVIDER` and `REVIEWSENSEI_MODEL` remain the
|
|
128
|
+
only supported environment overrides; the retired
|
|
129
|
+
`REVIEWSENSEI_PROVIDER_MODE`, `REVIEWSENSEI_LOCAL_MODEL`, and
|
|
130
|
+
`REVIEWSENSEI_CLOUD_MODEL` variables have no effect and are reported with their
|
|
131
|
+
replacements by `review-sensei config`.
|
|
132
|
+
|
|
105
133
|
### Run through npx
|
|
106
134
|
|
|
107
135
|
Node.js 22 or newer can invoke the same Python review engine through the
|
|
108
136
|
provider-neutral `@reviewsensei/cli` launcher:
|
|
109
137
|
|
|
110
138
|
```bash
|
|
111
|
-
npx --yes @reviewsensei/cli@0.6.
|
|
112
|
-
npx --yes @reviewsensei/cli@0.6.
|
|
139
|
+
npx --yes @reviewsensei/cli@0.6.9 --version
|
|
140
|
+
npx --yes @reviewsensei/cli@0.6.9 --help
|
|
113
141
|
```
|
|
114
142
|
|
|
115
143
|
The launcher selects one of the five native packages (macOS arm64/x64,
|
|
@@ -125,7 +153,14 @@ release tag. See [`docs/installation.md`](docs/installation.md),
|
|
|
125
153
|
for prerequisites, release ordering, provenance, and version-forward rollback
|
|
126
154
|
guidance.
|
|
127
155
|
|
|
128
|
-
Generate a bounded diff and run
|
|
156
|
+
Generate a bounded diff and review it. The shortest local run needs nothing
|
|
157
|
+
but the diff and a reachable local model server:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
review-sensei --diff pr.patch
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Repository context, learnings, and an explicit change identity are optional:
|
|
129
164
|
|
|
130
165
|
```bash
|
|
131
166
|
review-sensei prepare-diff \
|
|
@@ -142,13 +177,40 @@ review-sensei \
|
|
|
142
177
|
--title "Reviewable change" \
|
|
143
178
|
--learning-root /path/to/target-branch-checkout \
|
|
144
179
|
--context-root /path/to/target-branch-checkout \
|
|
180
|
+
--format json \
|
|
145
181
|
--output review.json
|
|
146
182
|
```
|
|
147
183
|
|
|
148
|
-
The output is
|
|
149
|
-
|
|
184
|
+
The default output is readable terminal text. `--format markdown` and
|
|
185
|
+
`--format json` are explicit, and only the selected format is written to
|
|
186
|
+
stdout or `--output` while warnings, diagnostics, and the final status and
|
|
187
|
+
reason lines stay on stderr. The JSON format
|
|
188
|
+
is the validated `review-result` document containing `summary`, `comments`,
|
|
189
|
+
`provider`, `model`, and `learning_proposals`; learning proposals are not
|
|
150
190
|
stored or used automatically.
|
|
151
191
|
|
|
192
|
+
The review exit contract is stable:
|
|
193
|
+
|
|
194
|
+
| Code | Meaning |
|
|
195
|
+
| --- | --- |
|
|
196
|
+
| `0` | The review completed and no required fixes remain |
|
|
197
|
+
| `1` | The review completed with required fixes remaining |
|
|
198
|
+
| `2` | The review could not complete, the input was invalid, or a human decision is required |
|
|
199
|
+
|
|
200
|
+
A non-zero exit prints a `review-sensei: reason=<token>` line naming the cause,
|
|
201
|
+
and the exit codes are unchanged by the selected output format. Hosts and
|
|
202
|
+
launchers that select a lane from the historical 0/1 contract pass
|
|
203
|
+
`--exit-semantics operational`.
|
|
204
|
+
|
|
205
|
+
A local review is a bounded one-shot and needs no GitHub identity, OIDC token,
|
|
206
|
+
broker, or hosted state. `--local-session` is the one explicit
|
|
207
|
+
persistent-local-session operation: it keeps the durable session ledger in the
|
|
208
|
+
platform's per-user state directory (`~/Library/Application Support/review-sensei`
|
|
209
|
+
on macOS, `%LOCALAPPDATA%\review-sensei` on Windows, and
|
|
210
|
+
`$XDG_STATE_HOME/review-sensei` or `~/.local/state/review-sensei` elsewhere) so
|
|
211
|
+
repeated runs of the same change reuse one session, and `--session-ledger`
|
|
212
|
+
still overrides that location.
|
|
213
|
+
|
|
152
214
|
The published schema files live under `src/review_sensei/schemas/` and are
|
|
153
215
|
included in the installed package. Public compatibility rules, CLI flags, error
|
|
154
216
|
categories, and provider protocol expectations are documented in
|
|
@@ -205,7 +267,7 @@ environment.
|
|
|
205
267
|
|
|
206
268
|
During installation or migration, the Worker separately uses GitHub App
|
|
207
269
|
authentication to obtain a repository-scoped installation token for the setup
|
|
208
|
-
branch
|
|
270
|
+
branch and pull request.
|
|
209
271
|
|
|
210
272
|
Installation, reinstall, permission-acceptance, and repository-added events
|
|
211
273
|
reconcile absent or older generated clients through at most one setup-v5 PR.
|
|
@@ -519,16 +581,33 @@ See [ADR 0036](docs/adr/0036-learning-lifecycle-diagnostics-and-feedback.md).
|
|
|
519
581
|
|
|
520
582
|
## Local Ollama
|
|
521
583
|
|
|
584
|
+
A local review defaults to the `local-ollama` backend and needs no credential.
|
|
585
|
+
State it explicitly in `.reviewsensei.yml` when the repository should not rely
|
|
586
|
+
on the packaged default:
|
|
587
|
+
|
|
588
|
+
```yaml
|
|
589
|
+
schema: 1
|
|
590
|
+
|
|
591
|
+
inference:
|
|
592
|
+
backend: local-ollama
|
|
593
|
+
```
|
|
594
|
+
|
|
522
595
|
```bash
|
|
523
|
-
export REVIEWSENSEI_PROVIDER_MODE="local"
|
|
524
|
-
export REVIEWSENSEI_LOCAL_MODEL="qwen3.5:4b"
|
|
525
|
-
unset OLLAMA_API_KEY
|
|
526
596
|
review-sensei --diff pr.patch
|
|
527
597
|
```
|
|
528
598
|
|
|
599
|
+
Select the backend and model explicitly when you need to
|
|
600
|
+
(`--provider local-ollama --model qwen3.5:8b`, or `REVIEWSENSEI_PROVIDER` and
|
|
601
|
+
`REVIEWSENSEI_MODEL`). A backend that requires no credential never receives one
|
|
602
|
+
implicitly, so an exported `OLLAMA_API_KEY` is not attached to loopback
|
|
603
|
+
requests unless `--api-key-env` names it.
|
|
604
|
+
|
|
529
605
|
## Providers
|
|
530
606
|
|
|
531
|
-
The shipped registry
|
|
607
|
+
The shipped registry adapters are `ollama`, `openai-compatible`,
|
|
608
|
+
`openrouter`, and the `fixture` test seam. Canonical backends — `local-ollama`,
|
|
609
|
+
`cloud-ollama`, `openai-compatible`, `openrouter`, and `fixture` — are what
|
|
610
|
+
`--provider`, `REVIEWSENSEI_PROVIDER`, and inference configuration name.
|
|
532
611
|
Operator defaults, workflow modes, named profiles, credentials, and hosted
|
|
533
612
|
OpenRouter allowlists are documented in [`docs/installation.md`](docs/installation.md).
|
|
534
613
|
The release-aware public matrix lives at
|
|
@@ -566,13 +645,18 @@ The GitHub App opens a setup-v5 PR containing a thin caller that follows the
|
|
|
566
645
|
operator-managed `v5` public git tag. The reusable workflow prefers the
|
|
567
646
|
requested exact package from PyPI and falls back to its executing workflow
|
|
568
647
|
commit only when that package/version is unavailable. Unrelated PyPI
|
|
569
|
-
installation failures remain fatal. Setup
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
648
|
+
installation failures remain fatal. Setup creates no repository variables and
|
|
649
|
+
manages 3 generated files: the caller, the uninstall workflow, and the minimal
|
|
650
|
+
root `.reviewsensei.yml` that the operator owns from the first install on. The
|
|
651
|
+
only two optional Actions overrides the product consumes are
|
|
652
|
+
`REVIEWSENSEI_PROVIDER` (`inference.backend`) and `REVIEWSENSEI_MODEL`
|
|
653
|
+
(`inference.model`); the reusable workflow maps them once from the trusted
|
|
654
|
+
policy commit. Every other policy decision is a field of `.reviewsensei.yml`:
|
|
655
|
+
`github.automatic_reviews` defaults to `true`, `github.writes` to `false`,
|
|
656
|
+
`github.reviews` to `auto-approve`, `github.mentions` to `true`,
|
|
657
|
+
`github.learning` to `disabled`, and `github.artifacts` to `none`. The App
|
|
658
|
+
requests no Variables permission and never creates the customer-owned
|
|
659
|
+
`OLLAMA_API_KEY` secret.
|
|
576
660
|
|
|
577
661
|
When explicitly enabled, same-repository pull requests can run automatic review
|
|
578
662
|
with either provider mode: cloud on a GitHub-hosted runner or local Ollama on
|
|
@@ -586,8 +670,9 @@ item only when the transport reports an oversized response. The 512 KiB
|
|
|
586
670
|
transport ceiling remains unchanged. Fork pull requests fail closed before
|
|
587
671
|
provider or broker access.
|
|
588
672
|
|
|
589
|
-
When automatic review and GitHub writes are enabled, automatic approval
|
|
590
|
-
default;
|
|
673
|
+
When automatic review and GitHub writes are enabled, automatic approval applies
|
|
674
|
+
by default; `github.reviews: blocking` or `github.reviews: advisory` in
|
|
675
|
+
`.reviewsensei.yml` selects a non-approving policy instead.
|
|
591
676
|
ReviewSensei publishes blocking findings as `REQUEST_CHANGES` and non-blocking
|
|
592
677
|
findings as `COMMENT`, then invokes one shared, idempotent approval finalizer.
|
|
593
678
|
It emits `APPROVE` for an eligible exact head when no unresolved ReviewSensei
|
|
@@ -618,9 +703,9 @@ mode sends that bounded conversation context to Ollama Cloud; local mode keeps
|
|
|
618
703
|
it on the configured local service. Published review summaries and inline
|
|
619
704
|
findings also tell readers to reply with @sensei followed by their question.
|
|
620
705
|
`review.json` is uploaded only when
|
|
621
|
-
`
|
|
622
|
-
version artifact. See
|
|
623
|
-
the reviewable
|
|
706
|
+
`github.artifacts: diagnostics` is set in `.reviewsensei.yml`; setup-v5 does not
|
|
707
|
+
create a separate version artifact. See
|
|
708
|
+
[installation and migration](docs/installation.md) and the reviewable
|
|
624
709
|
[`setup-v5 example`](examples/github-actions/review-sensei-review.yml).
|
|
625
710
|
|
|
626
711
|
## Concurrency policy
|
package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/RECORD
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
../../Scripts/review-sensei.exe,sha256=
|
|
2
|
-
review_sensei-0.6.
|
|
3
|
-
review_sensei-0.6.
|
|
4
|
-
review_sensei-0.6.
|
|
5
|
-
review_sensei-0.6.
|
|
6
|
-
review_sensei-0.6.
|
|
7
|
-
review_sensei-0.6.
|
|
8
|
-
review_sensei-0.6.
|
|
9
|
-
review_sensei-0.6.
|
|
10
|
-
review_sensei-0.6.
|
|
1
|
+
../../Scripts/review-sensei.exe,sha256=Sl7t-igXshMzlNJN5sMBdbk_xIu7vYTTRpSW8-lFurA,108355
|
|
2
|
+
review_sensei-0.6.9.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
3
|
+
review_sensei-0.6.9.dist-info/METADATA,sha256=pVMtOYt1h-ZAO0kvIZeAhGUvXpDqwJPa7OXFW_NbQ2Y,37970
|
|
4
|
+
review_sensei-0.6.9.dist-info/RECORD,,
|
|
5
|
+
review_sensei-0.6.9.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
+
review_sensei-0.6.9.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
7
|
+
review_sensei-0.6.9.dist-info/direct_url.json,sha256=EDhpXdSFq1qZfl2FCT07Hg2gleInjGFaAwkFy0selqU,67
|
|
8
|
+
review_sensei-0.6.9.dist-info/entry_points.txt,sha256=Eki1ToC6hiOv8PMEAd2Cnbh5WWstVzzzf0XmHBHzpMQ,57
|
|
9
|
+
review_sensei-0.6.9.dist-info/licenses/LICENSE,sha256=-eVBqOV92YK1K76UIcK5MrgUh0EiQMe8xNhSysQE68s,1095
|
|
10
|
+
review_sensei-0.6.9.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,,
|
|
@@ -15,6 +15,7 @@ review_sensei/__pycache__/__main__.cpython-311.pyc,,
|
|
|
15
15
|
review_sensei/__pycache__/baseline.cpython-311.pyc,,
|
|
16
16
|
review_sensei/__pycache__/cli.cpython-311.pyc,,
|
|
17
17
|
review_sensei/__pycache__/concurrency.cpython-311.pyc,,
|
|
18
|
+
review_sensei/__pycache__/configuration.cpython-311.pyc,,
|
|
18
19
|
review_sensei/__pycache__/context.cpython-311.pyc,,
|
|
19
20
|
review_sensei/__pycache__/convergence.cpython-311.pyc,,
|
|
20
21
|
review_sensei/__pycache__/conversation.cpython-311.pyc,,
|
|
@@ -24,11 +25,13 @@ review_sensei/__pycache__/diff.cpython-311.pyc,,
|
|
|
24
25
|
review_sensei/__pycache__/disposition.cpython-311.pyc,,
|
|
25
26
|
review_sensei/__pycache__/errors.cpython-311.pyc,,
|
|
26
27
|
review_sensei/__pycache__/evaluation.cpython-311.pyc,,
|
|
28
|
+
review_sensei/__pycache__/hosted.cpython-311.pyc,,
|
|
27
29
|
review_sensei/__pycache__/learnings.cpython-311.pyc,,
|
|
28
30
|
review_sensei/__pycache__/models.cpython-311.pyc,,
|
|
29
31
|
review_sensei/__pycache__/openrouter_qualification.cpython-311.pyc,,
|
|
30
32
|
review_sensei/__pycache__/outcomes.cpython-311.pyc,,
|
|
31
33
|
review_sensei/__pycache__/patches.cpython-311.pyc,,
|
|
34
|
+
review_sensei/__pycache__/placement.cpython-311.pyc,,
|
|
32
35
|
review_sensei/__pycache__/planning.cpython-311.pyc,,
|
|
33
36
|
review_sensei/__pycache__/presentation.cpython-311.pyc,,
|
|
34
37
|
review_sensei/__pycache__/provider_config.cpython-311.pyc,,
|
|
@@ -41,11 +44,12 @@ review_sensei/__pycache__/stages.cpython-311.pyc,,
|
|
|
41
44
|
review_sensei/__pycache__/validation.cpython-311.pyc,,
|
|
42
45
|
review_sensei/__pycache__/verifier.cpython-311.pyc,,
|
|
43
46
|
review_sensei/__pycache__/workflow.cpython-311.pyc,,
|
|
44
|
-
review_sensei/baseline.py,sha256=
|
|
45
|
-
review_sensei/cli.py,sha256=
|
|
47
|
+
review_sensei/baseline.py,sha256=nJegFpLDW-YviQqUt8QXWSOgzuPIWg3ryz1DTr87d4U,54311
|
|
48
|
+
review_sensei/cli.py,sha256=uqM6N5pPyx6CeDMmWiBFZrPxhcADft5ZRk_zu5Azu10,151167
|
|
46
49
|
review_sensei/concurrency.py,sha256=7nqMDNaIl7YoKafkAF1ctXu6D5SFxXosm-1407OKimQ,20097
|
|
50
|
+
review_sensei/configuration.py,sha256=8PBeBDcY6Y0ZNW50yJ3Zrb85VvHtctOoLXk-DJyWKVk,78115
|
|
47
51
|
review_sensei/context.py,sha256=ejDs0EBaUVTbAkrs-wACGXbgQcEwClX0Tultn2Mo_R0,96255
|
|
48
|
-
review_sensei/convergence.py,sha256
|
|
52
|
+
review_sensei/convergence.py,sha256=ZxnHmmFLGramRrOE8IHsAvqdhK3Rd--rimfm7UJKy08,50962
|
|
49
53
|
review_sensei/conversation.py,sha256=KRWtF8JnmOrOQsvAX4q-d0UzzXjNp2XeePSbyIm4_pw,7467
|
|
50
54
|
review_sensei/coverage.py,sha256=8fVsO4x2swqaa9QI5fcqeqB_FB6m0JfKrlRCg7_KA6E,12951
|
|
51
55
|
review_sensei/default_categories/01-correctness.json,sha256=ZeTTvEavHU6_ih7JKhv8a6gH-4wRJGv0abckRWNWTfs,211
|
|
@@ -54,11 +58,12 @@ review_sensei/default_categories/03-architecture.json,sha256=Fg3VsUCzl9trCpSnoOg
|
|
|
54
58
|
review_sensei/default_categories/03-maintainability.json,sha256=eyF9_slQ50LwEqSSet63jthfNp9ZOTnwiDVtVYjVv1A,229
|
|
55
59
|
review_sensei/default_categories/04-tests.json,sha256=UHhvH79bae9FmLJT_MYNvki4Y9xhJDLpDuLdgp2npe0,208
|
|
56
60
|
review_sensei/default_stages/01-default-review.json,sha256=-y9LP_8XNqEPpRN2K8z_qMHRqXyP6ZsiydzZFHozZwY,3463
|
|
57
|
-
review_sensei/diagnostics.py,sha256=
|
|
61
|
+
review_sensei/diagnostics.py,sha256=fj7JYgr29jXMSO43XTnPWDFl9h4GP23GYRhWjI4iY7s,44638
|
|
58
62
|
review_sensei/diff.py,sha256=na5MWhYcnRimFwGElNBiSp27Su_oufHhWiGtm1W38oY,32057
|
|
59
|
-
review_sensei/disposition.py,sha256=
|
|
63
|
+
review_sensei/disposition.py,sha256=d0nsNUKtba3UijH7X2YF7Wj5FSLdjRjE2Ni6HH0d9GI,21496
|
|
60
64
|
review_sensei/errors.py,sha256=1-JKbLcEodjQMXleJwR-QDzRhMSFwDSe9Oc6Pg1UYmY,2901
|
|
61
65
|
review_sensei/evaluation.py,sha256=kKhbcF3XpHhDYLW8e_dxGjcS0sXJpz8nXYsPpUuXnBE,59450
|
|
66
|
+
review_sensei/hosted.py,sha256=sYy8tHLhR3xeBJveu1c1YHG8Uk2T8Br_4CdUIFemx24,10374
|
|
62
67
|
review_sensei/hosting/__init__.py,sha256=zqIukHwfUzai3x7dJS2nFNlVhP7EQWQ47-4pGCi2Sz0,84
|
|
63
68
|
review_sensei/hosting/__pycache__/__init__.cpython-311.pyc,,
|
|
64
69
|
review_sensei/hosting/__pycache__/openrouter_workflow.cpython-311.pyc,,
|
|
@@ -69,7 +74,6 @@ review_sensei/hosting/github/__pycache__/approval.cpython-311.pyc,,
|
|
|
69
74
|
review_sensei/hosting/github/__pycache__/auth.cpython-311.pyc,,
|
|
70
75
|
review_sensei/hosting/github/__pycache__/broker.cpython-311.pyc,,
|
|
71
76
|
review_sensei/hosting/github/__pycache__/broker_client.cpython-311.pyc,,
|
|
72
|
-
review_sensei/hosting/github/__pycache__/budget_admission.cpython-311.pyc,,
|
|
73
77
|
review_sensei/hosting/github/__pycache__/conversation.cpython-311.pyc,,
|
|
74
78
|
review_sensei/hosting/github/__pycache__/errors.cpython-311.pyc,,
|
|
75
79
|
review_sensei/hosting/github/__pycache__/http.cpython-311.pyc,,
|
|
@@ -82,12 +86,11 @@ review_sensei/hosting/github/__pycache__/session_ledger.cpython-311.pyc,,
|
|
|
82
86
|
review_sensei/hosting/github/__pycache__/setup.cpython-311.pyc,,
|
|
83
87
|
review_sensei/hosting/github/__pycache__/trigger.cpython-311.pyc,,
|
|
84
88
|
review_sensei/hosting/github/__pycache__/webhooks.cpython-311.pyc,,
|
|
85
|
-
review_sensei/hosting/github/application.py,sha256=
|
|
89
|
+
review_sensei/hosting/github/application.py,sha256=sDunbp-suXa8G2MRHzYgY9T7slkaB3EMRasYXZeT2o0,69852
|
|
86
90
|
review_sensei/hosting/github/approval.py,sha256=nx8h8oDvljrdrXkNahMXrvk3kMVkMy6owztXZPRwsqA,4189
|
|
87
91
|
review_sensei/hosting/github/auth.py,sha256=koITagUX9piVboGJ_smEhPsCf4rOQkOqqSKeLKvFRbc,19055
|
|
88
92
|
review_sensei/hosting/github/broker.py,sha256=FFC7DsFhzy1tENXTCmLNuYzX2cHaYsgMkDGwXEcJaTU,18014
|
|
89
93
|
review_sensei/hosting/github/broker_client.py,sha256=v8_PQe7yF0kXtZOEbXxWcw2xW-Z7COQt9Zi8CTsQkHM,16573
|
|
90
|
-
review_sensei/hosting/github/budget_admission.py,sha256=fRRN-CEo0Kze1Dhq3Qy40w5970ZrFdHfwJgV_7AeU-4,10322
|
|
91
94
|
review_sensei/hosting/github/conversation.py,sha256=j0WNXWEcLLjaAHhYkk0WTbLHUXyikDKjhppCaEgImLY,62918
|
|
92
95
|
review_sensei/hosting/github/errors.py,sha256=K5Lfsh4uzuAW6tER2l7pcEM4Lz6FwGEmMPxvF1vNc4E,5352
|
|
93
96
|
review_sensei/hosting/github/fixtures/__init__.py,sha256=2sBygkvppFJ6F8KV1_MDmbBNl7Yd0oPvYOFG6R_NOpA,82
|
|
@@ -99,21 +102,22 @@ review_sensei/hosting/github/fixtures/released-v4-resolve-trigger-runner-switch.
|
|
|
99
102
|
review_sensei/hosting/github/http.py,sha256=6Dz9S-U4M07KehE7FhjNyrBt_XKKz4Dnp6zULMFKHk0,8943
|
|
100
103
|
review_sensei/hosting/github/jwt.py,sha256=mTakXBxU-GR-hBnIZE-FryfFXwpS9hJ7qb3X7P0FBMo,4582
|
|
101
104
|
review_sensei/hosting/github/learning_pr.py,sha256=hT7FmmpWCnUO5WCQEmP9XioQiceNALxuJCtcZXAQxSU,112424
|
|
102
|
-
review_sensei/hosting/github/observed.py,sha256=
|
|
105
|
+
review_sensei/hosting/github/observed.py,sha256=evhqzPi5FZTbNrra0b-y6EET_Ul7lCndHENv5WOfpcA,34382
|
|
103
106
|
review_sensei/hosting/github/oidc.py,sha256=h3UVcBYQIKy-xQS7Ixv3_fy670mmuBoNKSYurPZWZ60,13310
|
|
104
|
-
review_sensei/hosting/github/publication.py,sha256=
|
|
105
|
-
review_sensei/hosting/github/session_ledger.py,sha256=
|
|
106
|
-
review_sensei/hosting/github/setup.py,sha256=
|
|
107
|
-
review_sensei/hosting/github/trigger.py,sha256=
|
|
107
|
+
review_sensei/hosting/github/publication.py,sha256=BAUTjGmMjt5g5LTta2mtDYuh_SeowZ7S1aM9NkuwUL0,95333
|
|
108
|
+
review_sensei/hosting/github/session_ledger.py,sha256=DZgLY-fP1SMjsQh55k7DsEEdEdPh-72uGEezCjePP9s,31131
|
|
109
|
+
review_sensei/hosting/github/setup.py,sha256=qsLFRFU7nC57E1mTWEz6frXgwUCe9aWPuvxLugjvi4o,112651
|
|
110
|
+
review_sensei/hosting/github/trigger.py,sha256=7jwSWoFU5VsJ1XUhhEEgne9-pA6zaHyYJ_BVlMcqlsI,10434
|
|
108
111
|
review_sensei/hosting/github/webhooks.py,sha256=7hh_YlF7riV6wov7A_27aOb5g6-Ivob1PBWR4m5bF3I,13662
|
|
109
112
|
review_sensei/hosting/openrouter_workflow.py,sha256=qepVpa12sL6mTaBqTGhcWEaYI8zawcgAYK6sOCRnKtE,1330
|
|
110
113
|
review_sensei/learnings.py,sha256=AF9Dqyreb9WQLWLZiciuyRXNviSso6sYVTe2xzx1ZfY,21434
|
|
111
|
-
review_sensei/models.py,sha256=
|
|
114
|
+
review_sensei/models.py,sha256=4UmJkRYMJyjGgRd98V11IlGEHmJjnzt0h9zBygLBklg,92368
|
|
112
115
|
review_sensei/openrouter_qualification.py,sha256=UKUL8oK8oexX1P_othR3y_QAAW0PG2EdAYnWXA-ACZI,30296
|
|
113
|
-
review_sensei/outcomes.py,sha256=
|
|
116
|
+
review_sensei/outcomes.py,sha256=zYQUKtRU_rUy4yUznlSdX0AZR-gAfZ9MbbvA4pRABus,34051
|
|
114
117
|
review_sensei/patches.py,sha256=P9plsU7-5Z-Jxy8EJBFQX5hX3bcmxBoRJxTnEqA_tbA,15981
|
|
115
|
-
review_sensei/
|
|
116
|
-
review_sensei/
|
|
118
|
+
review_sensei/placement.py,sha256=ABioTJwmS4bhyB1M6IdWqyGOx9j1Ge3CeYSKMk9GXSA,6607
|
|
119
|
+
review_sensei/planning.py,sha256=kdT5pWKw7MWYnRFa12d46TpR3ugG4u6dis-xgUmqxFs,23516
|
|
120
|
+
review_sensei/presentation.py,sha256=LkKBzHKNglQttJEfH1tuul_H3eDYZNaMBMu1ppCNs-U,29191
|
|
117
121
|
review_sensei/provider_config.py,sha256=y03TeL6wNsx_9KECr_AhHQkWyWOBOUMnPHzDDyL9AdQ,16382
|
|
118
122
|
review_sensei/providers/__init__.py,sha256=gmfB6gm0QN_FfN3lJJ0kN8QgTtJom4ayzaqUkLmwQwc,779
|
|
119
123
|
review_sensei/providers/__pycache__/__init__.cpython-311.pyc,,
|
|
@@ -143,7 +147,7 @@ review_sensei/schemas/candidate-finding.schema.json,sha256=P_FM6pbwdOZGZPAiI_E_Z
|
|
|
143
147
|
review_sensei/schemas/channel-promotion.schema.json,sha256=LNQgvm6IxntfXrpEnoVz4aL_7_ALo8syiVYEFrfxHYw,1085
|
|
144
148
|
review_sensei/schemas/compatibility-manifest.schema.json,sha256=RIsEo5Os6obelQ078cySd3BHJxGgAySCQg0f0KHRpzY,1858
|
|
145
149
|
review_sensei/schemas/concurrency-plan.schema.json,sha256=YtHPlfShzFPLE4sQMEn7TogW3souwiKC6d4yd-kgFRY,830
|
|
146
|
-
review_sensei/schemas/convergence-sequence-report.schema.json,sha256=
|
|
150
|
+
review_sensei/schemas/convergence-sequence-report.schema.json,sha256=e5T1QEepf8k3Zaoilfekt8-Wes9yol8FuHXe8VOAkEU,2412
|
|
147
151
|
review_sensei/schemas/conversation-reply.schema.json,sha256=bKHxO1CX_g_VrWDb1e0GKPGIUzMPORchHqrT805yPXA,682
|
|
148
152
|
review_sensei/schemas/coverage-manifest.schema.json,sha256=rrbvq1YYNt-c4YPLmdmrzWo_Au-rDu-e35eg3NdZzQQ,2765
|
|
149
153
|
review_sensei/schemas/evaluation-corpus.schema.json,sha256=0W3-zgmVFa5AjDSs385szKNt4DX_D_ZdrE9ur3Nrnz0,7905
|
|
@@ -152,25 +156,25 @@ review_sensei/schemas/later-finding-classification.schema.json,sha256=YxsogG9aN4
|
|
|
152
156
|
review_sensei/schemas/learning-entry.schema.json,sha256=QtbNYK_eIPmXos4TlYbCFL8EvYAqOx-dxUXDM5wBGQ4,1782
|
|
153
157
|
review_sensei/schemas/learning-feedback.schema.json,sha256=SbNqRSdA82pV5a8Zbzbnjm7U7sj4s9epqRPlJ7-lgAg,1925
|
|
154
158
|
review_sensei/schemas/learning-proposal.schema.json,sha256=FVYG4sFWGil_66-6NlliFCk2LpiCfJn-yTrY4dN-b0E,644
|
|
155
|
-
review_sensei/schemas/observed-convergence-report.schema.json,sha256=
|
|
159
|
+
review_sensei/schemas/observed-convergence-report.schema.json,sha256=v6RMEd0pPQ_o1uBv9ikRHElIRTanSFxOksXmNxy3zI4,5353
|
|
156
160
|
review_sensei/schemas/openrouter-qualification.schema.json,sha256=wIgsZxwvAsKuptmjfsD_8UitPcl-DLAzxjlCD-pZyx8,4203
|
|
157
161
|
review_sensei/schemas/promotion-record.schema.json,sha256=CHJ99AjwioPthygjTimPjXNuG2rriW4DFZw54fa1rfs,2402
|
|
158
162
|
review_sensei/schemas/recovery-artifact.schema.json,sha256=ZP-C_E_nQlFsuObxFn2O0iJLMbDMgNWAF7h4BpPyM3g,1254
|
|
159
163
|
review_sensei/schemas/review-category.schema.json,sha256=Rni93qGN2LyJSrHRF-GcgVdAjqXGnDU5yjIjG2wn7pI,2189
|
|
160
164
|
review_sensei/schemas/review-comment.schema.json,sha256=0A9J_vzYnMUpKsv9wZUGGnCd1ryP-8uksPEbSJWj8Xo,1140
|
|
161
|
-
review_sensei/schemas/review-convergence-policy.schema.json,sha256=
|
|
165
|
+
review_sensei/schemas/review-convergence-policy.schema.json,sha256=D5xxDIrJCx2ztq2tZAe0BjgVLAS1i4Gicg_KDR3c-bE,1034
|
|
162
166
|
review_sensei/schemas/review-result.schema.json,sha256=jzQMoZIMw2HVC4EhUPfcSuScCd48URPfq6DGX9KnHZM,4899
|
|
163
|
-
review_sensei/schemas/review-round-decision.schema.json,sha256=
|
|
167
|
+
review_sensei/schemas/review-round-decision.schema.json,sha256=d1GOE4RSgNRkvF35k_xV7nSAEuLzDFVO-fLn-tV0nFo,1166
|
|
164
168
|
review_sensei/schemas/review-stage.schema.json,sha256=H5CDiC-ngQXJpVomEvd8YPP1tgyPgwo_k3atK4Vjev0,4707
|
|
165
169
|
review_sensei/schemas/review-transaction.schema.json,sha256=KWtsfa0p0CmPx--cB91XpDizF2Z6N2Ehg5YMlRqJwN8,2215
|
|
166
170
|
review_sensei/schemas/run-outcome.schema.json,sha256=pyByHFmQ8yNFPsLD7wccR5lxsWBwzoxNyD77bjNqeU8,1744
|
|
167
|
-
review_sensei/schemas/session-record.schema.json,sha256=
|
|
171
|
+
review_sensei/schemas/session-record.schema.json,sha256=b3YKz4r4-qeNcuOgCP8ntM1IByduJguZUj2q4X_lAXA,12173
|
|
168
172
|
review_sensei/schemas/stage.schema.json,sha256=WsxbwZFGpRNCyZ6xzWsAQHf8f7YpJLAh9FKRXN_vlao,2900
|
|
169
173
|
review_sensei/schemas/verification-result.schema.json,sha256=Hf765S-aC1Tk4c7KMWaaSf5DMsg6ogmjnHXcjcHE01k,625
|
|
170
174
|
review_sensei/schemas/verification-scope.schema.json,sha256=402Q7OiLHnb41lwb5JkVoKUpCe19fMV9hVhTjsenLFo,2141
|
|
171
|
-
review_sensei/sequence.py,sha256=
|
|
175
|
+
review_sensei/sequence.py,sha256=Mc3ejY8Cmo7xASNAo2vfep9rILb3BgnzH8T9rw8xjRY,23746
|
|
172
176
|
review_sensei/service.py,sha256=wfU84eab9uXH-ph3JYxcUGWni6oKy1pRLnySqu-thVc,70808
|
|
173
|
-
review_sensei/session.py,sha256=
|
|
177
|
+
review_sensei/session.py,sha256=dESat0m79DuAns2zme73aQGX3nwBBn4SMcbk79cPQGQ,123889
|
|
174
178
|
review_sensei/stages.py,sha256=rMomi3dvKrEl3yiuy2VbX09_bLu8dWD2rblFH8aJ6yI,24256
|
|
175
179
|
review_sensei/validation.py,sha256=euLaI7cxwTCxcpNRh-F8zGz0BQu8GMG3cA3_1_wtdkU,12390
|
|
176
180
|
review_sensei/verifier.py,sha256=_6cbaoXj8R9hatM7fZav-BgfkSPRyJ4ASmQlZbxF5HA,34913
|
package/bin/review-sensei.exe
CHANGED
|
Binary file
|
package/package.json
CHANGED
/package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/INSTALLER
RENAMED
|
File without changes
|
/package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/REQUESTED
RENAMED
|
File without changes
|
/package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/bin/_internal/{review_sensei-0.6.8.dist-info → review_sensei-0.6.9.dist-info}/top_level.txt
RENAMED
|
File without changes
|