@reviewsensei/cli-linux-x64-gnu 0.6.0 → 0.6.7
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 +3 -3
- package/bin/_internal/base_library.zip +0 -0
- package/bin/_internal/jsonschema-4.26.0.dist-info/RECORD +1 -1
- package/bin/_internal/libbz2.so.1.0 +0 -0
- package/bin/_internal/libcrypto.so.3 +0 -0
- package/bin/_internal/libffi.so.8 +0 -0
- package/bin/_internal/libgcc_s.so.1 +0 -0
- package/bin/_internal/liblzma.so.5 +0 -0
- package/bin/_internal/libpython3.11.so.1.0 +0 -0
- package/bin/_internal/libssl.so.3 +0 -0
- package/bin/_internal/libuuid.so.1 +0 -0
- package/bin/_internal/libz.so.1 +0 -0
- package/bin/_internal/python3.11/lib-dynload/_asyncio.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_bisect.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_blake2.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_bz2.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_codecs_cn.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_codecs_hk.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_codecs_iso2022.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_codecs_jp.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_codecs_kr.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_codecs_tw.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_contextvars.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_csv.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_ctypes.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_datetime.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_decimal.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_hashlib.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_heapq.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_json.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_lzma.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_md5.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_multibytecodec.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_multiprocessing.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_opcode.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_pickle.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_posixshmem.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_posixsubprocess.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_queue.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_random.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_sha1.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_sha256.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_sha3.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_sha512.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_socket.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_ssl.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_statistics.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_struct.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_typing.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/_uuid.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/array.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/binascii.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/fcntl.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/grp.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/math.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/mmap.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/pyexpat.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/resource.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/select.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/termios.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/unicodedata.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/python3.11/lib-dynload/zlib.cpython-311-x86_64-linux-gnu.so +0 -0
- package/bin/_internal/review_sensei/schemas/observed-convergence-report.schema.json +93 -0
- package/bin/_internal/review_sensei/schemas/session-record.schema.json +1 -1
- package/bin/_internal/{review_sensei-0.6.0.dist-info/METADATA → review_sensei.egg-info/PKG-INFO} +17 -15
- package/bin/_internal/review_sensei.egg-info/SOURCES.txt +241 -0
- package/bin/_internal/review_sensei.egg-info/dependency_links.txt +1 -0
- package/bin/_internal/review_sensei.egg-info/requires.txt +3 -0
- package/bin/review-sensei +0 -0
- package/package.json +1 -1
- package/bin/_internal/review_sensei-0.6.0.dist-info/INSTALLER +0 -1
- package/bin/_internal/review_sensei-0.6.0.dist-info/RECORD +0 -169
- package/bin/_internal/review_sensei-0.6.0.dist-info/REQUESTED +0 -0
- package/bin/_internal/review_sensei-0.6.0.dist-info/WHEEL +0 -5
- package/bin/_internal/review_sensei-0.6.0.dist-info/direct_url.json +0 -1
- package/bin/_internal/review_sensei-0.6.0.dist-info/licenses/LICENSE +0 -21
- /package/bin/_internal/{review_sensei-0.6.0.dist-info → review_sensei.egg-info}/entry_points.txt +0 -0
- /package/bin/_internal/{review_sensei-0.6.0.dist-info → review_sensei.egg-info}/top_level.txt +0 -0
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# @reviewsensei/cli-linux-x64-gnu
|
|
2
2
|
|
|
3
|
-
Native ReviewSensei standalone payload for x64 Linux using glibc
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Native ReviewSensei standalone payload for x64 Linux using glibc 2.36 or newer.
|
|
4
|
+
Linux musl systems are not supported. This package contains no installer or
|
|
5
|
+
download hook.
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
../../../bin/jsonschema,sha256=
|
|
1
|
+
../../../bin/jsonschema,sha256=I7QAiKFKw-NjSGoejKFECxBDc7sjYSof2GMjFdc4syg,239
|
|
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,,
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/_internal/libz.so.1
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/_internal/python3.11/lib-dynload/_codecs_iso2022.cpython-311-x86_64-linux-gnu.so
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/_internal/python3.11/lib-dynload/_multibytecodec.cpython-311-x86_64-linux-gnu.so
CHANGED
|
Binary file
|
package/bin/_internal/python3.11/lib-dynload/_multiprocessing.cpython-311-x86_64-linux-gnu.so
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/bin/_internal/python3.11/lib-dynload/_posixsubprocess.cpython-311-x86_64-linux-gnu.so
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://reviewsensei.dev/schemas/v1/observed-convergence-report.schema.json",
|
|
4
|
+
"title": "ReviewSensei observed convergence evidence report v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schema_version", "mode", "events", "baseline_events", "command_events", "finding_metrics", "execution_metrics", "shadow_isolated", "evidence_identity", "approval_events", "cap_created_approval", "cutover_status", "unmet_criteria", "limitations"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema_version": {"const": "1.0"},
|
|
10
|
+
"mode": {"type": "string", "enum": ["advisory", "merge-focused", "strict"]},
|
|
11
|
+
"events": {
|
|
12
|
+
"type": "array",
|
|
13
|
+
"minItems": 1,
|
|
14
|
+
"maxItems": 32,
|
|
15
|
+
"items": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"additionalProperties": false,
|
|
18
|
+
"required": ["label", "provider_calls", "baseline_loaded", "publication_status", "handoff_reason", "approval_events"],
|
|
19
|
+
"allOf": [
|
|
20
|
+
{
|
|
21
|
+
"if": {
|
|
22
|
+
"properties": {"publication_status": {"const": "handoff"}},
|
|
23
|
+
"required": ["publication_status"]
|
|
24
|
+
},
|
|
25
|
+
"else": {"properties": {"handoff_reason": {"type": "null"}}}
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"properties": {
|
|
29
|
+
"label": {"type": "string", "minLength": 1, "maxLength": 128},
|
|
30
|
+
"provider_calls": {"type": "integer", "minimum": 0, "maximum": 32},
|
|
31
|
+
"baseline_loaded": {"type": "boolean"},
|
|
32
|
+
"publication_status": {"type": "string", "enum": ["published", "handoff", "disabled", "already_published"]},
|
|
33
|
+
"handoff_reason": {
|
|
34
|
+
"anyOf": [
|
|
35
|
+
{"type": "string", "minLength": 1, "maxLength": 128},
|
|
36
|
+
{"type": "null"}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"approval_events": {"type": "integer", "minimum": 0, "maximum": 32}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"baseline_events": {"type": "integer", "minimum": 0, "maximum": 32},
|
|
44
|
+
"command_events": {"type": "array", "minItems": 2, "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 128}},
|
|
45
|
+
"finding_metrics": {
|
|
46
|
+
"type": "object",
|
|
47
|
+
"additionalProperties": false,
|
|
48
|
+
"required": ["expected_material_findings", "observed_material_findings", "matched_material_findings", "missed_material_findings", "unjustified_late_blockers", "blocker_precision", "seeded_material_regressions_detected", "duplicate_findings", "reopened_findings", "contradictions"],
|
|
49
|
+
"properties": {
|
|
50
|
+
"expected_material_findings": {"type": "integer", "minimum": 0, "maximum": 512},
|
|
51
|
+
"observed_material_findings": {"type": "integer", "minimum": 0, "maximum": 512},
|
|
52
|
+
"matched_material_findings": {"type": "integer", "minimum": 0, "maximum": 512},
|
|
53
|
+
"missed_material_findings": {"type": "integer", "minimum": 0, "maximum": 512},
|
|
54
|
+
"unjustified_late_blockers": {"type": "integer", "minimum": 0, "maximum": 512},
|
|
55
|
+
"blocker_precision": {"type": ["number", "null"], "minimum": 0, "maximum": 1},
|
|
56
|
+
"seeded_material_regressions_detected": {"type": "integer", "minimum": 0, "maximum": 512},
|
|
57
|
+
"duplicate_findings": {"type": "integer", "minimum": 0, "maximum": 512},
|
|
58
|
+
"reopened_findings": {"type": "integer", "minimum": 0, "maximum": 512},
|
|
59
|
+
"contradictions": {"type": "integer", "minimum": 0, "maximum": 512}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"execution_metrics": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"additionalProperties": false,
|
|
65
|
+
"required": ["completed_rounds", "handoffs", "provider_calls", "failed_attempts"],
|
|
66
|
+
"properties": {
|
|
67
|
+
"completed_rounds": {"type": "integer", "minimum": 0, "maximum": 32},
|
|
68
|
+
"handoffs": {"type": "integer", "minimum": 0, "maximum": 32},
|
|
69
|
+
"provider_calls": {"type": "integer", "minimum": 0, "maximum": 512},
|
|
70
|
+
"failed_attempts": {"type": "integer", "minimum": 0, "maximum": 32}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"shadow_isolated": {"type": "boolean"},
|
|
74
|
+
"evidence_identity": {
|
|
75
|
+
"type": "object",
|
|
76
|
+
"additionalProperties": false,
|
|
77
|
+
"required": ["source_identity", "package_identity", "workflow_identity", "configuration_digest", "fixture_identity", "command"],
|
|
78
|
+
"properties": {
|
|
79
|
+
"source_identity": {"type": "string", "minLength": 1, "maxLength": 256},
|
|
80
|
+
"package_identity": {"type": "string", "minLength": 1, "maxLength": 256},
|
|
81
|
+
"workflow_identity": {"type": "string", "minLength": 1, "maxLength": 256},
|
|
82
|
+
"configuration_digest": {"type": "string", "minLength": 1, "maxLength": 256},
|
|
83
|
+
"fixture_identity": {"type": "string", "minLength": 1, "maxLength": 256},
|
|
84
|
+
"command": {"type": "string", "minLength": 1, "maxLength": 256}
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"approval_events": {"type": ["integer", "null"], "minimum": 0, "maximum": 32},
|
|
88
|
+
"cap_created_approval": {"type": ["boolean", "null"]},
|
|
89
|
+
"cutover_status": {"type": "string", "enum": ["passed", "not_ready"]},
|
|
90
|
+
"unmet_criteria": {"type": "array", "maxItems": 16, "items": {"type": "string", "minLength": 1, "maxLength": 256}},
|
|
91
|
+
"limitations": {"type": "array", "minItems": 1, "maxItems": 8, "items": {"type": "string", "minLength": 1, "maxLength": 256}}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
},
|
|
132
132
|
"convergence_history": {
|
|
133
133
|
"type": "object",
|
|
134
|
-
"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 (
|
|
134
|
+
"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.",
|
|
135
135
|
"additionalProperties": false,
|
|
136
136
|
"required": ["state", "progress", "provenance"],
|
|
137
137
|
"properties": {
|
package/bin/_internal/{review_sensei-0.6.0.dist-info/METADATA → review_sensei.egg-info/PKG-INFO}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: review-sensei
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.7
|
|
4
4
|
Summary: Provider-neutral AI code review engine with an Ollama adapter.
|
|
5
5
|
Author: Mohamad Alsabbagh
|
|
6
6
|
License-Expression: MIT
|
|
@@ -108,8 +108,8 @@ Node.js 22 or newer can invoke the same Python review engine through the
|
|
|
108
108
|
provider-neutral `@reviewsensei/cli` launcher:
|
|
109
109
|
|
|
110
110
|
```bash
|
|
111
|
-
npx --yes @reviewsensei/cli@0.6.
|
|
112
|
-
npx --yes @reviewsensei/cli@0.6.
|
|
111
|
+
npx --yes @reviewsensei/cli@0.6.7 --version
|
|
112
|
+
npx --yes @reviewsensei/cli@0.6.7 --help
|
|
113
113
|
```
|
|
114
114
|
|
|
115
115
|
The launcher selects one of the five native packages (macOS arm64/x64,
|
|
@@ -168,9 +168,9 @@ Optional App-identity publication is documented in
|
|
|
168
168
|
authentication adapter for GitHub App JWTs and installation access tokens; it
|
|
169
169
|
is not a hosted review service, webhook receiver, or durable delivery store.
|
|
170
170
|
|
|
171
|
-
### GitHub App setup-
|
|
171
|
+
### GitHub App setup-v5 integration
|
|
172
172
|
|
|
173
|
-
The optional setup-
|
|
173
|
+
The optional setup-v5 integration adds a reviewable, generated caller by using
|
|
174
174
|
the operator-managed `v5` git tag as the only update channel:
|
|
175
175
|
`malsabbagh/review-sensei/.github/workflows/review-sensei-run.yml@v5`.
|
|
176
176
|
The Worker validates the tag before writing the caller, and the Cloudflare
|
|
@@ -208,8 +208,8 @@ authentication to obtain a repository-scoped installation token for the setup
|
|
|
208
208
|
branch, pull request, and default variables.
|
|
209
209
|
|
|
210
210
|
Installation, reinstall, permission-acceptance, and repository-added events
|
|
211
|
-
reconcile absent or older generated clients through at most one setup-
|
|
212
|
-
Current tag-following setup-
|
|
211
|
+
reconcile absent or older generated clients through at most one setup-v5 PR.
|
|
212
|
+
Current tag-following setup-v5 is a no-op; managed v3/v4 and older generated clients are migrated
|
|
213
213
|
through a setup PR, while custom, malformed, and future setup files are no-write
|
|
214
214
|
cases. See [`docs/installation.md`](docs/installation.md),
|
|
215
215
|
[`docs/github-app-registration.md`](docs/github-app-registration.md), and the
|
|
@@ -562,15 +562,17 @@ network egress path for Ollama deployments.
|
|
|
562
562
|
|
|
563
563
|
## GitHub integration
|
|
564
564
|
|
|
565
|
-
The GitHub App opens a setup-
|
|
565
|
+
The GitHub App opens a setup-v5 PR containing a thin caller that follows the
|
|
566
566
|
operator-managed `v5` public git tag. The reusable workflow prefers the
|
|
567
567
|
requested exact package from PyPI and falls back to its executing workflow
|
|
568
568
|
commit only when that package/version is unavailable. Unrelated PyPI
|
|
569
|
-
installation failures remain fatal.
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
569
|
+
installation failures remain fatal. Setup provisions 15 repository variables,
|
|
570
|
+
including 7 boolean controls, and manages 3 generated files. Automatic review,
|
|
571
|
+
GitHub writes, learning proposals, learning PRs, mention replies, and artifact
|
|
572
|
+
upload default to `false`; automatic approval defaults to `true` but is effective
|
|
573
|
+
only when review and write gates are enabled. `REVIEWSENSEI_REVIEW_MODE` is a
|
|
574
|
+
policy selector, not a boolean control, and defaults to `merge-focused`.
|
|
575
|
+
The App never creates the customer-owned `OLLAMA_API_KEY` secret.
|
|
574
576
|
|
|
575
577
|
When explicitly enabled, same-repository pull requests can run automatic review
|
|
576
578
|
with either provider mode: cloud on a GitHub-hosted runner or local Ollama on
|
|
@@ -616,10 +618,10 @@ mode sends that bounded conversation context to Ollama Cloud; local mode keeps
|
|
|
616
618
|
it on the configured local service. Published review summaries and inline
|
|
617
619
|
findings also tell readers to reply with @sensei followed by their question.
|
|
618
620
|
`review.json` is uploaded only when
|
|
619
|
-
`REVIEWSENSEI_UPLOAD_ARTIFACTS=true`; setup-
|
|
621
|
+
`REVIEWSENSEI_UPLOAD_ARTIFACTS=true`; setup-v5 does not create a separate
|
|
620
622
|
version artifact. See [installation and migration](docs/installation.md) and
|
|
621
623
|
the reviewable
|
|
622
|
-
[`setup-
|
|
624
|
+
[`setup-v5 example`](examples/github-actions/review-sensei-review.yml).
|
|
623
625
|
|
|
624
626
|
## Concurrency policy
|
|
625
627
|
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
CHANGELOG.md
|
|
2
|
+
CODE_OF_CONDUCT.md
|
|
3
|
+
CONTRIBUTING.md
|
|
4
|
+
LICENSE
|
|
5
|
+
MANIFEST.in
|
|
6
|
+
README.md
|
|
7
|
+
SECURITY.md
|
|
8
|
+
SUPPORT.md
|
|
9
|
+
pyproject.toml
|
|
10
|
+
setup.py
|
|
11
|
+
docs/architecture.md
|
|
12
|
+
docs/community.md
|
|
13
|
+
docs/data-handling.md
|
|
14
|
+
docs/diagnostics.md
|
|
15
|
+
docs/evaluation.md
|
|
16
|
+
docs/github-app-auth.md
|
|
17
|
+
docs/github-app-registration.md
|
|
18
|
+
docs/installation.md
|
|
19
|
+
docs/openrouter-qualification.md
|
|
20
|
+
docs/ownership-and-licensing.md
|
|
21
|
+
docs/patch-suggestions.md
|
|
22
|
+
docs/protection-policy.md
|
|
23
|
+
docs/public-contracts.md
|
|
24
|
+
docs/releasing.md
|
|
25
|
+
docs/adr/0001-provider-neutral-review-engine.md
|
|
26
|
+
docs/adr/0002-repository-local-review-learnings.md
|
|
27
|
+
docs/adr/0003-review-concurrency-policy.md
|
|
28
|
+
docs/adr/0004-structured-review-stages.md
|
|
29
|
+
docs/adr/0005-lens-context-sources.md
|
|
30
|
+
docs/adr/0006-hosted-github-app-architecture.md
|
|
31
|
+
docs/adr/0007-bound-untrusted-review-inputs-and-publisher-outputs.md
|
|
32
|
+
docs/adr/0008-versioned-public-schemas-and-compatibility.md
|
|
33
|
+
docs/adr/0009-ci-quality-supply-chain-gates.md
|
|
34
|
+
docs/adr/0010-secure-package-release-engineering-and-provenance.md
|
|
35
|
+
docs/adr/0011-portable-immutable-github-actions-workflow.md
|
|
36
|
+
docs/adr/0012-privacy-safe-review-quality-evaluation.md
|
|
37
|
+
docs/adr/0013-github-app-jwt-installation-auth.md
|
|
38
|
+
docs/adr/0014-github-app-setup-bootstrap.md
|
|
39
|
+
docs/adr/0015-oidc-installation-token-broker.md
|
|
40
|
+
docs/adr/0016-product-identity-rename-to-reviewsensei.md
|
|
41
|
+
docs/adr/0019-reviewsensei-dev-landing-page.md
|
|
42
|
+
docs/adr/0020-cloudflare-github-app-package.md
|
|
43
|
+
docs/adr/0021-versioned-github-app-setup-migrations.md
|
|
44
|
+
docs/adr/0022-actions-publication-learning-and-conversations.md
|
|
45
|
+
docs/adr/0023-pypi-first-github-package-fallback.md
|
|
46
|
+
docs/adr/0024-tag-only-setup-v4-channel.md
|
|
47
|
+
docs/adr/0025-cloud-local-feature-parity-and-conversation-reactions.md
|
|
48
|
+
docs/adr/0026-stable-reviewsensei-learning-pull-request-identity-and-reconciliation.md
|
|
49
|
+
docs/adr/0027-opt-in-app-approvals-for-clean-pull-request-reviews.md
|
|
50
|
+
docs/adr/0028-bounded-review-output-recovery.md
|
|
51
|
+
docs/adr/0029-finding-classification-and-lens-presentation.md
|
|
52
|
+
docs/adr/0030-gate-app-approvals-on-resolved-review-threads-and-exact-head-review-safety.md
|
|
53
|
+
docs/adr/0031-npm-launcher-and-standalone-platform-packages.md
|
|
54
|
+
docs/adr/0032-blocking-finding-classification-for-approvals.md
|
|
55
|
+
docs/adr/0033-protection-and-findings-gates.md
|
|
56
|
+
docs/adr/0034-ai-decided-review-thread-resolution.md
|
|
57
|
+
docs/adr/0035-request-changes-for-blocking-findings.md
|
|
58
|
+
docs/adr/0036-learning-lifecycle-diagnostics-and-feedback.md
|
|
59
|
+
docs/adr/0037-symbol-aware-source-context.md
|
|
60
|
+
docs/adr/0038-release-compatibility-manifest.md
|
|
61
|
+
docs/adr/0039-verify-candidate-findings-before-publication.md
|
|
62
|
+
docs/adr/0040-community-managed-enterprise-boundary.md
|
|
63
|
+
docs/adr/0041-production-provider-adapters-and-per-stage-profiles.md
|
|
64
|
+
docs/adr/0042-incremental-reviews-and-finding-lifecycle.md
|
|
65
|
+
docs/adr/0043-structured-run-outcomes-budgets-and-publication-recovery.md
|
|
66
|
+
docs/adr/0044-bounded-large-change-coverage-and-deletion-aware-findings.md
|
|
67
|
+
docs/adr/0045-openrouter-trusted-configuration.md
|
|
68
|
+
docs/adr/0046-evidence-based-blocker-admission-and-review-loop-convergence.md
|
|
69
|
+
docs/adr/0047-durable-review-session-ledger.md
|
|
70
|
+
docs/adr/0048-baseline-aware-verification.md
|
|
71
|
+
docs/adr/0049-automation-admission-and-handoff.md
|
|
72
|
+
docs/adr/0050-maintainer-disposition-and-handoff-status.md
|
|
73
|
+
docs/adr/0051-sequential-evaluation-and-shadowing.md
|
|
74
|
+
docs/adr/0052-logical-review-transaction-across-analysis-and-publication.md
|
|
75
|
+
docs/adr/0053-bounded-durable-convergence-history.md
|
|
76
|
+
docs/adr/0054-observed-convergence-acceptance-evidence.md
|
|
77
|
+
docs/adr/0055-merge-focused-default-and-legacy-retirement.md
|
|
78
|
+
docs/adr/README.md
|
|
79
|
+
docs/architecture/index.md
|
|
80
|
+
docs/process/adr-process.md
|
|
81
|
+
docs/process/index.md
|
|
82
|
+
docs/site/CNAME
|
|
83
|
+
docs/site/MAINTAINERS.md
|
|
84
|
+
docs/site/index.html
|
|
85
|
+
docs/site/robots.txt
|
|
86
|
+
docs/site/sitemap.xml
|
|
87
|
+
docs/site/assets/favicon.svg
|
|
88
|
+
docs/site/assets/site.css
|
|
89
|
+
docs/site/data/site-manifest.json
|
|
90
|
+
docs/site/examples/index.html
|
|
91
|
+
docs/site/getting-started/index.html
|
|
92
|
+
docs/site/providers/index.html
|
|
93
|
+
docs/site/releases/index.html
|
|
94
|
+
docs/site/schemas/site-manifest.schema.json
|
|
95
|
+
docs/site/security/index.html
|
|
96
|
+
evaluation/v1/README.md
|
|
97
|
+
evaluation/v1/corpus.json
|
|
98
|
+
evaluation/v1/diffs/clean-guard.patch
|
|
99
|
+
evaluation/v1/diffs/layer-violation.patch
|
|
100
|
+
evaluation/v1/diffs/malformed-provider-output.patch
|
|
101
|
+
evaluation/v1/diffs/missing-regression-test.patch
|
|
102
|
+
evaluation/v1/diffs/off-by-one.patch
|
|
103
|
+
evaluation/v1/diffs/shell-injection.patch
|
|
104
|
+
evaluation/v1/expected/clean-guard.review.json
|
|
105
|
+
evaluation/v1/expected/layer-violation.review.json
|
|
106
|
+
evaluation/v1/expected/missing-regression-test.review.json
|
|
107
|
+
evaluation/v1/expected/off-by-one.review.json
|
|
108
|
+
evaluation/v1/expected/shell-injection.review.json
|
|
109
|
+
evaluation/v1/responses/clean-guard.json
|
|
110
|
+
evaluation/v1/responses/layer-violation.json
|
|
111
|
+
evaluation/v1/responses/malformed-provider-output.json
|
|
112
|
+
evaluation/v1/responses/missing-regression-test.json
|
|
113
|
+
evaluation/v1/responses/off-by-one.json
|
|
114
|
+
evaluation/v1/responses/shell-injection.json
|
|
115
|
+
evaluation/v1/sample-repository/base/src/command.py
|
|
116
|
+
evaluation/v1/sample-repository/base/src/guard.py
|
|
117
|
+
evaluation/v1/sample-repository/base/src/order.py
|
|
118
|
+
evaluation/v1/sample-repository/base/src/pagination.py
|
|
119
|
+
evaluation/v1/sample-repository/base/src/runner.py
|
|
120
|
+
evaluation/v1/sample-repository/head/src/command.py
|
|
121
|
+
evaluation/v1/sample-repository/head/src/guard.py
|
|
122
|
+
evaluation/v1/sample-repository/head/src/order.py
|
|
123
|
+
evaluation/v1/sample-repository/head/src/pagination.py
|
|
124
|
+
evaluation/v1/sample-repository/head/src/runner.py
|
|
125
|
+
examples/categories/01-correctness.json
|
|
126
|
+
examples/categories/02-security.json
|
|
127
|
+
examples/categories/03-architecture.json
|
|
128
|
+
examples/github-actions/review-sensei-review.yml
|
|
129
|
+
examples/github-actions/review-sensei-uninstall.yml
|
|
130
|
+
examples/stages/01-summary.json
|
|
131
|
+
examples/stages/02-comments.json
|
|
132
|
+
examples/stages/03-learning-proposals.json
|
|
133
|
+
src/review_sensei/__init__.py
|
|
134
|
+
src/review_sensei/__main__.py
|
|
135
|
+
src/review_sensei/baseline.py
|
|
136
|
+
src/review_sensei/cli.py
|
|
137
|
+
src/review_sensei/concurrency.py
|
|
138
|
+
src/review_sensei/context.py
|
|
139
|
+
src/review_sensei/convergence.py
|
|
140
|
+
src/review_sensei/conversation.py
|
|
141
|
+
src/review_sensei/coverage.py
|
|
142
|
+
src/review_sensei/diagnostics.py
|
|
143
|
+
src/review_sensei/diff.py
|
|
144
|
+
src/review_sensei/disposition.py
|
|
145
|
+
src/review_sensei/errors.py
|
|
146
|
+
src/review_sensei/evaluation.py
|
|
147
|
+
src/review_sensei/learnings.py
|
|
148
|
+
src/review_sensei/models.py
|
|
149
|
+
src/review_sensei/openrouter_qualification.py
|
|
150
|
+
src/review_sensei/outcomes.py
|
|
151
|
+
src/review_sensei/patches.py
|
|
152
|
+
src/review_sensei/planning.py
|
|
153
|
+
src/review_sensei/presentation.py
|
|
154
|
+
src/review_sensei/provider_config.py
|
|
155
|
+
src/review_sensei/release_manifest.py
|
|
156
|
+
src/review_sensei/schemas.py
|
|
157
|
+
src/review_sensei/sequence.py
|
|
158
|
+
src/review_sensei/service.py
|
|
159
|
+
src/review_sensei/session.py
|
|
160
|
+
src/review_sensei/stages.py
|
|
161
|
+
src/review_sensei/validation.py
|
|
162
|
+
src/review_sensei/verifier.py
|
|
163
|
+
src/review_sensei/workflow.py
|
|
164
|
+
src/review_sensei/default_categories/01-correctness.json
|
|
165
|
+
src/review_sensei/default_categories/02-security.json
|
|
166
|
+
src/review_sensei/default_categories/03-architecture.json
|
|
167
|
+
src/review_sensei/default_categories/03-maintainability.json
|
|
168
|
+
src/review_sensei/default_categories/04-tests.json
|
|
169
|
+
src/review_sensei/default_stages/01-default-review.json
|
|
170
|
+
src/review_sensei/hosting/__init__.py
|
|
171
|
+
src/review_sensei/hosting/openrouter_workflow.py
|
|
172
|
+
src/review_sensei/hosting/github/__init__.py
|
|
173
|
+
src/review_sensei/hosting/github/application.py
|
|
174
|
+
src/review_sensei/hosting/github/approval.py
|
|
175
|
+
src/review_sensei/hosting/github/auth.py
|
|
176
|
+
src/review_sensei/hosting/github/broker.py
|
|
177
|
+
src/review_sensei/hosting/github/broker_client.py
|
|
178
|
+
src/review_sensei/hosting/github/conversation.py
|
|
179
|
+
src/review_sensei/hosting/github/errors.py
|
|
180
|
+
src/review_sensei/hosting/github/http.py
|
|
181
|
+
src/review_sensei/hosting/github/jwt.py
|
|
182
|
+
src/review_sensei/hosting/github/learning_pr.py
|
|
183
|
+
src/review_sensei/hosting/github/observed.py
|
|
184
|
+
src/review_sensei/hosting/github/oidc.py
|
|
185
|
+
src/review_sensei/hosting/github/publication.py
|
|
186
|
+
src/review_sensei/hosting/github/session_ledger.py
|
|
187
|
+
src/review_sensei/hosting/github/setup.py
|
|
188
|
+
src/review_sensei/hosting/github/trigger.py
|
|
189
|
+
src/review_sensei/hosting/github/webhooks.py
|
|
190
|
+
src/review_sensei/hosting/github/fixtures/__init__.py
|
|
191
|
+
src/review_sensei/hosting/github/fixtures/historical-v4-uninstall.yml
|
|
192
|
+
src/review_sensei/hosting/github/fixtures/merge-focused-v4-caller.yml
|
|
193
|
+
src/review_sensei/hosting/github/fixtures/merge-focused-v4-config.yml
|
|
194
|
+
src/review_sensei/hosting/github/fixtures/released-v4-resolve-trigger-runner-switch.yml
|
|
195
|
+
src/review_sensei/providers/__init__.py
|
|
196
|
+
src/review_sensei/providers/base.py
|
|
197
|
+
src/review_sensei/providers/fixture.py
|
|
198
|
+
src/review_sensei/providers/ollama.py
|
|
199
|
+
src/review_sensei/providers/openai_compatible.py
|
|
200
|
+
src/review_sensei/providers/openrouter.py
|
|
201
|
+
src/review_sensei/providers/profiles.py
|
|
202
|
+
src/review_sensei/providers/registry.py
|
|
203
|
+
src/review_sensei/providers/routing.py
|
|
204
|
+
src/review_sensei/providers/transport.py
|
|
205
|
+
src/review_sensei/schemas/blocker-admission.schema.json
|
|
206
|
+
src/review_sensei/schemas/canary-binding.schema.json
|
|
207
|
+
src/review_sensei/schemas/candidate-finding.schema.json
|
|
208
|
+
src/review_sensei/schemas/channel-promotion.schema.json
|
|
209
|
+
src/review_sensei/schemas/compatibility-manifest.schema.json
|
|
210
|
+
src/review_sensei/schemas/concurrency-plan.schema.json
|
|
211
|
+
src/review_sensei/schemas/convergence-sequence-report.schema.json
|
|
212
|
+
src/review_sensei/schemas/conversation-reply.schema.json
|
|
213
|
+
src/review_sensei/schemas/coverage-manifest.schema.json
|
|
214
|
+
src/review_sensei/schemas/evaluation-corpus.schema.json
|
|
215
|
+
src/review_sensei/schemas/evaluation-report.schema.json
|
|
216
|
+
src/review_sensei/schemas/later-finding-classification.schema.json
|
|
217
|
+
src/review_sensei/schemas/learning-entry.schema.json
|
|
218
|
+
src/review_sensei/schemas/learning-feedback.schema.json
|
|
219
|
+
src/review_sensei/schemas/learning-proposal.schema.json
|
|
220
|
+
src/review_sensei/schemas/observed-convergence-report.schema.json
|
|
221
|
+
src/review_sensei/schemas/openrouter-qualification.schema.json
|
|
222
|
+
src/review_sensei/schemas/promotion-record.schema.json
|
|
223
|
+
src/review_sensei/schemas/recovery-artifact.schema.json
|
|
224
|
+
src/review_sensei/schemas/review-category.schema.json
|
|
225
|
+
src/review_sensei/schemas/review-comment.schema.json
|
|
226
|
+
src/review_sensei/schemas/review-convergence-policy.schema.json
|
|
227
|
+
src/review_sensei/schemas/review-result.schema.json
|
|
228
|
+
src/review_sensei/schemas/review-round-decision.schema.json
|
|
229
|
+
src/review_sensei/schemas/review-stage.schema.json
|
|
230
|
+
src/review_sensei/schemas/review-transaction.schema.json
|
|
231
|
+
src/review_sensei/schemas/run-outcome.schema.json
|
|
232
|
+
src/review_sensei/schemas/session-record.schema.json
|
|
233
|
+
src/review_sensei/schemas/stage.schema.json
|
|
234
|
+
src/review_sensei/schemas/verification-result.schema.json
|
|
235
|
+
src/review_sensei/schemas/verification-scope.schema.json
|
|
236
|
+
tests/fake_github_http.py
|
|
237
|
+
tests/packaging_guard.py
|
|
238
|
+
tests/dist_safe/test_distribution_contract.py
|
|
239
|
+
tests/dist_safe/test_install_smoke.py
|
|
240
|
+
tests/downstream/test_acceptance.py
|
|
241
|
+
tests/fixtures/distribution-contract.json
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
package/bin/review-sensei
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
pip
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
../../../bin/review-sensei,sha256=2Ibm0P5EKordiy9Pw_qN4PTBiigCMiSmkaL5pZkIsmE,198
|
|
2
|
-
review_sensei-0.6.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
|
3
|
-
review_sensei-0.6.0.dist-info/METADATA,sha256=jIL95kaZk2VbSrif6lyYjLt5cgkLvoIrWI3vji_L9gA,33276
|
|
4
|
-
review_sensei-0.6.0.dist-info/RECORD,,
|
|
5
|
-
review_sensei-0.6.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
|
-
review_sensei-0.6.0.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
|
|
7
|
-
review_sensei-0.6.0.dist-info/direct_url.json,sha256=MLTTo3vw-M2WuSfouuDS4OG2zTcNnARwgXU_8_RWYWw,79
|
|
8
|
-
review_sensei-0.6.0.dist-info/entry_points.txt,sha256=Eki1ToC6hiOv8PMEAd2Cnbh5WWstVzzzf0XmHBHzpMQ,57
|
|
9
|
-
review_sensei-0.6.0.dist-info/licenses/LICENSE,sha256=7r0bNOlOZSzaZCawckTi-FGJb0Doo4MeWmeL4lasdGs,1074
|
|
10
|
-
review_sensei-0.6.0.dist-info/top_level.txt,sha256=VCF4gJIJPP3MPJntoITDjMhJ8MUZfVLj-z3-VUQ9XDY,14
|
|
11
|
-
review_sensei/__init__.py,sha256=SjGgpE_UyzpRLtBw2ihYf-sirUjfmTWTt8m5Ng8f0Ds,9858
|
|
12
|
-
review_sensei/__main__.py,sha256=MHKZ_ae3fSLGTLUUMOx15fWdeOnJSHhq-zslRP5F5Lc,79
|
|
13
|
-
review_sensei/__pycache__/__init__.cpython-311.pyc,,
|
|
14
|
-
review_sensei/__pycache__/__main__.cpython-311.pyc,,
|
|
15
|
-
review_sensei/__pycache__/baseline.cpython-311.pyc,,
|
|
16
|
-
review_sensei/__pycache__/cli.cpython-311.pyc,,
|
|
17
|
-
review_sensei/__pycache__/concurrency.cpython-311.pyc,,
|
|
18
|
-
review_sensei/__pycache__/context.cpython-311.pyc,,
|
|
19
|
-
review_sensei/__pycache__/convergence.cpython-311.pyc,,
|
|
20
|
-
review_sensei/__pycache__/conversation.cpython-311.pyc,,
|
|
21
|
-
review_sensei/__pycache__/coverage.cpython-311.pyc,,
|
|
22
|
-
review_sensei/__pycache__/diagnostics.cpython-311.pyc,,
|
|
23
|
-
review_sensei/__pycache__/diff.cpython-311.pyc,,
|
|
24
|
-
review_sensei/__pycache__/disposition.cpython-311.pyc,,
|
|
25
|
-
review_sensei/__pycache__/errors.cpython-311.pyc,,
|
|
26
|
-
review_sensei/__pycache__/evaluation.cpython-311.pyc,,
|
|
27
|
-
review_sensei/__pycache__/learnings.cpython-311.pyc,,
|
|
28
|
-
review_sensei/__pycache__/models.cpython-311.pyc,,
|
|
29
|
-
review_sensei/__pycache__/openrouter_qualification.cpython-311.pyc,,
|
|
30
|
-
review_sensei/__pycache__/outcomes.cpython-311.pyc,,
|
|
31
|
-
review_sensei/__pycache__/patches.cpython-311.pyc,,
|
|
32
|
-
review_sensei/__pycache__/planning.cpython-311.pyc,,
|
|
33
|
-
review_sensei/__pycache__/presentation.cpython-311.pyc,,
|
|
34
|
-
review_sensei/__pycache__/provider_config.cpython-311.pyc,,
|
|
35
|
-
review_sensei/__pycache__/release_manifest.cpython-311.pyc,,
|
|
36
|
-
review_sensei/__pycache__/schemas.cpython-311.pyc,,
|
|
37
|
-
review_sensei/__pycache__/sequence.cpython-311.pyc,,
|
|
38
|
-
review_sensei/__pycache__/service.cpython-311.pyc,,
|
|
39
|
-
review_sensei/__pycache__/session.cpython-311.pyc,,
|
|
40
|
-
review_sensei/__pycache__/stages.cpython-311.pyc,,
|
|
41
|
-
review_sensei/__pycache__/validation.cpython-311.pyc,,
|
|
42
|
-
review_sensei/__pycache__/verifier.cpython-311.pyc,,
|
|
43
|
-
review_sensei/__pycache__/workflow.cpython-311.pyc,,
|
|
44
|
-
review_sensei/baseline.py,sha256=nwIoiNQNGA8QxYU3ZlgPuwfSpjNxy4UnUt8LkRaT1GQ,50600
|
|
45
|
-
review_sensei/cli.py,sha256=GzAa3aIwcMFw3bCnOU4tIp8tkHNUBxqJltOomkrO2AI,115654
|
|
46
|
-
review_sensei/concurrency.py,sha256=RY91n5Csl4qLHxzWEkwR07OdTfzvedXe-a-3fum15-U,19570
|
|
47
|
-
review_sensei/context.py,sha256=h6NAcXEEtA8gHsnetMVCOTX0EwVLBp_0TDfYgxsH1uM,93829
|
|
48
|
-
review_sensei/convergence.py,sha256=EklceU9CADa9ohwggkUzU2U2eQLJlgT1bZkcY07_5ds,51851
|
|
49
|
-
review_sensei/conversation.py,sha256=JkFzvbw6wvsNe5jApKAoYa6Ri0ikgyY8Bn385bhuowo,7300
|
|
50
|
-
review_sensei/coverage.py,sha256=2xllGowcindzQSp5DBPIWnThQiTZrS2zneSq9-G3Rn8,12622
|
|
51
|
-
review_sensei/default_categories/01-correctness.json,sha256=pKW2dDEL6U14ZdOKDPThayeZUHja3oIDeR_Crvd0a6I,203
|
|
52
|
-
review_sensei/default_categories/02-security.json,sha256=SlwAg_7AfnadeVlNzpTLzdmz-5t0PUJATA-pt3um46I,223
|
|
53
|
-
review_sensei/default_categories/03-architecture.json,sha256=QNlka4RLtD53SZLXZQD1p3foMStdGWoyHLTsdrYVnVw,782
|
|
54
|
-
review_sensei/default_categories/03-maintainability.json,sha256=5av_QSJNK7zZTJ91pd0aRivzt4hI5frsxKI3IjkKi7g,221
|
|
55
|
-
review_sensei/default_categories/04-tests.json,sha256=8_WPsJfim4jNXRF6s3jRhh2JKTqqd-uJXRiZgmy5WU0,200
|
|
56
|
-
review_sensei/default_stages/01-default-review.json,sha256=5DbAwsstTqWxhF1y1BWVISKpQaN4mTMD5zW75tBR0Qc,3447
|
|
57
|
-
review_sensei/diagnostics.py,sha256=rxNHNyy1RshmiBSgicsr3jlIvAc6iuFhA8MixT-UgdI,43826
|
|
58
|
-
review_sensei/diff.py,sha256=0XUh5RPkUKdp0Tv1tQhhGM5qpl-oOi5NZsC0URbBq2A,31228
|
|
59
|
-
review_sensei/disposition.py,sha256=lCSJtMMKbH99eR7pfa6KO0lCDR2IvOqbFF-A6y3VOQE,24264
|
|
60
|
-
review_sensei/errors.py,sha256=jvgyDi6a2jZV0WEE6ChbmqxTYrA6iE5U4xRaVGU0CvM,2521
|
|
61
|
-
review_sensei/evaluation.py,sha256=ZUUjqfuAcJm16EujlbrxYRQdiSljF1GplPOSyQTJyi0,57873
|
|
62
|
-
review_sensei/hosting/__init__.py,sha256=PX5u_e8Q4sgy4mwXUUjhH0A_qLiXALSKy0MLhd8IXyA,83
|
|
63
|
-
review_sensei/hosting/__pycache__/__init__.cpython-311.pyc,,
|
|
64
|
-
review_sensei/hosting/__pycache__/openrouter_workflow.cpython-311.pyc,,
|
|
65
|
-
review_sensei/hosting/github/__init__.py,sha256=4E0sF9hynByDXqSfrFuDElZR_EWNkYdKRxfJ7n4UOac,5263
|
|
66
|
-
review_sensei/hosting/github/__pycache__/__init__.cpython-311.pyc,,
|
|
67
|
-
review_sensei/hosting/github/__pycache__/application.cpython-311.pyc,,
|
|
68
|
-
review_sensei/hosting/github/__pycache__/approval.cpython-311.pyc,,
|
|
69
|
-
review_sensei/hosting/github/__pycache__/auth.cpython-311.pyc,,
|
|
70
|
-
review_sensei/hosting/github/__pycache__/broker.cpython-311.pyc,,
|
|
71
|
-
review_sensei/hosting/github/__pycache__/broker_client.cpython-311.pyc,,
|
|
72
|
-
review_sensei/hosting/github/__pycache__/conversation.cpython-311.pyc,,
|
|
73
|
-
review_sensei/hosting/github/__pycache__/errors.cpython-311.pyc,,
|
|
74
|
-
review_sensei/hosting/github/__pycache__/http.cpython-311.pyc,,
|
|
75
|
-
review_sensei/hosting/github/__pycache__/jwt.cpython-311.pyc,,
|
|
76
|
-
review_sensei/hosting/github/__pycache__/learning_pr.cpython-311.pyc,,
|
|
77
|
-
review_sensei/hosting/github/__pycache__/oidc.cpython-311.pyc,,
|
|
78
|
-
review_sensei/hosting/github/__pycache__/publication.cpython-311.pyc,,
|
|
79
|
-
review_sensei/hosting/github/__pycache__/session_ledger.cpython-311.pyc,,
|
|
80
|
-
review_sensei/hosting/github/__pycache__/setup.cpython-311.pyc,,
|
|
81
|
-
review_sensei/hosting/github/__pycache__/trigger.cpython-311.pyc,,
|
|
82
|
-
review_sensei/hosting/github/__pycache__/webhooks.cpython-311.pyc,,
|
|
83
|
-
review_sensei/hosting/github/application.py,sha256=WQeQNMjWnnYHqiC-IlKK-UJ4vPbpO2F_FhNzQoh-7yk,66489
|
|
84
|
-
review_sensei/hosting/github/approval.py,sha256=nrrDvwZnDsTuLZpKLdBDKQKdhuR2SyW5OnPtlcgLQ_U,4085
|
|
85
|
-
review_sensei/hosting/github/auth.py,sha256=ubAA_XrveDxaXN76Prf88zotqFbRQhQRwqVhKxiN8lU,18541
|
|
86
|
-
review_sensei/hosting/github/broker.py,sha256=fXUu82XJ_Q_mVre8DGkBK8XdPFGrRk0i000PYUU1kvA,17495
|
|
87
|
-
review_sensei/hosting/github/broker_client.py,sha256=1HF1DmUbl45rh0QLfWk3xS1Pm3A_ibc5GBO9Txdxr1U,16175
|
|
88
|
-
review_sensei/hosting/github/conversation.py,sha256=zlUDVv3fI9D12cnRHd_B8vt0El5fr-Ukn1IXO0v9OT0,61320
|
|
89
|
-
review_sensei/hosting/github/errors.py,sha256=x3HjgRz6ynCKSriZf4zX6eNWpH1d-VlpYW-AFvYxn1M,5167
|
|
90
|
-
review_sensei/hosting/github/fixtures/__init__.py,sha256=SSULGCSjxqzzIe6zT63fdQeQzqzbgdSXwwruycFLAO4,81
|
|
91
|
-
review_sensei/hosting/github/fixtures/__pycache__/__init__.cpython-311.pyc,,
|
|
92
|
-
review_sensei/hosting/github/fixtures/released-v4-resolve-trigger-runner-switch.yml,sha256=IixSDwb_PeRNV8XEF27OaNBoLkIsRd8SHHGUOOxBX14,15853
|
|
93
|
-
review_sensei/hosting/github/http.py,sha256=VDlKR-7jsYjvOO3JjMC8-hPRCu68I8JdDsijOLxpr-Q,8718
|
|
94
|
-
review_sensei/hosting/github/jwt.py,sha256=7WwBnU7asbMTyCnZNLetQqNMVyrRGE06WKq2eDuoBYM,4446
|
|
95
|
-
review_sensei/hosting/github/learning_pr.py,sha256=hXzlxPlk9XMxmqpFq1yVO6_4jrlzIvntio6F4j8odA4,109643
|
|
96
|
-
review_sensei/hosting/github/oidc.py,sha256=ovRu4SgpnAvgQ00sxIELvQm5gaN-ByJnpmdS_P8_8Tk,12940
|
|
97
|
-
review_sensei/hosting/github/publication.py,sha256=ptv5nvem_F2ZbAr8zxQOmFTLSDCCKnT4iz4TQkB6vz4,82729
|
|
98
|
-
review_sensei/hosting/github/session_ledger.py,sha256=MBCYBCGWgUv6Yxh9pdBJgJLYoJRTWAGRG_OWtm9gLIk,30314
|
|
99
|
-
review_sensei/hosting/github/setup.py,sha256=ufMbLc8Lvj9-JKvz3Cfs-BERrsEqtpGbWunjaed0P8Q,90647
|
|
100
|
-
review_sensei/hosting/github/trigger.py,sha256=FK9lNcQ8J3QnyYOt462eAHI8lLNVT3H56Oh0Aw7QXiE,10688
|
|
101
|
-
review_sensei/hosting/github/webhooks.py,sha256=alQk_EIFB7dbO9SMJv7DiuIPjk8fixmwmlvb_W8DPCQ,13335
|
|
102
|
-
review_sensei/hosting/openrouter_workflow.py,sha256=37N52t_wfS5rpAp2NLbEXIr-CMmHaFR5cv1CKuFjlnQ,1284
|
|
103
|
-
review_sensei/learnings.py,sha256=oBqp1Q1Kv3D4JdQx6JpwN1oiDsgblmVLFIgKv0j7Pe8,20925
|
|
104
|
-
review_sensei/models.py,sha256=g8-7wawsHptobkrLP2ECcdx8xKjbMayT6NDoetfmKts,89335
|
|
105
|
-
review_sensei/openrouter_qualification.py,sha256=9LpD691Z7KtvFRpl6Dwj82RMBVdToB0J6RXUWvSAhDg,29599
|
|
106
|
-
review_sensei/outcomes.py,sha256=ZsTGE5WO-Cou-93xDeoXowBcESCooY6lbCdJnPLwiNU,31345
|
|
107
|
-
review_sensei/patches.py,sha256=Xr-ZbzoIgarkOgwa7KjOBGIvezYU_w7KWDtKkZPrHaI,15618
|
|
108
|
-
review_sensei/planning.py,sha256=2X4xQSQx9khAwyQXw-ClORPEGJgji5nH1-PYv3DphNs,22641
|
|
109
|
-
review_sensei/presentation.py,sha256=4kYVGoO0YEmCo2Rix5THKeFjvqRR_SfZQIcTXDE7Vnw,6395
|
|
110
|
-
review_sensei/provider_config.py,sha256=ytcss6IDmIPe904XgmSV5sKXIBXusDFXswSwf1sJhts,15922
|
|
111
|
-
review_sensei/providers/__init__.py,sha256=a4TU6Wzn2Jgv4e9GLXpzD_I-0ZFm97_OA7uK2pIc_Vw,756
|
|
112
|
-
review_sensei/providers/__pycache__/__init__.cpython-311.pyc,,
|
|
113
|
-
review_sensei/providers/__pycache__/base.cpython-311.pyc,,
|
|
114
|
-
review_sensei/providers/__pycache__/fixture.cpython-311.pyc,,
|
|
115
|
-
review_sensei/providers/__pycache__/ollama.cpython-311.pyc,,
|
|
116
|
-
review_sensei/providers/__pycache__/openai_compatible.cpython-311.pyc,,
|
|
117
|
-
review_sensei/providers/__pycache__/openrouter.cpython-311.pyc,,
|
|
118
|
-
review_sensei/providers/__pycache__/profiles.cpython-311.pyc,,
|
|
119
|
-
review_sensei/providers/__pycache__/registry.cpython-311.pyc,,
|
|
120
|
-
review_sensei/providers/__pycache__/routing.cpython-311.pyc,,
|
|
121
|
-
review_sensei/providers/__pycache__/transport.cpython-311.pyc,,
|
|
122
|
-
review_sensei/providers/base.py,sha256=BKLeYm85RlHta2XfgJjzjxD8Y-rTfLRCtqSODHiSnK8,1961
|
|
123
|
-
review_sensei/providers/fixture.py,sha256=k0mh-xIPgKQIrkMkQsqR5P1oyDOzTiHrWuB_qXQ7ljI,1508
|
|
124
|
-
review_sensei/providers/ollama.py,sha256=7mnc4xqQDnv1hV-QVHDjb3ye5Tx7IbB_9EYi7YJ-p8c,10466
|
|
125
|
-
review_sensei/providers/openai_compatible.py,sha256=D4Yny3znO8IMehGh4Wq9DHgBzzLR0l4KlqzNZY2Gv2c,18963
|
|
126
|
-
review_sensei/providers/openrouter.py,sha256=BTmafQ4vs07xJAdmSVom9AeX42Pvqj2331Gx1zcgxAA,22641
|
|
127
|
-
review_sensei/providers/profiles.py,sha256=afJ0MdlOuv0sUSfHamg1B_7gIK_l5c_o0Nbxe2U4GoY,9119
|
|
128
|
-
review_sensei/providers/registry.py,sha256=jlEzbgo2J7GNhqwYGPkw0DiMHejIW8GTNFi7RIVRdqE,11805
|
|
129
|
-
review_sensei/providers/routing.py,sha256=-2dngW86e7rfLtBix6YT7p3dfMKfx76qSb2ecK0XwWQ,6879
|
|
130
|
-
review_sensei/providers/transport.py,sha256=tHME7xUK0HUXcvBAzUdmoSZmepurLH-IZI2KMQsgic4,2849
|
|
131
|
-
review_sensei/release_manifest.py,sha256=UEmeW8Jt_XoUB1VYn7NCaGME_vNzrPziCb-JkXk70-U,36812
|
|
132
|
-
review_sensei/schemas.py,sha256=kVa3qn14NSLCSlzkTNseQkZDvLf3TS58uwpauLDhB5Y,2655
|
|
133
|
-
review_sensei/schemas/blocker-admission.schema.json,sha256=sL9Oh928g18wDsuFCgojjT-ipEdz23aLCfIKielLCb8,2703
|
|
134
|
-
review_sensei/schemas/canary-binding.schema.json,sha256=Sw3pMgzQJ7nVaf6hiDlDAqsDulh1cNWo-Z1HIHW-CcM,772
|
|
135
|
-
review_sensei/schemas/candidate-finding.schema.json,sha256=xLvcGSsDBJYDmuO19nzY0WnRcfZYMaV3aShR72lIZnE,1923
|
|
136
|
-
review_sensei/schemas/channel-promotion.schema.json,sha256=lPCEG7cieCTnr50IcJdv9mE_uqSwvidZklWlCeID5Ek,1055
|
|
137
|
-
review_sensei/schemas/compatibility-manifest.schema.json,sha256=1b9YBgn7wpkApKeLpN8KO-B9DOER8_6vMWjJJiSCtis,1814
|
|
138
|
-
review_sensei/schemas/concurrency-plan.schema.json,sha256=IbgTC-gKifoVaROfM9qBndYwEeFREgouNJBYX6exl_M,804
|
|
139
|
-
review_sensei/schemas/convergence-sequence-report.schema.json,sha256=H7RIruxgdac6ve2zEOaLslqW7L4JUVTdPPw1GaUgYLc,2251
|
|
140
|
-
review_sensei/schemas/conversation-reply.schema.json,sha256=ur-4GvpInOpMS9C5olFSZQJDSmh7EX6edUeFiDjPVCQ,661
|
|
141
|
-
review_sensei/schemas/coverage-manifest.schema.json,sha256=GBmStjHJ_d-Xu2cTwpomCvvB2SzVGmOeUU4FTOb0E-Y,2666
|
|
142
|
-
review_sensei/schemas/evaluation-corpus.schema.json,sha256=Nwzyt4eJtle3pCkrGJoEFzhTqPox59Y3HVJBjSgH-lE,7589
|
|
143
|
-
review_sensei/schemas/evaluation-report.schema.json,sha256=EaJ2CE6co4RRim0DS6dFTV5tvQHR_TWQXo4_TXjJZo4,9624
|
|
144
|
-
review_sensei/schemas/later-finding-classification.schema.json,sha256=81Rxm-Es_NwIW4FqSEMMwfVPb-vCTFRh2rOxtXDMEvQ,2011
|
|
145
|
-
review_sensei/schemas/learning-entry.schema.json,sha256=XyC-59f_cjZHSDoaJIhqbwTrMwQaJwjn9BdOwatr420,1735
|
|
146
|
-
review_sensei/schemas/learning-feedback.schema.json,sha256=D8GhFCf931axkR2v6597NuBFyaw7hc7pSFlw1-G8bOs,1869
|
|
147
|
-
review_sensei/schemas/learning-proposal.schema.json,sha256=07c43l-WW4sR57dx9ILxPjGRykqxPIy53ShDnQcSD44,625
|
|
148
|
-
review_sensei/schemas/openrouter-qualification.schema.json,sha256=c0p4_IW3c32r25BPCLG8KFU69CQ3VZxsQlOpevT2C0w,4095
|
|
149
|
-
review_sensei/schemas/promotion-record.schema.json,sha256=LyOrpYhl71rTgKCdMlqEdh2DvCJo3J0kEjpp1ntdjmY,2363
|
|
150
|
-
review_sensei/schemas/recovery-artifact.schema.json,sha256=jmR1D1cvoqQnIOrX-graPeNz5rFs-Dowehs4x-LN-oA,1228
|
|
151
|
-
review_sensei/schemas/review-category.schema.json,sha256=jLsQnporX4D3oK6_brtH0qTPp3bKRj4adTZBiWvM9Hg,2112
|
|
152
|
-
review_sensei/schemas/review-comment.schema.json,sha256=G-sCjlxHSd07vkBQv_yq4N9-5_FnjAZzsy2WM15asAA,1105
|
|
153
|
-
review_sensei/schemas/review-convergence-policy.schema.json,sha256=ji0GtfaKIU4apmnpB8iwqOTRKYdAkbpeKFgUWFDcOso,1299
|
|
154
|
-
review_sensei/schemas/review-result.schema.json,sha256=UhwcjelfGygPmtsYIot9DIe3vQlDDUq7f8dOSpxxSrk,4740
|
|
155
|
-
review_sensei/schemas/review-round-decision.schema.json,sha256=LokOKl8e3NBqsAFboI4jNfNexh20oiERA-BT-R1iagU,1536
|
|
156
|
-
review_sensei/schemas/review-stage.schema.json,sha256=W0pgHzPtuxOJGxoXlCzmZcN4jgrQ6wPSb36euzJ0UgA,4540
|
|
157
|
-
review_sensei/schemas/review-transaction.schema.json,sha256=K2OP7xIpW2MRpC2GO0lqwRc2L0jUGc2w4WTdpN3UQLU,2144
|
|
158
|
-
review_sensei/schemas/run-outcome.schema.json,sha256=UO3NGJ6Em3XtEZqQa2b4m1qmp4qrnE3aAqJ9L95OW4Y,1715
|
|
159
|
-
review_sensei/schemas/session-record.schema.json,sha256=zsHHPuNzzZfYy-r3tpt_roGgIaEpweqP9XNFWmaFq_Q,11637
|
|
160
|
-
review_sensei/schemas/stage.schema.json,sha256=rBTBzmFKqiPoGG654Th4g49HajlEdFZzMzOu4dMCl-I,2806
|
|
161
|
-
review_sensei/schemas/verification-result.schema.json,sha256=rAPyqTJS1ZFfDsyZh1Jqi7AGZkuxP2mlDV8Upk-eqpk,611
|
|
162
|
-
review_sensei/schemas/verification-scope.schema.json,sha256=u5O3xkGfdN3scBgLwR77j4NsNRbstPBo2QLQNfF5UtI,2061
|
|
163
|
-
review_sensei/sequence.py,sha256=nOKF2tUZr2OTz2-lJmhDzoFeGnIgnDY60aA5oyrc3sM,7624
|
|
164
|
-
review_sensei/service.py,sha256=McijpxSPF-_1n4l5WdU0p7neo8zHL7NZL073qLLbEDc,69143
|
|
165
|
-
review_sensei/session.py,sha256=Du21s2mRqIe1IWpqZHdrSP1pRzxmN9ODYUM57woEet4,126787
|
|
166
|
-
review_sensei/stages.py,sha256=Sif3RbaH1IM_a7HoY7Dt1krCJD_roDBs9UA-cWCd4Lg,23684
|
|
167
|
-
review_sensei/validation.py,sha256=6sfJCvv6hMPXrTPIEP-OI6sEJO60FyFbIZ30FFRORSI,12051
|
|
168
|
-
review_sensei/verifier.py,sha256=ZNDQiK3Q90PYU77qbW69f4ta3M8Gg1jNP1rokYIEeuU,34052
|
|
169
|
-
review_sensei/workflow.py,sha256=bUUBUyTEA9EFuKtWUDMC3rTWwBu-0SUdfB0OmjokNQQ,22912
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"dir_info": {}, "url": "file:///home/runner/work/review-sensei/review-sensei"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Mohamad Alsabbagh
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
/package/bin/_internal/{review_sensei-0.6.0.dist-info → review_sensei.egg-info}/entry_points.txt
RENAMED
|
File without changes
|
/package/bin/_internal/{review_sensei-0.6.0.dist-info → review_sensei.egg-info}/top_level.txt
RENAMED
|
File without changes
|