ace-overseer 0.21.0 → 0.21.1

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: '082a92945b75309e414e0b5761c7839add6438503a02ca230c9843781e8f7125'
4
- data.tar.gz: 8cd83b89e7720bd7706c48a091d0ca2e28452725621b6774263cb37dfd3993bf
3
+ metadata.gz: 9a94cecc6258f74a611ffb1091359b4a7e2c10709e8a185019929b1a353111ba
4
+ data.tar.gz: 50d41733c822af101ef77dc369f4450d5466df43e04a0894b22864328b94ba70
5
5
  SHA512:
6
- metadata.gz: a29d77171476bd446104545ea467eb83dd2115d40d1036ccc1c279f14488341b8d75d5672fb683bfdc6e4aedb7c9e003c65b783315d70e68ab105b1c65b3b678
7
- data.tar.gz: afd0cf96a084bc83030c2d4acbf627bbb709017838b16f54970139d1f2b167be273a6b3cae23f49fe952fc208b0ba950a0eebb7179bb0ee6814311c38f1fca5e
6
+ metadata.gz: d7b93b7a2444123a261351df666dbbb6ff47b16d1972c5e46230cff1418c87c0982ad7adb7309dac7a1f008348f0593042f32168bec1133557b49cc103ac880c
7
+ data.tar.gz: a48575ea94be30eeb49f8a0244477b47a3c304328ba2cb6ae71ee2b1a4d0b8d3413c846388a648daa3c875165c2b01d6c18e91ec725f8637cbeef85081d69f03
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.21.1] - 2026-10-14
11
+
12
+ ### Changed
13
+
14
+ - Package the coordination-contract role-guide updates in the project-overseer and configure-project workflows: serial preparation and serial integration per delivery candidate, queue-item closure as reconciled merge receipt, release-batch lifecycle with separate publication authority, and overseer-owned close-on-accept for delegated panes and worktabs.
15
+ - Follow the ace-lab 0.6 producer line in the dependency manifest; no code or behavior change (constraint-only correction so the coordinated h8x graph resolves).
16
+
10
17
  ## [0.21.0] - 2026-10-12
11
18
 
12
19
  ### Added
@@ -6,8 +6,8 @@ doc-type: workflow
6
6
  title: Configure Project Delivery Supervision
7
7
  purpose: Resolve and safely adapt project delivery supervision without replacing project policy or duplicating canonical work.
8
8
  ace-docs:
9
- last-updated: '2026-10-11'
10
- last-checked: '2026-10-11'
9
+ last-updated: '2026-10-12'
10
+ last-checked: '2026-10-12'
11
11
  ---
12
12
 
13
13
  # Configure Project Delivery Supervision
@@ -147,6 +147,20 @@ The adaptation may select and specialize supervision behavior, but it does not g
147
147
  permissions, does not publish, and does not exercise merge, deployment, installation,
148
148
  or root authority.
149
149
 
150
+ Executable population rule (Captain lifecycle audit, 2026-10-12): project
151
+ adaptation must POPULATE an executable project-specific delivery template +
152
+ decision guide -- not prose placeholders -- and ACTUAL service/capability
153
+ checks: every configured service or command is verified to exist and run in
154
+ the project runtime (invoke its status/read-only path and record the
155
+ observed result; a configured-but-nonfunctional entry is `BLOCKED` with the
156
+ observed failure, never shipped as if working). Release and publication
157
+ REUSE the existing canonical skills as the execution mechanisms -- `as-release`,
158
+ `as-release-bump-version`, `as-release-rubygems-publish`,
159
+ `as-github-release-publish` -- the adaptation configures and binds them to
160
+ the project; it never duplicates or re-implements them. Workers stay
161
+ prepare-only (PR-ready terminal); publication remains the separately
162
+ authorized overseer step.
163
+
150
164
  ### 5. Verify resolution and repeatability
151
165
 
152
166
  Repeat the complete source inventory after edits:
@@ -160,6 +174,10 @@ Repeat the complete source inventory after edits:
160
174
  writes and no duplicate paths, steps, mappings, registrations, or task references.
