ace-coworker 0.6.1 → 0.6.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6901776c6bcef11b2bfb48ddaeb2377dd830f352d01c79bddc59254a4f799849
4
- data.tar.gz: 604583cbbb6eab225faccd01025cc5efdce6cad789bc7faca87091713cdf7a7b
3
+ metadata.gz: 7420999db530cb82bcb5ec29ec372684ec0f60561b84c230a8e5bb3ac0200843
4
+ data.tar.gz: 7acd12950816f9ec0d9f034ff7f68e7667c5c9eeac94989f8dbd4238a7290c6c
5
5
  SHA512:
6
- metadata.gz: be41301547584600fba77e414d603bed84caa025bdae72601644bbbd6b62569167ed72cb20da61ecb45c8c6deeefcb5367beb11f5914f1e3471f2180d847bea6
7
- data.tar.gz: 8e29e8818c437ae80ffd3de61976dafe166db7c215d47003176e3e5ae43ea995d4db969aa8e7168be44c8207db3a93a41e1052760d9b6be6f6a49eed184dbfa4
6
+ metadata.gz: b602e3377b4396d3e990fdfb5c3f79cb42b0b82522460039199866afee03e59dfd4cbb41d4069e4a128bfe88aec7b78648985c48ef561095d912f97d77452378
7
+ data.tar.gz: f3aa2e8c21ee006eb2b83326c33deb24f94a39318b509c264dba26ed3520c636981c8ad9e0df5198ef643db51d201d2ac10f4358cabc6432d1fde62d17281da2
data/CHANGELOG.md CHANGED
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.6.2] - 2026-10-23
11
+
12
+ ### Added
13
+
14
+ - Formal reviewer-owned, exact-head provider approval and read-only approval verification through the forge-neutral review flow; comments do not substitute for approval.
15
+
16
+
10
17
  ## [0.6.1] - 2026-10-20
11
18
 
12
19
  ### Fixed
data/docs/usage.md CHANGED
@@ -562,3 +562,14 @@ would-be outcome.
562
562
  - Reporting via `ace-hitl` and resume-after-interruption ship with
563
563
  `ace-coworker` 0.4.0+; role presets resolve their `wfi://` instruction
564
564
  sources through `ace-nav` (runtime dependency since 0.5.0).
565
+
566
+
567
+ For commissioned PR work the reviewer publishes formal approval only after the
568
+ accepted review-round verdict and executed tests, using `ace-git pr approve`.
569
+ Its receipt stays with the existing report. The integrator verifies that receipt
570
+ against read-only `ace-git pr approval` and the current candidate before the
571
+ existing integration gate. A comment, local verdict or draft-ready transition
572
+ does not substitute for provider approval. Accounts and credentials come from
573
+ deployment, independently of the role preset; no identity switching or token
574
+ borrowing is performed by coworker. Missing permission or uncertain publication
575
+ blocks successful integration handoff.
@@ -93,7 +93,21 @@ the exact candidate head. Otherwise WITHHOLD the merge and report/escalate.
93
93
  invalidates the review: the gate reports a stale review even when the
94
94
  verdict says accept.
95
95
 
96
- 4. **Merge only a ready candidate.**
96
+ 4. **Consume formal approval, then merge only a ready candidate.**
97
+ - For PR integration, read the reviewer's receipt from the existing report
98
+ and verify current provider evidence without minting another approval:
99
+ `ace-git pr approval PR --expected-head SHA --review-id REVIEW_ID
100
+ --server SERVER --format json` (or the retained `--default-server`). Here
101
+ REVIEW_ID is the numeric provider review ID, not the publication correlation.
102
+ - Require effective `approved` evidence and compare repository, PR, full head,
103
+ reviewer identity, correlation and evidence SHA256 with the accepted
104
+ reviewer report/receipt. The authenticated reviewer must differ from the
105
+ PR author. A stale/dismissed/nonofficial review, comment, unavailable
106
+ evidence or missing account permissions withholds integration. Return to
107
+ the reviewer/overseer; do not issue approval on the reviewer's behalf,
108
+ copy their token or bypass branch protection. This read does not replace
109
+ the dependency/test/current-head gate or authorize a merge by itself.
110
+
97
111
  - Verdict `ready`: perform the project-defined integration with the
