ace-overseer 0.20.2 → 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 +4 -4
- data/.ace-defaults/nav/protocols/skill-sources/ace-overseer.yml +0 -0
- data/CHANGELOG.md +13 -0
- data/LICENSE +0 -0
- data/Rakefile +0 -0
- data/docs/demo/ace-overseer-getting-started.gif +0 -0
- data/docs/demo/ace-overseer-getting-started.tape.yml +0 -0
- data/docs/demo/fixtures/README.md +0 -0
- data/docs/demo/fixtures/sample.txt +0 -0
- data/docs/getting-started.md +0 -0
- data/docs/handbook.md +12 -0
- data/handbook/skills/as-overseer/SKILL.md +0 -0
- data/handbook/skills/as-overseer-configure-project/SKILL.md +32 -0
- data/handbook/workflow-instructions/overseer/configure-project.wf.md +233 -0
- data/handbook/workflow-instructions/roles/project-overseer.wf.md +74 -2
- data/lib/ace/overseer/atoms/preset_resolver.rb +0 -0
- data/lib/ace/overseer/atoms/repo_guard.rb +0 -0
- data/lib/ace/overseer/models/work_context.rb +0 -0
- data/lib/ace/overseer/molecules/assignment_launcher.rb +0 -0
- data/lib/ace/overseer/molecules/worktree_provisioner.rb +0 -0
- data/lib/ace/overseer/organisms/status_collector.rb +0 -0
- data/lib/ace/overseer/version.rb +1 -1
- metadata +8 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9a94cecc6258f74a611ffb1091359b4a7e2c10709e8a185019929b1a353111ba
|
|
4
|
+
data.tar.gz: 50d41733c822af101ef77dc369f4450d5466df43e04a0894b22864328b94ba70
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d7b93b7a2444123a261351df666dbbb6ff47b16d1972c5e46230cff1418c87c0982ad7adb7309dac7a1f008348f0593042f32168bec1133557b49cc103ac880c
|
|
7
|
+
data.tar.gz: a48575ea94be30eeb49f8a0244477b47a3c304328ba2cb6ae71ee2b1a4d0b8d3413c846388a648daa3c875165c2b01d6c18e91ec725f8637cbeef85081d69f03
|
|
File without changes
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,19 @@ 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
|
+
|
|
17
|
+
## [0.21.0] - 2026-10-12
|
|
18
|
+
|
|
19
|
+
### Added
|
|
20
|
+
|
|
21
|
+
- Add the `as-overseer-configure-project` skill and packaged `wfi://overseer/configure-project` workflow for idempotent, customization-preserving delivery supervision adaptation.
|
|
22
|
+
|
|
10
23
|
## [0.20.2] - 2026-10-10
|
|
11
24
|
|
|
12
25
|
### Fixed
|
data/LICENSE
CHANGED
|
File without changes
|
data/Rakefile
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/docs/getting-started.md
CHANGED
|
File without changes
|
data/docs/handbook.md
CHANGED
|
@@ -17,6 +17,12 @@ ace-docs:
|
|
|
17
17
|
- Purpose: orchestrate task worktrees through `work-on`, `status`, and `prune`
|
|
18
18
|
- Execution model: workflow-backed skill invoking `wfi://overseer`
|
|
19
19
|
|
|
20
|
+
### `as-overseer-configure-project`
|
|
21
|
+
|
|
22
|
+
- Path: `handbook/skills/as-overseer-configure-project/SKILL.md`
|
|
23
|
+
- Purpose: adapt delivery supervision to project-owned presets, workflows, and decision policy without destructive overwrite
|
|
24
|
+
- Execution model: workflow-backed skill invoking `wfi://overseer/configure-project`
|
|
25
|
+
|
|
20
26
|
## Workflows
|
|
21
27
|
|
|
22
28
|
### `wfi://overseer`
|
|
@@ -25,6 +31,12 @@ ace-docs:
|
|
|
25
31
|
- Purpose: canonical workflow for working on tasks, checking active worktrees, and safe cleanup
|
|
26
32
|
- Core sequence: 1) run `ace-overseer work-on --task ...`; 2) inspect state with `ace-overseer status`; 3) preview cleanup with `ace-overseer prune --dry-run`, then confirm with `--yes`.
|
|
27
33
|
|
|
34
|
+
### `wfi://overseer/configure-project`
|
|
35
|
+
|
|
36
|
+
- Path: `handbook/workflow-instructions/overseer/configure-project.wf.md`
|
|
37
|
+
- Purpose: resolve and review effective delivery presets, workflows, and decision guides, then apply repeatable project-local adaptation while preserving customization
|
|
38
|
+
- Output: per-asset `CREATED`, `UPDATED`, `KEPT`, or `BLOCKED` evidence plus a repeat-run zero-write check
|
|
39
|
+
|
|
28
40
|
## Related Documentation
|
|
29
41
|
|
|
30
42
|
- [Getting Started](getting-started.md)
|
|
File without changes
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: as-overseer-configure-project
|
|
3
|
+
description: Adapt project delivery supervision presets, workflows, and decision guidance without replacing local policy
|
|
4
|
+
# bundle: wfi://overseer/configure-project
|
|
5
|
+
# agent: general-purpose
|
|
6
|
+
user-invocable: true
|
|
7
|
+
allowed-tools:
|
|
8
|
+
- Bash(ace-nav:*)
|
|
9
|
+
- Bash(ace-bundle:*)
|
|
10
|
+
- Read
|
|
11
|
+
- Write
|
|
12
|
+
- Edit
|
|
13
|
+
- Glob
|
|
14
|
+
argument-hint: "[project-root]"
|
|
15
|
+
last_modified: "2026-10-11"
|
|
16
|
+
source: ace-overseer
|
|
17
|
+
integration:
|
|
18
|
+
targets:
|
|
19
|
+
- claude
|
|
20
|
+
- codex
|
|
21
|
+
- gemini
|
|
22
|
+
- opencode
|
|
23
|
+
- pi
|
|
24
|
+
providers: {}
|
|
25
|
+
skill:
|
|
26
|
+
kind: workflow
|
|
27
|
+
execution:
|
|
28
|
+
workflow: wfi://overseer/configure-project
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
Load and run `ace-bundle wfi://overseer/configure-project` in the target project, then follow the loaded workflow as the source of truth and execute it end-to-end instead of only summarizing it.
|
|
32
|
+
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: overseer-configure-project
|
|
3
|
+
description: Adapt delivery supervision to a project's existing presets, workflows, and decision policy
|
|
4
|
+
allowed-tools: Bash, Read, Write, Edit, Glob
|
|
5
|
+
doc-type: workflow
|
|
6
|
+
title: Configure Project Delivery Supervision
|
|
7
|
+
purpose: Resolve and safely adapt project delivery supervision without replacing project policy or duplicating canonical work.
|
|
8
|
+
ace-docs:
|
|
9
|
+
last-updated: '2026-10-12'
|
|
10
|
+
last-checked: '2026-10-12'
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Configure Project Delivery Supervision
|
|
14
|
+
|
|
15
|
+
## Goal
|
|
16
|
+
|
|
17
|
+
Make the four ACE delivery-supervision presets usable under the target project's
|
|
18
|
+
own workflow and decision policy while preserving existing customization and
|
|
19
|
+
producing an idempotent, attributable change report.
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
- Run from the target project root and identify that root explicitly before any write.
|
|
24
|
+
- Use the installed `ace-nav`, `ace-bundle`, and `ace-assign` package set that the
|
|
25
|
+
project will actually run; source-checkout resolution is not installed-runtime proof.
|
|
26
|
+
- Have reviewed project policy for dependency ordering, integration groups, release
|
|
27
|
+
cuts, demo/production delivery, evidence freshness, and authority ownership.
|
|
28
|
+
- Treat missing policy, authority, transport, or a durable result path as a blocker.
|
|
29
|
+
This workflow does not grant permissions and does not publish, merge, deploy, or
|
|
30
|
+
perform host-owned root operations.
|
|
31
|
+
|
|
32
|
+
## Project Context Loading
|
|
33
|
+
|
|
34
|
+
Read existing project-owned sources before proposing a change:
|
|
35
|
+
|
|
36
|
+
- `.ace/assign/presets/` for project-local preset overrides.
|
|
37
|
+
- `.ace/overseer/config.yml` and other existing `.ace/overseer/` configuration.
|
|
38
|
+
- `.ace-handbook/workflow-instructions/` for project workflows.
|
|
39
|
+
- `.ace-handbook/guides/` and registered project guide sources for decision guides.
|
|
40
|
+
- Current task, Assign, review, release, and delivery records that already own work.
|
|
41
|
+
- Repository guidance such as `AGENTS.md`, architecture decisions, and delivery docs.
|
|
42
|
+
|
|
43
|
+
Resolve rather than infer protocol ownership. Run `ace-nav explain <URI>` followed by
|
|
44
|
+
`ace-nav resolve <URI>` for every applicable `wfi://` workflow and for
|
|
45
|
+
`guide://delivery-supervision`. Load resolved workflow content with `ace-bundle <URI>`.
|
|
46
|
+
If the expected project decision guide uses another registered URI, record that URI
|
|
47
|
+
and use it consistently instead of creating an alias or duplicate guide.
|
|
48
|
+
|
|
49
|
+
## High-Level Execution Plan
|
|
50
|
+
|
|
51
|
+
1. Inventory the effective package defaults and all project-owned overrides.
|
|
52
|
+
2. Review the resolved assets against the supervision invariants below.
|
|
53
|
+
3. Plan the smallest path-keyed set of project-local changes.
|
|
54
|
+
4. Apply only justified additions or surgical updates while preserving local policy.
|
|
55
|
+
5. Resolve everything again, repeat the inventory, and report exact outcomes.
|
|
56
|
+
|
|
57
|
+
## Process Steps
|
|
58
|
+
|
|
59
|
+
### 1. Establish the effective source inventory
|
|
60
|
+
|
|
61
|
+
For each baseline preset, resolve the same project-first ownership used by ACE:
|
|
62
|
+
|
|
63
|
+
- `supervise-delivery`
|
|
64
|
+
- `integrate-batch`
|
|
65
|
+
- `deliver-release`
|
|
66
|
+
- `close-delivery`
|
|
67
|
+
|
|
68
|
+
An existing `.ace/assign/presets/<name>.yml` is the effective project-local preset.
|
|
69
|
+
Otherwise use the installed `ace-assign` gem's
|
|
70
|
+
`.ace-defaults/assign/presets/<name>.yml`. Use `gem contents ace-assign` when an
|
|
71
|
+
installed package path is needed. Do not create a project copy merely to select the
|
|
72
|
+
unchanged package default.
|
|
73
|
+
|
|
74
|
+
Inventory applicable project workflows by exact `wfi://` URI and decision guides by
|
|
75
|
+
exact `guide://` URI. For every resolved item record its URI or preset name, resolved
|
|
76
|
+
path, owning source, and content digest. Record unresolved items as blockers rather
|
|
77
|
+
than silently substituting a remembered or similarly named file.
|
|
78
|
+
|
|
79
|
+
Before making task-related recommendations, reconcile existing implementation and
|
|
80
|
+
delivery tasks. Do not create or duplicate tasks. Delivery records reference producer
|
|
81
|
+
tasks; they never reparent, reopen, or clone producer work.
|
|
82
|
+
|
|
83
|
+
### 2. Review the effective supervision contract
|
|
84
|
+
|
|
85
|
+
Review project-local preset overrides, resolved workflows, and decision guides as one
|
|
86
|
+
contract. Preserve stronger project requirements. Require these minimum invariants:
|
|
87
|
+
|
|
88
|
+
- Worker and implementation-parent terminal behavior remains PR-ready; delivery stays
|
|
89
|
+
a separate explicit decision scope.
|
|
90
|
+
- One canonical Assign tree and attempt/evidence ledger owns state. No second queue,
|
|
91
|
+
journal, daemon, timer, or fabricated runtime context is introduced.
|
|
92
|
+
- Integration decisions record the ordered eligible set, selected entry, every
|
|
93
|
+
deferred entry with reason, actor, timestamp, evidence references, and policy/plan
|
|
94
|
+
revision. Completion order is never integration order.
|
|
95
|
+
- Dependency, candidate head, target head, evidence, authority, or transport movement
|
|
96
|
+
triggers a fresh decision. A moved candidate receives fresh relevant tests and an
|
|
97
|
+
independent review bound to its new exact head.
|
|
98
|
+
- `WAIT(reference, next-check)` requires an existing durable operation reference and
|
|
99
|
+
exact reconciliation path. Missing provision is `BLOCKED(provision, owner)`.
|
|
100
|
+
Uncertain effects are reconciled through the original operation and never replayed
|
|
101
|
+
blindly.
|
|
102
|
+
- Release preparation binds the exact accepted source set, package versions, and
|
|
103
|
+
artifact digests. Later merges cannot enter an accepted cut silently. Publication
|
|
104
|
+
remains a separate-authority placeholder.
|
|
105
|
+
- Closure preserves evidence and work, positively proves no surviving writers, keeps
|
|
106
|
+
producer references and delivery tags discoverable, and closes only accepted scope.
|
|
107
|
+
Host-owned root effects remain referenced external operations.
|
|
108
|
+
|
|
109
|
+
If a project decision is absent, do not invent it. Report the precise missing policy,
|
|
110
|
+
the owner needed to decide it, and the assets that remain usable without that choice.
|
|
111
|
+
|
|
112
|
+
### 3. Build an idempotent change plan
|
|
113
|
+
|
|
114
|
+
Key every proposed mutation by one target path per logical override. Classify each
|
|
115
|
+
inventory item before editing:
|
|
116
|
+
|
|
117
|
+
- `KEPT`: the effective default or customization already satisfies the contract.
|
|
118
|
+
- `CREATED`: no project asset exists and authoritative project policy requires a new
|
|
119
|
+
project-local override.
|
|
120
|
+
- `UPDATED`: an existing project asset needs a minimal, reviewed change.
|
|
121
|
+
- `BLOCKED`: policy, provenance, ownership, authority, or safe merge information is
|
|
122
|
+
missing.
|
|
123
|
+
|
|
124
|
+
Never overwrite an existing project customization with a packaged baseline. Preserve
|
|
125
|
+
unknown keys, comments, project-only steps, stronger gates, and established URIs.
|
|
126
|
+
Patch only the necessary fields. If two files claim the same logical override, stop
|
|
127
|
+
and report the collision instead of choosing one or creating a third.
|
|
128
|
+
|
|
129
|
+
Before every write, retain the path and before digest. If the desired bytes are
|
|
130
|
+
byte-identical, make the operation a no-op. Never append duplicate steps, mappings,
|
|
131
|
+
source registrations, task references, or configuration entries. A second execution
|
|
132
|
+
with unchanged inputs must plan zero writes.
|
|
133
|
+
|
|
134
|
+
### 4. Apply safe project-local adaptation
|
|
135
|
+
|
|
136
|
+
Create a project-local preset, workflow, or decision guide only when the project's
|
|
137
|
+
reviewed policy differs from the packaged contract or supplies policy that cannot be
|
|
138
|
+
generic. Use the project's existing registered locations and naming conventions.
|
|
139
|
+
Never edit an installed gem in place.
|
|
140
|
+
|
|
141
|
+
When updating YAML or Markdown, preserve unrelated content and ordering wherever
|
|
142
|
+
possible. Re-read the complete file immediately after the write. Record the after
|
|
143
|
+
digest and a concise semantic delta. If safe preservation is not possible, leave the
|
|
144
|
+
file unchanged and classify it `BLOCKED` with the collision or ownership reason.
|
|
145
|
+
|
|
146
|
+
The adaptation may select and specialize supervision behavior, but it does not grant
|
|
147
|
+
permissions, does not publish, and does not exercise merge, deployment, installation,
|
|
148
|
+
or root authority.
|
|
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
|
+
|
|
164
|
+
### 5. Verify resolution and repeatability
|
|
165
|
+
|
|
166
|
+
Repeat the complete source inventory after edits:
|
|
167
|
+
|
|
168
|
+
1. Run `ace-nav explain` and `ace-nav resolve` for every selected `wfi://` and
|
|
169
|
+
`guide://` URI.
|
|
170
|
+
2. Load every selected workflow with `ace-bundle` and verify it came from the intended
|
|
171
|
+
owner.
|
|
172
|
+
3. Re-read all four effective presets and confirm the invariant review still passes.
|
|
173
|
+
4. Re-run the change-plan calculation from current bytes. It must report zero planned
|
|
174
|
+
writes and no duplicate paths, steps, mappings, registrations, or task references.
|
|
175
|
+
5. Keep genuine unresolved policy or provisioning as `BLOCKED`; idempotence never
|
|
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.
|
|
181
|
+
|
|
182
|
+
## Required Report
|
|
183
|
+
|
|
184
|
+
Return one report with these fields for every inspected or changed asset:
|
|
185
|
+
|
|
186
|
+
```text
|
|
187
|
+
STATUS: CREATED | UPDATED | KEPT | BLOCKED
|
|
188
|
+
KIND: preset | workflow | decision-guide | configuration
|
|
189
|
+
IDENTITY: exact preset name, protocol URI, or configuration key
|
|
190
|
+
OWNER: package default or project-owned source
|
|
191
|
+
PATH: resolved or intended path
|
|
192
|
+
BEFORE: before digest, MISSING, or UNRESOLVED
|
|
193
|
+
AFTER: after digest, UNCHANGED, or NOT-WRITTEN
|
|
194
|
+
CHANGE: concrete semantic change or reason it was kept
|
|
195
|
+
EVIDENCE: resolution and review references
|
|
196
|
+
BLOCKER: missing policy/provision and responsible owner, or NONE
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Finish with counts for `CREATED`, `UPDATED`, `KEPT`, and `BLOCKED`, followed by the
|
|
200
|
+
repeat-run planned-write count. List any remaining authority, transport, publication,
|
|
201
|
+
installation, deployment, or root-operation gates separately from source adaptation.
|
|
202
|
+
|
|
203
|
+
## Success Criteria
|
|
204
|
+
|
|
205
|
+
- All four delivery presets resolve from either an intentional project override or the
|
|
206
|
+
installed package default and pass the supervision-invariant review.
|
|
207
|
+
- Applicable workflows and the project delivery decision guide resolve through their
|
|
208
|
+
registered protocol sources with intended ownership.
|
|
209
|
+
- Existing project customization and unknown fields remain intact; no file is
|
|
210
|
+
destructively replaced by a generic baseline.
|
|
211
|
+
- The repeated run produces no duplicate task, step, mapping, source registration,
|
|
212
|
+
configuration entry, or file, and plans zero writes for unchanged inputs.
|
|
213
|
+
- The report names every concrete change and every unresolved blocker with its owner
|
|
214
|
+
and evidence; it claims no permission, publication, deployment, installation, or
|
|
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.
|
|
220
|
+
|
|
221
|
+
## Error Handling
|
|
222
|
+
|
|
223
|
+
- **Missing package preset:** report `BLOCKED(package, ace-assign owner)` and do not
|
|
224
|
+
fabricate a local substitute.
|
|
225
|
+
- **Unresolved workflow or guide:** preserve any existing file, report the failed URI,
|
|
226
|
+
source registrations inspected, and responsible project/package owner.
|
|
227
|
+
- **Conflicting project overrides:** make no write; report every competing path and
|
|
228
|
+
require the project owner to choose the canonical source.
|
|
229
|
+
- **Unsafe merge with customization:** keep the current file byte-for-byte and report
|
|
230
|
+
the exact invariant gap and proposed minimal delta.
|
|
231
|
+
- **Uncertain external effect:** retain the original operation reference and reconcile
|
|
232
|
+
it through its owner; never repeat the effect as part of configuration.
|
|
233
|
+
|
|
@@ -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-
|
|
9
|
-
last-checked: '2026-10-
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/ace/overseer/version.rb
CHANGED
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.
|
|
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-
|
|
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
|
|
@@ -71,14 +71,14 @@ dependencies:
|
|
|
71
71
|
requirements:
|
|
72
72
|
- - "~>"
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 0.
|
|
74
|
+
version: '0.67'
|
|
75
75
|
type: :runtime
|
|
76
76
|
prerelease: false
|
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
79
|
- - "~>"
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: 0.
|
|
81
|
+
version: '0.67'
|
|
82
82
|
- !ruby/object:Gem::Dependency
|
|
83
83
|
name: ace-git
|
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -169,14 +169,14 @@ dependencies:
|
|
|
169
169
|
requirements:
|
|
170
170
|
- - "~>"
|
|
171
171
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: 0.
|
|
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.
|
|
179
|
+
version: '0.6'
|
|
180
180
|
- !ruby/object:Gem::Dependency
|
|
181
181
|
name: ace-review
|
|
182
182
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -271,8 +271,10 @@ files:
|
|
|
271
271
|
- docs/handbook.md
|
|
272
272
|
- docs/usage.md
|
|
273
273
|
- exe/ace-overseer
|
|
274
|
+
- handbook/skills/as-overseer-configure-project/SKILL.md
|
|
274
275
|
- handbook/skills/as-overseer/SKILL.md
|
|
275
276
|
- handbook/workflow-instructions/overseer.wf.md
|
|
277
|
+
- handbook/workflow-instructions/overseer/configure-project.wf.md
|
|
276
278
|
- handbook/workflow-instructions/roles/lab-coordinator.wf.md
|
|
277
279
|
- handbook/workflow-instructions/roles/project-overseer.wf.md
|
|
278
280
|
- handbook/workflow-instructions/roles/second-commander.wf.md
|