161
175
  5. Keep genuine unresolved policy or provisioning as `BLOCKED`; idempotence never
162
176
  turns a blocker into assumed success.
177
+ 6. For every configured service/command or bound release/publication skill,
178
+ execute its read-only/status path once and record the observed result as
179
+ executable evidence; a failed or missing executable is `BLOCKED` with the
180
+ exact failure and responsible owner.
163
181
 
164
182
  ## Required Report
165
183
 
@@ -195,6 +213,10 @@ installation, deployment, or root-operation gates separately from source adaptat
195
213
  - The report names every concrete change and every unresolved blocker with its owner
196
214
  and evidence; it claims no permission, publication, deployment, installation, or
197
215
  host-owned root effect.
216
+ - The adapted delivery template and decision guide are executable (real steps,
217
+ bound release/publication skills, verified service/command checks) -- every
218
+ configured service or command has recorded observed-run evidence, and no
219
+ release/publication skill is duplicated or re-implemented.
198
220
 
199
221
  ## Error Handling
200
222
 
@@ -5,8 +5,8 @@ doc-type: workflow
5
5
  title: Coordinate Project Work
6
6
  purpose: Canonical project-overseer role charter for scoped ACE orchestration.
7
7
  ace-docs:
8
- last-updated: '2026-10-07'
9
- last-checked: '2026-10-07'
8
+ last-updated: '2026-10-14'
9
+ last-checked: '2026-10-14'
10
10
  ---
11
11
  # Coordinate Project Work
12
12
 
@@ -50,6 +50,14 @@ the actual selected project. Do not treat remembered status as current evidence.
50
50
  effects. After a lost reply, inspect those identities without repeating the
51
51
  launch. Automatic selection advances only after attributable zero-effect
52
52
  refusal before registration; explicit mapping selection never substitutes.
53
+ Launch defaults (Captain, 2026-10-12): workers run Pi `zai/glm-5.3-flash:high`;
54
+ independent reviewers run Pi `zai/glm-5.3:high` under their own separate agent
55
+ identity. Codex or any other harness is NOT a default or silent fallback and
56
+ requires an explicit Captain exception. Selection precedence: Captain policy
57
+ defaults > project launch overrides > explicit Captain exception. Every
58
+ dispatch receipt records the ACTUAL harness, provider/model (incl. thinking
59
+ level) and agent/pane/session; a documented default without a matching actual
60
+ launch violates this policy.
53
61
  3. Keep conversation available while delegates work. On each wake, inspect the
54
62
  task queue, canonical execution evidence and scoped HITL proposal/callback
55
63
  state. Report unavailable observations and deferred resolution explicitly;
@@ -77,6 +85,70 @@ the actual selected project. Do not treat remembered status as current evidence.
77
85
  scope, missing evidence and requested decision. Preserve failed callbacks;
78
86
  unavailable delivery is not a policy refusal or successful handoff.
79
87
 