98
112
  existing tools (`git` / `ace-git`, scoped to the commissioned paths;
99
113
  never force-push; fetch first and resolve conflicts explicitly).
@@ -162,7 +162,27 @@ product decision is escalated to the overseer instead.
162
162
  outcome from the ace-assign verdict and refuses a forced success on an
163
163
  incomplete assignment - the tool floor, not a courtesy.
164
164
 
165
- 8. **Record and hand off.**
165
+ 8. **Publish formal approval, then hand off.**
166
+ - For a commissioned PR review, only AFTER the review-round verdict is
167
+ `accept`, required executed tests pass, and the accepted report binds the
168
+ current full head, publish through the configured reviewer account:
169
+ `ace-git pr approve PR --expected-head SHA --body-file REVIEW_REPORT
170
+ --correlation REVIEW_ID --server SERVER --format json` (or the retained
171
+ `--default-server` selection). Keep the report and returned receipt in the
172
+ existing task/review/assignment artifacts. Use one stable REVIEW_ID for
173
+ this repository/PR publication; changed report/head needs a new publication.
174
+ - A comment, local acceptance or `pr ready` is not formal approval. Confirm
175
+ the receipt's exact repo/PR/head/reviewer/evidence digest and effective
176
+ approval. Missing permission, unsupported capability or unknown outcome
177
+ blocks successful integration handoff; report the concrete cause via the
178
+ existing HITL/report path. Resume by reconciling the same publication,
179
+ never blindly repeating a POST or switching credentials.
180
+ - Reviewer purpose and provider permissions are independent: deployment
181
+ selects the OS/provider identity. Never borrow worker/admin credentials;
182
+ the PR author cannot approve their own PR. Local-only reviews have no
183
+ remote approval to publish and must not claim one.
184
+
185
+ 8a. **Record and hand off.**
166
186
  - `ace-coworker report` writes the durable record
167
187
  (`<task>/coworker/<assignment>.md`) and delivers the HITL report.
168
188
  - The final report names: the exact candidate head, executed checks,
@@ -209,3 +229,12 @@ and reported. Anything less is an error outcome with the cause named.
209
229
  `.ace-local/review/` to ace-review, `.ace-local/hitl/` to ace-hitl.
210
230
  - Inside the ACE repository itself, invoke every tool as `bin/ace-*` (the
211
231
  binstubs pin the checkout's bundle).
232
+
233
+
234
+ Deployment must provide a dedicated automation reviewer identity and one writer
235
+ per actor/repository/PR before formal publication. Missing evidence of that
236
+ mapping/ownership blocks live use; a role name grants no account permission.
237
+ Do not share that identity with manual clients or another host writer. Preserve
238
+ and report unrelated pending reviews/comments instead of publishing over them.
239
+ Resume only when the provider's path preserves the accepted commit/content;
240
+ unsafe or unsupported pending recovery remains blocked with retained evidence.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module Coworker
5
- VERSION = "0.6.1"
5
+ VERSION = "0.6.2"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-coworker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-10-20 00:00:00.000000000 Z
10
+ date: 2026-10-23 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-support-cli
@@ -159,14 +159,14 @@ dependencies:
159
159
  requirements:
160
160
  - - "~>"
161
161
  - !ruby/object:Gem::Version
162
- version: '0.62'
162
+ version: 0.62.2
163
163
  type: :runtime
164
164
  prerelease: false
165
165
  version_requirements: !ruby/object:Gem::Requirement
166
166
  requirements:
167
167
  - - "~>"
168
168
  - !ruby/object:Gem::Version
169
- version: '0.62'
169
+ version: 0.62.2
170
170
  - !ruby/object:Gem::Dependency
171
171
  name: ace-support-test-helpers
172
172
  requirement: !ruby/object:Gem::Requirement