@reviewsensei/cli-linux-x64-gnu 0.6.9 → 0.6.11

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.11
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.11 --version
140
+ npx --yes @reviewsensei/cli@0.6.11 --help
141
141
  ```
142
142
 
143
143
  The launcher selects one of the five native packages (macOS arm64/x64,
@@ -646,8 +646,9 @@ operator-managed `v5` public git tag. The reusable workflow prefers the
646
646
  requested exact package from PyPI and falls back to its executing workflow
647
647
  commit only when that package/version is unavailable. Unrelated PyPI
648
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
649
+ manages 3 generated files: the caller, the uninstall workflow, and the root
650
+ `.reviewsensei.yml` that lists every packaged default and belongs to the
651
+ operator from the first install on. The
651
652
  only two optional Actions overrides the product consumes are
652
653
  `REVIEWSENSEI_PROVIDER` (`inference.backend`) and `REVIEWSENSEI_MODEL`
653
654
  (`inference.model`); the reusable workflow maps them once from the trusted
@@ -670,21 +671,33 @@ item only when the transport reports an oversized response. The 512 KiB
670
671
  transport ceiling remains unchanged. Fork pull requests fail closed before
671
672
  provider or broker access.
672
673
 
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.
674
+ When automatic review and GitHub writes are enabled, automatic approval is on by
675
+ default; `github.reviews: blocking` (publish and enforce, never automatically
676
+ approve) or `github.reviews: advisory` (no ReviewSensei merge gate and no
677
+ approval) in `.reviewsensei.yml` selects another policy.
678
+ ReviewSensei publishes one exact-head `COMMENT` review with its summary and
679
+ valid inline findings, and enforces through one stable `ReviewSensei` check run
680
+ bound to that head and to the App that produced it: `success` for a complete
681
+ review with no required fixes, `failure` when required fixes remain, and
682
+ `action_required` for a partial, incomplete, or unpublished review. An earlier
683
+ conclusion on the same head is superseded by a pending `in_progress` write, so
684
+ a finished review cannot stand in for one that is still running. No persistent
685
+ `REQUEST_CHANGES` is emitted as a second gate. A repository administrator must
686
+ mark `ReviewSensei` required for it to gate merges; `review-sensei doctor`
687
+ reports the check identity and producing App, and nothing reads or changes
688
+ branch protection.
689
+
690
+ The same mode also runs one shared, idempotent approval finalizer. It emits
691
+ `APPROVE` for an eligible exact head whose review is complete and qualified and
692
+ whose bounded thread sweep finds no unresolved blocking ReviewSensei root.
693
+ Unresolved non-blocking ReviewSensei findings and human threads do not withhold
694
+ approval. An unclassified ReviewSensei root, malformed or incomplete thread
695
+ data, an unverified configuration, or a draft/closed/fork/stale/App-authored PR
696
+ fails closed or reports why approval was withheld. The finalizer runs after
697
+ review publication and after the AI resolves a blocking ReviewSensei thread;
698
+ `@sensei` replies themselves remain ordinary comments. Existing approval markers
699
+ prevent duplicate approvals, and ReviewSensei never calls a merge endpoint or
700
+ enables auto-merge.
688
701
 
689
702
  The approval policy is deliberately conservative: explicit blocking metadata,
690
703
  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.11",
4
4
  "description": "ReviewSensei native CLI for glibc Linux x64",
5
5
  "license": "MIT",
6
6
  "repository": {