88
+ ## Integration Coordination Contract
89
+
90
+ Every integration invocation — native integrate command, service call or
91
+ assignment integration step — resolves FRESH repository, PR, candidate exact
92
+ head, target base/head, review/test evidence, dependencies and the authorized
93
+ executor before any mutation, and rechecks target/head immediately before the
94
+ mutation. A detected race invalidates eligibility for that invocation.
95
+
96
+ If the target (current main) is NOT an ancestor of the candidate head, the
97
+ integration MUST NOT merge and MUST NOT silently rewrite: it returns an
98
+ actionable typed `needs-rebase` outcome to the queue owner. The queue owner
99
+ then delegates `wfi://git/rebase` (as-git-rebase, including CHANGELOG
100
+ preservation) in the candidate's ISOLATED worktree, obtains new exact-head
101
+ checks and an independent review of the resulting exact head, updates the PR,
102
+ verifies remote candidate identity and resubmits. A common old base does NOT
103
+ make sibling heads sequentially fast-forwardable.
104
+
105
+ The low-level privileged integrator ENFORCES gates and returns typed outcomes
106
+ (`merged` / `needs-rebase` / `blocked` / `uncertain`); it never authors,
107
+ rebases or reviews its own candidate. Relay alone is not execution — the queue
108
+ owner monitors until receipt and continuation. An `uncertain` outcome triggers
109
+ reconciliation against the original durable reference, never blind retry.
110
+
111
+ The project overseer continuously owns and watches the integration queue.
112
+ States `ready` / `needs-rebase` / `reviewing` / `integrating` / `merged` /
113
+ `blocked` / `uncertain` reconcile against actual forge/process receipts; a
114
+ persisted queue adopts on restart without duplicate execution; worker PR-ready
115
+ remains distinct from delivery done. Use the existing goal/wake/watch
116
+ primitives — no new heartbeat service or alternate scheduler.
117
+
118
+ Integration is serial in PREPARATION as well as in effect — not merely a
119
+ serial merge. The accepted receipt for one candidate causes preparation of
120
+ ONLY the next selected candidate — never a mass rebase of the remaining
121
+ queue. Each candidate, on its turn, runs the full cycle: resolve fresh
122
+ target main; delegate `wfi://git/rebase` in that candidate's isolated
123
+ worktree IF the target moved; run the applicable checks; obtain an
124
+ INDEPENDENT EXPLICIT review of the resulting exact head (patch identity may
125
+ support a short delta review but never substitutes the explicit independent
126
+ head approval); verify the remote PR head/base; issue ONE scoped integrator
127
+ request; wait/reconcile the actual integration receipt; refresh main; then
128
+ select and prepare ONLY the next candidate. Queued later PRs keep their
129
+ existing branches and heads untouched until their turn, and prior batch work
130
+ is never rolled back or reset.
131
+
132
+ Pane and worktab lifecycle is OVERSEER-OWNED cleanup duty — not user or host
133
+ babysitting: the project overseer cleans up its own worker/reviewer panes and
134
+ worktabs as a lifecycle duty; the Lab coordinator owns only its own
135
+ coordination panes/routes. CLOSE-ON-ACCEPT: close an accepted work pane — and
136
+ close the tab when that was its last pane; keep at most 4 panes per tab; and
137
+ never hold an idle tab merely reserved for pending work. The closure gate
138
+ binds to identity and ACTUAL state, never to visual idleness: reconcile the
139
+ exact pane/session/assignment/attempt identity and the actual process state;
140
+ close only after the result is ACCEPTED and the work/evidence is durably
141
+ preserved; never close an active or uncertain attempt merely because it looks
142
+ idle. Review-completed MAY allow pane closure while the PR still waits for
143
+ merge — the review record persists; WORKTREE cleanup is SEPARATE and happens
144
+ only when the preservation/delivery criteria are met. Each wake and restart
145
+ runs a BOUNDED reconcile pass that reports orphan/stale pane/session IDs — it
146
+ never blind-closes.
147
+
148
+ Hard prohibitions: never push directly to main; never switch the canonical
149
+ checkout to a topic branch; never reuse a stale review as approval for a
150
+ different or moved head.
151
+
80
152
  ## Shared Decision and Responsiveness Contract
81
153
 
82
154
  Confirmed Hermes delivery starts the sixteen-hour proposal window. Only the
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module Overseer
5
- VERSION = "0.21.0"
5
+ VERSION = "0.21.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-overseer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.0
4
+ version: 0.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-10-12 00:00:00.000000000 Z
10
+ date: 2026-10-14 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-support-cli
@@ -169,14 +169,14 @@ dependencies:
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: 0.5.1
172
+ version: '0.6'
173
173
  type: :runtime
174
174
  prerelease: false
175
175
  version_requirements: !ruby/object:Gem::Requirement
176
176
  requirements:
177
177
  - - "~>"
178
178
  - !ruby/object:Gem::Version
179
- version: 0.5.1
179
+ version: '0.6'
180
180
  - !ruby/object:Gem::Dependency
181
181
  name: ace-review
182
182
  requirement: !ruby/object:Gem::Requirement