@reviewsensei/cli-win32-x64 0.6.9 → 0.6.10

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.
Binary file
@@ -1,4 +1,4 @@
1
- ../../Scripts/jsonschema.exe,sha256=iaTnC9ckEfdnjxm5_nql-1WN_IP6z-9eXevx8F06qZ8,108352
1
+ ../../Scripts/jsonschema.exe,sha256=pRpokostMZ6mCGgVMGTKikQIyf9sGmNK4o8Mlw6w008,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,,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: review-sensei
3
- Version: 0.6.9
3
+ Version: 0.6.10
4
4
  Summary: Provider-neutral AI code review engine with an Ollama adapter.
5
5
  Author: Mohamad Alsabbagh
6
6
  License-Expression: MIT
@@ -136,8 +136,8 @@ Node.js 22 or newer can invoke the same Python review engine through the
136
136
  provider-neutral `@reviewsensei/cli` launcher:
137
137
 
138
138
  ```bash
139
- npx --yes @reviewsensei/cli@0.6.9 --version
140
- npx --yes @reviewsensei/cli@0.6.9 --help
139
+ npx --yes @reviewsensei/cli@0.6.10 --version
140
+ npx --yes @reviewsensei/cli@0.6.10 --help
141
141
  ```
142
142
 
143
143
  The launcher selects one of the five native packages (macOS arm64/x64,
@@ -670,21 +670,33 @@ item only when the transport reports an oversized response. The 512 KiB
670
670
  transport ceiling remains unchanged. Fork pull requests fail closed before
671
671
  provider or broker access.
672
672
 
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.
676
- ReviewSensei publishes blocking findings as `REQUEST_CHANGES` and non-blocking
677
- findings as `COMMENT`, then invokes one shared, idempotent approval finalizer.
678
- It emits `APPROVE` for an eligible exact head when no unresolved ReviewSensei
679
- root is classified blocking. A later execution on the same commit still
680
- requests changes if blocking comments appear after an approval, and it
681
- approves after an earlier change request only once those blocking roots are
682
- resolved. Unresolved non-blocking ReviewSensei findings and human threads do
683
- not withhold approval. An unclassified ReviewSensei root, malformed or
684
- incomplete thread data, or a draft/closed/fork/stale/App-authored PR fails
685
- closed. The finalizer runs after review publication and after the AI resolves a
686
- blocking ReviewSensei thread; `@sensei` replies themselves remain ordinary
687
- comments. Existing approval markers prevent duplicate approvals.
673
+ When automatic review and GitHub writes are enabled, automatic approval is on by
674
+ default; `github.reviews: blocking` (publish and enforce, never automatically
675
+ approve) or `github.reviews: advisory` (no ReviewSensei merge gate and no
676
+ approval) in `.reviewsensei.yml` selects another policy.
677
+ ReviewSensei publishes one exact-head `COMMENT` review with its summary and
678
+ valid inline findings, and enforces through one stable `ReviewSensei` check run
679
+ bound to that head and to the App that produced it: `success` for a complete
680
+ review with no required fixes, `failure` when required fixes remain, and
681
+ `action_required` for a partial, incomplete, or unpublished review. An earlier
682
+ conclusion on the same head is superseded by a pending `in_progress` write, so
683
+ a finished review cannot stand in for one that is still running. No persistent
684
+ `REQUEST_CHANGES` is emitted as a second gate. A repository administrator must
685
+ mark `ReviewSensei` required for it to gate merges; `review-sensei doctor`
686
+ reports the check identity and producing App, and nothing reads or changes
687
+ branch protection.
688
+
689
+ The same mode also runs one shared, idempotent approval finalizer. It emits
690
+ `APPROVE` for an eligible exact head whose review is complete and qualified and
691
+ whose bounded thread sweep finds no unresolved blocking ReviewSensei root.
692
+ Unresolved non-blocking ReviewSensei findings and human threads do not withhold
693
+ approval. An unclassified ReviewSensei root, malformed or incomplete thread
694
+ data, an unverified configuration, or a draft/closed/fork/stale/App-authored PR
695
+ fails closed or reports why approval was withheld. The finalizer runs after
696
+ review publication and after the AI resolves a blocking ReviewSensei thread;
697
+ `@sensei` replies themselves remain ordinary comments. Existing approval markers
698
+ prevent duplicate approvals, and ReviewSensei never calls a merge endpoint or
699
+ enables auto-merge.
688
700
 
689
701
  The approval policy is deliberately conservative: explicit blocking metadata,
690
702
  or an unclassified canonical `critical`/`high` severity, blocks approval.
@@ -1,13 +1,13 @@
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
1
+ ../../Scripts/review-sensei.exe,sha256=04iYIl1l4LU9TcsUKBpmYYp-4pBvoNxlNARAjkDRBNY,108355
2
+ review_sensei-0.6.10.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
3
+ review_sensei-0.6.10.dist-info/METADATA,sha256=iyF7YB1YSJUm2t01os9ygqBsJNwBBPLMhfe9v6Eu3Fk,38756
4
+ review_sensei-0.6.10.dist-info/RECORD,,
5
+ review_sensei-0.6.10.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ review_sensei-0.6.10.dist-info/WHEEL,sha256=YVMoNqKzERt-wjUZwJ33xBGAwnFl-4cqbYkTtWa4itE,91
7
+ review_sensei-0.6.10.dist-info/direct_url.json,sha256=EDhpXdSFq1qZfl2FCT07Hg2gleInjGFaAwkFy0selqU,67
8
+ review_sensei-0.6.10.dist-info/entry_points.txt,sha256=Eki1ToC6hiOv8PMEAd2Cnbh5WWstVzzzf0XmHBHzpMQ,57
9
+ review_sensei-0.6.10.dist-info/licenses/LICENSE,sha256=-eVBqOV92YK1K76UIcK5MrgUh0EiQMe8xNhSysQE68s,1095
10
+ review_sensei-0.6.10.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,,
@@ -44,10 +44,10 @@ review_sensei/__pycache__/stages.cpython-311.pyc,,
44
44
  review_sensei/__pycache__/validation.cpython-311.pyc,,
45
45
  review_sensei/__pycache__/verifier.cpython-311.pyc,,
46
46
  review_sensei/__pycache__/workflow.cpython-311.pyc,,
47
- review_sensei/baseline.py,sha256=nJegFpLDW-YviQqUt8QXWSOgzuPIWg3ryz1DTr87d4U,54311
48
- review_sensei/cli.py,sha256=uqM6N5pPyx6CeDMmWiBFZrPxhcADft5ZRk_zu5Azu10,151167
47
+ review_sensei/baseline.py,sha256=B8rEeAtcWDZKHmKpp1ivyKuDlyqq8W6dHInZr5sdoBM,58473
48
+ review_sensei/cli.py,sha256=AF912QD44dcanl4IZJmVfoYViDsYSoCntLaxozBpRDY,151292
49
49
  review_sensei/concurrency.py,sha256=7nqMDNaIl7YoKafkAF1ctXu6D5SFxXosm-1407OKimQ,20097
50
- review_sensei/configuration.py,sha256=8PBeBDcY6Y0ZNW50yJ3Zrb85VvHtctOoLXk-DJyWKVk,78115
50
+ review_sensei/configuration.py,sha256=b2D09kp8JcMFWaC5hVRirwYI8FB--cxSpiV1EERNU4o,90145
51
51
  review_sensei/context.py,sha256=ejDs0EBaUVTbAkrs-wACGXbgQcEwClX0Tultn2Mo_R0,96255
52
52
  review_sensei/convergence.py,sha256=ZxnHmmFLGramRrOE8IHsAvqdhK3Rd--rimfm7UJKy08,50962
53
53
  review_sensei/conversation.py,sha256=KRWtF8JnmOrOQsvAX4q-d0UzzXjNp2XeePSbyIm4_pw,7467
@@ -58,7 +58,7 @@ review_sensei/default_categories/03-architecture.json,sha256=Fg3VsUCzl9trCpSnoOg
58
58
  review_sensei/default_categories/03-maintainability.json,sha256=eyF9_slQ50LwEqSSet63jthfNp9ZOTnwiDVtVYjVv1A,229
59
59
  review_sensei/default_categories/04-tests.json,sha256=UHhvH79bae9FmLJT_MYNvki4Y9xhJDLpDuLdgp2npe0,208
60
60
  review_sensei/default_stages/01-default-review.json,sha256=-y9LP_8XNqEPpRN2K8z_qMHRqXyP6ZsiydzZFHozZwY,3463
61
- review_sensei/diagnostics.py,sha256=fj7JYgr29jXMSO43XTnPWDFl9h4GP23GYRhWjI4iY7s,44638
61
+ review_sensei/diagnostics.py,sha256=-_g6EV8SSbUQqxo5OYPhJQX5wSlNv9WWn1ZqtyJKZo8,45519
62
62
  review_sensei/diff.py,sha256=na5MWhYcnRimFwGElNBiSp27Su_oufHhWiGtm1W38oY,32057
63
63
  review_sensei/disposition.py,sha256=d0nsNUKtba3UijH7X2YF7Wj5FSLdjRjE2Ni6HH0d9GI,21496
64
64
  review_sensei/errors.py,sha256=1-JKbLcEodjQMXleJwR-QDzRhMSFwDSe9Oc6Pg1UYmY,2901
@@ -74,6 +74,7 @@ review_sensei/hosting/github/__pycache__/approval.cpython-311.pyc,,
74
74
  review_sensei/hosting/github/__pycache__/auth.cpython-311.pyc,,
75
75
  review_sensei/hosting/github/__pycache__/broker.cpython-311.pyc,,
76
76
  review_sensei/hosting/github/__pycache__/broker_client.cpython-311.pyc,,
77
+ review_sensei/hosting/github/__pycache__/checks.cpython-311.pyc,,
77
78
  review_sensei/hosting/github/__pycache__/conversation.cpython-311.pyc,,
78
79
  review_sensei/hosting/github/__pycache__/errors.cpython-311.pyc,,
79
80
  review_sensei/hosting/github/__pycache__/http.cpython-311.pyc,,
@@ -86,12 +87,13 @@ review_sensei/hosting/github/__pycache__/session_ledger.cpython-311.pyc,,
86
87
  review_sensei/hosting/github/__pycache__/setup.cpython-311.pyc,,
87
88
  review_sensei/hosting/github/__pycache__/trigger.cpython-311.pyc,,
88
89
  review_sensei/hosting/github/__pycache__/webhooks.cpython-311.pyc,,
89
- review_sensei/hosting/github/application.py,sha256=sDunbp-suXa8G2MRHzYgY9T7slkaB3EMRasYXZeT2o0,69852
90
- review_sensei/hosting/github/approval.py,sha256=nx8h8oDvljrdrXkNahMXrvk3kMVkMy6owztXZPRwsqA,4189
90
+ review_sensei/hosting/github/application.py,sha256=mDILRw7MYXfsgkkhH8UizSJy4kPQ4Y5tlAPeUZb0Ig4,73293
91
+ review_sensei/hosting/github/approval.py,sha256=JGEIO-Rfq87JX78B80er-edRpZttBd7wDHh5mvQu8sM,19955
91
92
  review_sensei/hosting/github/auth.py,sha256=koITagUX9piVboGJ_smEhPsCf4rOQkOqqSKeLKvFRbc,19055
92
93
  review_sensei/hosting/github/broker.py,sha256=FFC7DsFhzy1tENXTCmLNuYzX2cHaYsgMkDGwXEcJaTU,18014
93
- review_sensei/hosting/github/broker_client.py,sha256=v8_PQe7yF0kXtZOEbXxWcw2xW-Z7COQt9Zi8CTsQkHM,16573
94
- review_sensei/hosting/github/conversation.py,sha256=j0WNXWEcLLjaAHhYkk0WTbLHUXyikDKjhppCaEgImLY,62918
94
+ review_sensei/hosting/github/broker_client.py,sha256=TfA4NNW-I0gvd-Q122xfIY5pHmJp_rzbGYzJEsN77t8,16607
95
+ review_sensei/hosting/github/checks.py,sha256=uf8qD0tE0D0UED2L93V6_91RXAy4uH2iZzKNY7UvmP8,16828
96
+ review_sensei/hosting/github/conversation.py,sha256=Jg-H3xtEg5TpBujA8271IlCfIxpvkG1r54a7PfNTGrc,63578
95
97
  review_sensei/hosting/github/errors.py,sha256=K5Lfsh4uzuAW6tER2l7pcEM4Lz6FwGEmMPxvF1vNc4E,5352
96
98
  review_sensei/hosting/github/fixtures/__init__.py,sha256=2sBygkvppFJ6F8KV1_MDmbBNl7Yd0oPvYOFG6R_NOpA,82
97
99
  review_sensei/hosting/github/fixtures/__pycache__/__init__.cpython-311.pyc,,
@@ -102,18 +104,18 @@ review_sensei/hosting/github/fixtures/released-v4-resolve-trigger-runner-switch.
102
104
  review_sensei/hosting/github/http.py,sha256=6Dz9S-U4M07KehE7FhjNyrBt_XKKz4Dnp6zULMFKHk0,8943
103
105
  review_sensei/hosting/github/jwt.py,sha256=mTakXBxU-GR-hBnIZE-FryfFXwpS9hJ7qb3X7P0FBMo,4582
104
106
  review_sensei/hosting/github/learning_pr.py,sha256=hT7FmmpWCnUO5WCQEmP9XioQiceNALxuJCtcZXAQxSU,112424
105
- review_sensei/hosting/github/observed.py,sha256=evhqzPi5FZTbNrra0b-y6EET_Ul7lCndHENv5WOfpcA,34382
107
+ review_sensei/hosting/github/observed.py,sha256=Sk0J_kfTBS1je6_YI5-HgGE266zv0_JP1CfvaR7X_zY,36461
106
108
  review_sensei/hosting/github/oidc.py,sha256=h3UVcBYQIKy-xQS7Ixv3_fy670mmuBoNKSYurPZWZ60,13310
107
- review_sensei/hosting/github/publication.py,sha256=BAUTjGmMjt5g5LTta2mtDYuh_SeowZ7S1aM9NkuwUL0,95333
109
+ review_sensei/hosting/github/publication.py,sha256=rErCFWjE4alVCBa0nMaMwwJLEAprLItIcDGQMi5yPrI,100396
108
110
  review_sensei/hosting/github/session_ledger.py,sha256=DZgLY-fP1SMjsQh55k7DsEEdEdPh-72uGEezCjePP9s,31131
109
- review_sensei/hosting/github/setup.py,sha256=qsLFRFU7nC57E1mTWEz6frXgwUCe9aWPuvxLugjvi4o,112651
111
+ review_sensei/hosting/github/setup.py,sha256=YNfIxLBdKTS5tv41Z_3bwFogKB_KuJabBQbExaigZmQ,116637
110
112
  review_sensei/hosting/github/trigger.py,sha256=7jwSWoFU5VsJ1XUhhEEgne9-pA6zaHyYJ_BVlMcqlsI,10434
111
113
  review_sensei/hosting/github/webhooks.py,sha256=7hh_YlF7riV6wov7A_27aOb5g6-Ivob1PBWR4m5bF3I,13662
112
114
  review_sensei/hosting/openrouter_workflow.py,sha256=qepVpa12sL6mTaBqTGhcWEaYI8zawcgAYK6sOCRnKtE,1330
113
115
  review_sensei/learnings.py,sha256=AF9Dqyreb9WQLWLZiciuyRXNviSso6sYVTe2xzx1ZfY,21434
114
116
  review_sensei/models.py,sha256=4UmJkRYMJyjGgRd98V11IlGEHmJjnzt0h9zBygLBklg,92368
115
117
  review_sensei/openrouter_qualification.py,sha256=UKUL8oK8oexX1P_othR3y_QAAW0PG2EdAYnWXA-ACZI,30296
116
- review_sensei/outcomes.py,sha256=zYQUKtRU_rUy4yUznlSdX0AZR-gAfZ9MbbvA4pRABus,34051
118
+ review_sensei/outcomes.py,sha256=MdJLil8vgSIaf21vitjbYYu9JTbQGYsAO-QSn5zqCOw,34308
117
119
  review_sensei/patches.py,sha256=P9plsU7-5Z-Jxy8EJBFQX5hX3bcmxBoRJxTnEqA_tbA,15981
118
120
  review_sensei/placement.py,sha256=ABioTJwmS4bhyB1M6IdWqyGOx9j1Ge3CeYSKMk9GXSA,6607
119
121
  review_sensei/planning.py,sha256=kdT5pWKw7MWYnRFa12d46TpR3ugG4u6dis-xgUmqxFs,23516
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reviewsensei/cli-win32-x64",
3
- "version": "0.6.9",
3
+ "version": "0.6.10",
4
4
  "description": "ReviewSensei native CLI for Windows x64",
5
5
  "license": "MIT",
6
6
  "repository": {