@reviewsensei/cli-linux-x64-gnu 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,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.
@@ -77,6 +77,7 @@ docs/adr/0054-observed-convergence-acceptance-evidence.md
77
77
  docs/adr/0055-merge-focused-default-and-legacy-retirement.md
78
78
  docs/adr/0056-host-fact-placement-and-honest-approval-presentation.md
79
79
  docs/adr/0056-remove-pr-wide-review-count-caps.md
80
+ docs/adr/0057-one-check-run-as-the-single-merge-authority.md
80
81
  docs/adr/README.md
81
82
  docs/architecture/index.md
82
83
  docs/process/adr-process.md
@@ -180,6 +181,7 @@ src/review_sensei/hosting/github/approval.py
180
181
  src/review_sensei/hosting/github/auth.py
181
182
  src/review_sensei/hosting/github/broker.py
182
183
  src/review_sensei/hosting/github/broker_client.py
184
+ src/review_sensei/hosting/github/checks.py
183
185
  src/review_sensei/hosting/github/conversation.py
184
186
  src/review_sensei/hosting/github/errors.py
185
187
  src/review_sensei/hosting/github/http.py
package/bin/review-sensei CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reviewsensei/cli-linux-x64-gnu",
3
- "version": "0.6.9",
3
+ "version": "0.6.10",
4
4
  "description": "ReviewSensei native CLI for glibc Linux x64",
5
5
  "license": "MIT",
6
6
  "repository": {