ace-handbook 0.35.0 → 0.36.0

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: 363ae1e6cd89c714512860b8ca79d36d845dfe197b039b2bcedcf60c77548000
4
- data.tar.gz: 077205f8a16622b6972759fa7038cf4fca5a8dcd866ba048f5aebc5bcd2d2ba1
3
+ metadata.gz: cac18c57b00e46385b7f258503503282b9d5bd31949d76a168438c168bd23b76
4
+ data.tar.gz: 5f06acc867427e2642d24060af02d07f1feede570043eaebb85b3dd0d54887d9
5
5
  SHA512:
6
- metadata.gz: 8b32ee617623055b732bb731531d5039f6f1da1ea5a413cf3828e02ab38c08b93f6ce5bb18a97cfbbe29c9dc041adae39f3a370a205749ae791e404ed8266b19
7
- data.tar.gz: 1de4da539f049133b9672cedb3575679b26089b6d3cbb2fb126aa9ddb4639391313e4bc4964a70699f7ae89df5e4cd5633c19d835c7c94e6b88bf38a2e66e1d0
6
+ metadata.gz: c21f87773ce724a9fb852d99a6b09d48531a626bb8c2f65596e19418db4a5b98112cd6b27684d1a634926a45de3b08bfe4ec4e6210ed56fa0fd8437a8e136948
7
+ data.tar.gz: bbcba1e96230949433396d2e51b7d5740f240baceda031c5993cac2acaba42eecbc50c5c92c2de5991dadccaf72a53c6e28ba438ea12dd0e189600b26b005de0
data/CHANGELOG.md CHANGED
@@ -7,697 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
- ## [0.35.0] - 2026-10-08
11
10
 
12
- ### Changed
13
-
14
- - Document standalone and protected delivery, current canonical campaign round/result handoff and scoped publication prerequisites. Keep source verification separate from installed Lab acceptance.
15
-
16
- - Route unavailable publication prerequisites through the original assignment failure/status owners without claiming protected publication or retry authority.
17
-
18
- - Route protected delivery through original worker merge request, canonical status and exact result consumption while preserving ordinary delivery and unresolved protected PR policy.
19
-
20
- ## [0.34.0] - 2026-10-05
21
-
22
- ### Changed
23
-
24
- - Canonical delivery consumes neutral attempt-bound PR operations, current executed test/independent review receipts and exact authorized merge evidence; optional release preparation remains separate from publication.
25
-
26
- ## [0.33.0] - 2026-09-28
27
-
28
- ### Added
29
- - Provider manifests may declare an optional `extensions_dir`; `ace-handbook sync` now projects extension assets from `ace-handbook-integration-*` packages (`handbook/extensions/**`) into that directory (idempotent copies; prunes only stale paths recorded in the `.ace-handbook-projection.json` receipt, leaving user-authored extensions untouched). Destinations are validated before anything is written; a failed projection rolls back overwritten **and** pruned assets so the previous installation stays complete and loadable, and the retry needs no manual cleanup. Sync summary output gains a `; extensions <dir> (N files, U updated, R removed)` segment when a provider projects extensions. `ProviderRegistry` exposes `extensions_dir(provider)` and `package_root(provider)`.
30
-
31
- ## [0.32.0] - 2026-09-27
32
-
33
- ### Added
34
- - Provider manifests may declare an optional `prompts_dir`; `ace-handbook sync` now projects canonical prompt templates from `ace-handbook-integration-*` packages (`handbook/prompts/*.md`) into that directory (idempotent writes; prunes only stale files carrying an `ace-handbook-integration-*` provenance marker, leaving user-authored templates untouched). Sync summary output gains a `; prompts <dir> (N prompts, U updated, R removed)` segment when a provider projects prompts.
35
- - Shipped `wfi://handbook/manage-overrides` (with paired skill `as-handbook-manage-overrides`): canonical override documentation covering all overridable surfaces (workflows, cookbooks, guides), the source-priority resolution rule, skills' non-overridability ("override the workflow the skill calls"), the `.agents/` sync-projection status, and planted-competitor verification probes.
36
-
37
- ### Changed
38
- - Tightened `wfi://release/rubygems-publish` baseline guidance with an OTP-burst publication contract (build all artifacts before OTP; push in ≤5 concurrent waves; defer metadata verification) for project overlays.
39
-
40
-
41
- ## [0.31.1] - 2026-09-02
42
-
43
- ### Technical
44
- - Included in the coordinated all-package patch release preparation for ACE monorepo review.
45
- ## [0.31.0] - 2026-08-12
46
-
47
- ### Added
48
- - Shipped generic baseline `wfi://release/*` workflows (`local`, `bump-version`, `update-changelog`, `publish`, `rubygems-publish`) under `handbook/workflow-instructions/release/` so plain installs resolve release skills without monorepo overlays; defaults stay non-publishing until a project publication contract exists.
49
-
50
- ## [0.30.3] - 2026-08-12
51
-
52
- ### Technical
53
- - Raised the `ace-support-core` dependency floor to `~> 0.31` after the principles-first bootstrap guidance release.
54
- ## [0.30.2] - 2026-08-12
55
-
56
- ### Technical
57
- - Aligned gemspec dependency floors with current ACE package minor release lines and safe external minor dependency bumps (no major version jumps).
58
-
59
- ## [0.30.1] - 2026-07-15
60
-
61
- ### Fixed
62
- - Made the neutral `agents` projection recognize canonical skills targeting the full legacy provider set before
63
- filtering unavailable provider manifests, so agents-only projects receive common workflows such as `as-git-commit`.
64
-
65
- ## [0.30.0] - 2026-07-15
66
-
67
- ### Added
68
- - Added agents projection coverage fields to `ace-handbook status` JSON and table output, including projection policy,
69
- excluded skill count, and the reason for curated projections.
70
-
71
- ### Technical
72
- - Added fast and E2E regression coverage for the neutral agents projection status contract.
73
-
74
- ## [0.29.1] - 2026-06-30
75
-
76
- ### Fixed
77
- - Treated skills targeting the legacy full provider set (`claude`, `codex`, `gemini`, `opencode`, `pi`) as compatible
78
- with the default `agents` projection, so installed common ACE workflow skills such as `as-git-commit` are written to
79
- `.agents/skills/` by plain `ace-handbook sync`.
80
-
81
- ## [0.29.0] - 2026-06-30
82
-
83
- ### Added
84
- - Added the built-in `agents` skill projection target, generating `.agents/skills/` for default handbook sync.
85
-
86
- ### Changed
87
- - Changed plain `ace-handbook sync` and `ace-handbook status` to use the default/enabled projection set, with `agents` as the default when no providers are configured.
88
- - Allowed explicit provider sync, such as `ace-handbook sync --provider codex`, even when the provider is not part of the default enabled set unless it is explicitly disabled.
89
-
90
- ### Technical
91
- - Added regression coverage for default `.agents/skills` projection, explicit Codex projection, disabled-provider blocking, and default status filtering.
92
-
93
- ## [0.28.1] - 2026-04-23
94
-
95
- ### Changed
96
- - Updated the monorepo setup cookbook to use `ace-config sync ace-llm-providers-cli` before handbook sync.
97
-
98
- ## [0.28.0] - 2026-04-22
99
-
100
- ### Changed
101
- - **ace-handbook v0.28.0**: Added the local release workflow (`release/local`) and switched the package release workflow to a local-only preparation flow.
102
-
103
- ### Technical
104
- - **ace-handbook v0.28.0**: Kept `as-release` behavior focused on local release prep without publishing to RubyGems.
105
-
106
- ## [0.27.4] - 2026-04-16
107
-
108
- ### Technical
109
- - Updated `TS-HANDBOOK-001` sandbox setup to source `mise.toml` from `${ACE_E2E_SOURCE_ROOT:-$PROJECT_ROOT_PATH}` so handbook smoke flows stay aligned with the shared read-only source-root contract.
110
-
111
- ## [0.27.3] - 2026-04-15
112
-
113
- ### Fixed
114
- - Corrected `TS-HANDBOOK-002` setup to copy `mise.toml` from `${ACE_E2E_SOURCE_ROOT:-$PROJECT_ROOT_PATH}` so sandboxed E2E runs load source-root tooling consistently.
115
-
116
- ### Changed
117
- - Corrected release-proof command references to use positional `ace-test-e2e ace-monorepo-e2e TS-MONO-001` invocation.
118
-
119
- ## [0.27.2] - 2026-04-15
120
-
121
- ### Changed
122
- - Updated RubyGems propagation proof docs to use the supported positional `ace-test-e2e ace-monorepo-e2e TS-MONO-001` invocation and current scenario path.
123
-
124
- ## [0.27.0] - 2026-04-14
125
-
126
- ### Changed
127
- - Rewrote `ace-handbook` E2E coverage to public-surface goal style by retaining the CLI smoke flow and adding `TS-HANDBOOK-002` sync/provider-error behavior scenarios.
128
- - Tightened `TS-HANDBOOK-001` verifier contracts to prioritize user-visible output and enforce stronger status JSON shape expectations.
129
-
130
- ### Technical
131
- - Updated usage guidance with explicit `sync --provider` and unknown-provider error-path examples aligned to the E2E public contract.
132
-
133
- ## [0.26.2] - 2026-04-13
134
-
135
- ### Changed
136
- - Documented `cookbook://` wildcard deduplication semantics in usage guidance, including canonical-path behavior and priority-preserving source selection notes.
137
-
138
- ## [0.26.1] - 2026-04-13
139
-
140
- ### Changed
141
- - Completed the batch i05 migration follow-through for this package and aligned it with the restarted `fast` / `feat` / `e2e` verification model.
142
-
143
- ### Technical
144
- - Included in the coordinated assignment-driven patch release for batch i05 package updates.
145
-
146
-
147
- ## [0.26.0] - 2026-04-12
148
-
149
- ### Changed
150
- - Migrated `ace-handbook` package tests to the `fast` / `feat` / `e2e` contract by moving deterministic suites under `test/fast`, retaining workflow-value CLI smoke E2E coverage, and aligning scenario metadata with the new deterministic paths.
151
- - Updated package docs (`README`, getting-started, usage) to teach the `ace-test ace-handbook`, optional `ace-test ace-handbook feat`, `ace-test ace-handbook all`, and `ace-test-e2e ace-handbook` verification contract.
152
-
153
- ## [0.25.4] - 2026-04-10
154
-
155
- ### Technical
156
- - Updated handbook docs and cookbook guidance to point at the restarted E2E testing flows and current release-proof references.
157
-
158
- ## [0.25.3] - 2026-04-05
159
-
160
- ### Fixed
161
- - Scoped canonical skill inventory discovery to in-project defaults and explicitly registered external sources so status and sync no longer pick up ambient installed gems.
162
-
163
- ## [0.25.2] - 2026-04-01
164
-
165
- ### Changed
166
- - Updated cookbook management/review workflows to embed canonical cookbook standards and storage-path guidance directly, keeping the workflows self-contained.
167
- - Clarified cookbook path standards by explicitly distinguishing package-owned cookbooks (`ace-handbook/handbook/cookbooks/`) from project-local overlays (`.ace-handbook/cookbooks/`) in workflow/docs references.
168
-
169
- ## [0.25.1] - 2026-04-01
170
-
171
- ### Fixed
172
- - Corrected Astro cookbook setup commands to reference supported `ace-handbook` CLI behavior (`sync` / `status` flow), removing obsolete `ace-handbook init` guidance.
173
-
174
- ### Changed
175
- - Added `.ace-handbook/cookbooks` to usage docs and standardized cookbook-review skill `argument-hint` metadata formatting.
176
-
177
- ## [0.25.0] - 2026-04-01
178
-
179
- ### Added
180
- - Added cookbook-first handbook surface with `wfi://handbook/manage-cookbooks` and `wfi://handbook/review-cookbooks` workflows plus canonical cookbook skills (`as-handbook-manage-cookbooks`, `as-handbook-review-cookbooks`) and provider projections.
181
- - Added canonical handbook-owned cookbook examples for Astro project setup and multi-ruby-gem monorepo setup, including explicit provenance and downstream propagation guidance.
182
-
183
- ### Changed
184
- - Updated README, handbook/usage references, and cookbook template standards to treat `.cookbook.md` as a first-class handbook asset with explicit provenance and concise propagation guidance.
185
-
186
- ## [0.23.5] - 2026-03-31
187
-
188
- ### Changed
189
- - Replaced `wfi://release/rubygems-verify-install` workflow with E2E scenario `TS-MONO-001-rubygems-install` in `ace-monorepo-e2e/`. Updated all skill and doc references to use `ace-test-e2e ace-monorepo-e2e TS-MONO-001`.
190
-
191
- ## [0.23.4] - 2026-03-31
192
-
193
- ### Changed
194
- - Shipped default sync config with no providers pre-enabled so users choose their own agent integrations.
195
- - Reorganized install instructions across README, quick-start, and DEVELOPMENT docs by toolkit building blocks (Plan, Build, Context, QA, Git) with all gems in `development, test` group.
196
-
197
- ## [0.23.3] - 2026-03-31
198
-
199
- ### Changed
200
- - Extracted RubyGems installation verification into standalone `wfi://release/rubygems-verify-install` workflow with mise-based sandbox isolation.
201
- - Updated `as-release-rubygems-publish` skill to recommend the standalone verification workflow instead of requiring inline proof classification.
202
-
203
- ## [0.23.2] - 2026-03-30
204
-
205
- ### Technical
206
- - Added edge-case regression coverage for `ProviderSyncer#summarize_sources`, including empty inventory handling and nil/blank source normalization.
207
-
208
- ## [0.23.1] - 2026-03-30
209
-
210
- ### Fixed
211
- - Restored `Bash(gem:*)` permissions in the canonical `as-release-rubygems-publish` skill so release workflows can invoke gem commands directly.
212
-
213
- ### Technical
214
- - Added regression coverage for projected release skill permissions to prevent permission drift.
215
-
216
- ## [0.23.0] - 2026-03-30
217
-
218
- ### Changed
219
- - Clarified `ace-handbook sync` output by adding inventory source counts and explicit rerun guidance when only one source is discovered.
220
- - Expanded `ace-handbook` docs to define `.ace-handbook/` as the canonical project-level handbook root for workflows, guides, templates, and skills in normal projects.
221
-
222
- ### Technical
223
- - Added CLI sync command regression coverage for inventory-source summary and single-source guidance output.
224
-
225
- ## [0.22.0] - 2026-03-29
226
-
227
- ### Changed
228
- - Added a deterministic RubyGems propagation proof gate to coordinated release workflows with explicit `SAFE`, `LAG_DETECTED`, and `METADATA_BROKEN` classification outcomes.
229
-
230
- ### Technical
231
- - Added operator-facing proof contract documentation and synchronized `as-release-rubygems-publish` skill guidance with the updated release workflow expectations.
232
-
233
- ## [0.21.4] - 2026-03-29
234
-
235
- ### Technical
236
- - Normalized published gem metadata so RubyGems and Ruby Toolbox use current release information instead of the 1980 fallback date.
237
-
238
- ## [0.21.3] - 2026-03-29
239
-
240
- ### Changed
241
-
242
- - Updated the coordinated release workflow so packages pulled in only by internal dependency constraint bumps are auto-added as follower releases and default to a patch bump with full version/changelog metadata.
243
- - Updated projected `as-release` skill guidance to make the new follower-package patch-release policy explicit across provider integrations.
244
-
245
- ## [0.21.2] - 2026-03-29
246
-
247
- ### Technical
248
- - Register package-level `.ace-defaults` skill-sources for ace-handbook to enable canonical skill discovery in fresh installs.
249
-
250
-
251
- ## [0.21.1] - 2026-03-29
252
-
253
- ### Fixed
254
- - **ace-handbook v0.21.1**: Bumped dependency constraints to currently available `~>` ranges on RubyGems and updated release metadata after dependency synchronization.
255
-
256
- ## [0.21.0] - 2026-03-28
257
-
258
- ### Changed
259
-
260
- - Migrated most RubyGems publish decision logic into `wfi://release/rubygems-publish`, keeping `as-release-rubygems-publish` as a thin workflow wrapper.
261
-
262
- ### Technical
263
-
264
- - Removed skill-local pending-release-discovery preference logic and aligned the workflow with build-first + single-OTP publish behavior.
265
-
266
- ## [0.20.0] - 2026-03-28
267
-
268
- ### Added
269
-
270
- - Added `bin/ace-rubygems-needs-release` to derive pending ACE RubyGems releases from a single remote snapshot instead of querying each gem individually.
271
-
272
- ### Changed
273
-
274
- - Updated the RubyGems publish workflow to prefer the helper script when available and corrected the fallback `gem search --exact` guidance.
275
- - Updated `as-release-rubygems-publish` skill instructions to prefer the helper script for pending-release discovery.
276
-
277
- ## [0.19.0] - 2026-03-23
278
-
279
- ### Added
280
-
281
- - New use case in README documenting `ace-handbook sync` and `ace-handbook status` CLI commands.
282
- - Added `as-release`, `as-release-bump-version`, `as-release-rubygems-publish`, and `as-release-update-changelog` to the handbook skills reference table.
283
- - Re-recorded getting-started demo GIF showcasing provider status and sync workflows.
284
-
285
- ### Fixed
286
-
287
- - Fixed broken `[ace-nav](../ace-nav)` cross-link in README -- corrected to `[ace-nav](../ace-support-nav)`.
288
- - Fixed incorrect `ace-integration-*` package reference in README -- corrected to `ace-handbook-integration-*`.
289
-
290
- ### Changed
291
-
292
- - Aligned gemspec description wording with summary for consistency.
293
- - Removed stale `mise` prerequisite from `docs/getting-started.md`.
294
- - Rewrote demo tape to focus on `ace-handbook status` and `ace-handbook sync --provider pi`.
295
-
296
- ## [0.18.3] - 2026-03-23
297
-
298
- ### Changed
299
-
300
- - Refreshed `README.md` to the current package layout pattern with quick-link navigation, use-case framing, and normalized section order.
301
-
302
- ## [0.18.2] - 2026-03-22
303
-
304
- ### Changed
305
-
306
- - Updated `docs/getting-started.md` to remove contradictory `mise exec --` prose and align onboarding guidance with direct `ace-*` command usage.
307
- - Documented intentional retirement of projected provider `as-idea-capture` and `as-idea-capture-features` skill files after canonical source removal.
308
-
309
- ## [0.18.1] - 2026-03-22
310
-
311
- ### Changed
312
-
313
- - Remove `mise exec --` wrapper from test fixture strings and canonical skill docs.
314
- - Document intentional retirement of projected provider `as-idea-capture` and `as-idea-capture-features` skill files after canonical source removal.
315
-
316
- ## [0.18.0] - 2026-03-22
317
-
318
- ### Changed
319
-
320
- - Reworked `ace-handbook` documentation into a landing-page README with package-focused messaging and links to dedicated docs.
321
- - Added `docs/getting-started.md`, `docs/usage.md`, and `docs/handbook.md` with tutorial and workflow/skill reference coverage.
322
- - Added demo assets under `docs/demo/` and aligned examples to the current `ace-nav resolve/list` command pattern.
323
- - Updated gem metadata summary/description to match the new README tagline and documentation positioning.
324
-
325
- ## [0.17.1] - 2026-03-21
326
-
327
- ### Added
328
-
329
- - Add RubyGems publish workflow (`wfi://release/rubygems-publish`) for publishing ACE gems in dependency order with credential verification, conflict detection, and dry-run support.
330
- - Add `as-release-rubygems-publish` skill for invoking the RubyGems publish workflow.
331
-
332
- ## [0.17.0] - 2026-03-21
333
-
334
- ### Changed
335
-
336
- - Added initial `TS-HANDBOOK-001` value-gated smoke E2E coverage for `ace-handbook` CLI help and status command contracts.
337
-
338
- ## [0.16.1] - 2026-03-18
339
-
340
- ### Changed
341
-
342
- - Migrated CLI namespace from `Ace::Core::CLI::*` to `Ace::Support::Cli::*` (ace-support-cli is now the canonical home for CLI infrastructure).
343
-
344
-
345
- ## [0.16.0] - 2026-03-18
346
-
347
- ### Changed
348
-
349
- - Removed legacy backward-compatibility behavior as part of the 0.10 cleanup release.
350
-
351
-
352
- ## [0.15.9] - 2026-03-18
353
-
354
- ### Fixed
355
-
356
- - Updated `cli-support-cli.g.md` guide to remove stale `DryCli::` namespace prefix from `VersionCommand` and `HelpCommand` class references.
357
-
358
- ## [0.15.8] - 2026-03-17
11
+ ## [0.36.0] - 2026-10-20
359
12
 
360
13
  ### Changed
361
14
 
362
- - Updated `cli-support-cli.g.md` examples to the current `ace-support-cli` API (`RegistryDsl`, `Runner`, and `coerce_types`).
363
- - Updated review workflow docs to reflect 15-minute timeout guidance for long PR review runs.
364
-
365
- ## [0.15.7] - 2026-03-15
366
-
367
- ### Changed
368
-
369
- - Migrated CLI framework from dry-cli to ace-support-cli
370
-
371
- ## [0.15.6] - 2026-03-13
372
-
373
- ### Changed
374
-
375
- - Updated handbook-owned canonical skills to explicitly run bundled workflows in the current project and execute them end-to-end.
376
-
377
- ### Technical
378
-
379
- - Refreshed provider sync and status collector regression coverage for the new compact canonical skill execution template.
380
-
381
- ## [0.15.5] - 2026-03-13
382
-
383
- ### Changed
384
-
385
- - Removed provider-specific skill body rendering so projected provider skills once again apply frontmatter overrides while preserving the canonical skill body unchanged.
386
- - Updated the canonical `as-release` skill to use the unified arguments / variables / execution structure with explicit workflow-execution guidance.
387
- - Limited provider-specific forking for `as-release` to Claude frontmatter only.
388
-
389
- ### Technical
390
-
391
- - Simplified handbook projection coverage to validate frontmatter override projection and canonical body preservation instead of provider-specific body rendering.
392
-
393
- ## [0.15.4] - 2026-03-13
394
-
395
- ### Changed
396
-
397
- - Strengthened projected workflow skill instructions for Codex delegated execution and forked provider contexts so generated provider skills explicitly load and execute workflows in the current project instead of only reading or summarizing them.
398
-
399
- ### Technical
400
-
401
- - Added projection regression coverage for strong workflow-execution rendering in both Codex `context: ace-llm` mode and provider `context: fork` mode.
402
-
403
- ## [0.15.3] - 2026-03-13
404
-
405
- ### Changed
406
-
407
- - Render Codex `ace-llm` skills from canonical frontmatter by deriving uppercase variables from `argument-hint` and generating `## Variables` / `## Instructions` sections for projected Codex skills.
408
-
409
- ### Technical
410
-
411
- - Added projection regression coverage for `context: ace-llm` rendering and argument-hint-derived Codex variable generation.
412
-
413
- ## [0.15.2] - 2026-03-12
414
-
415
- ### Fixed
416
-
417
- - Preserved conditional `--sandbox` workflow routing in provider-synced skill projections so generated Claude and Codex skills keep the canonical E2E execute path.
418
-
419
- ### Technical
420
-
421
- - Added provider-sync regression coverage for conditional workflow bodies in projected skills.
422
-
423
- ## [0.15.1] - 2026-03-12
424
-
425
- ### Changed
426
-
427
- - Updated handbook README, workflow docs, and guidance to document bundle-first workflow usage and the current handbook structure.
428
-
429
- ## [0.15.0] - 2026-03-12
430
-
431
- ### Added
432
-
433
- - Added Codex-specific delegated execution metadata to the canonical `as-release-bump-version` and `as-release-update-changelog` skills so the generated Codex skills run in fork context on `gpt-5.3-codex-spark`.
434
-
435
- ## [0.14.1] - 2026-03-12
436
-
437
- ### Technical
438
-
439
- - Updated provider sync regression coverage to verify provider-specific `context` and `model` overrides on projected git-commit skills and to keep generated provider output free of canonical `integration` metadata.
440
-
441
- ## [0.14.0] - 2026-03-12
442
-
443
- ### Changed
444
-
445
- - Changed canonical handbook skill inventory to load from registered `skill://` sources via `ace-support-nav` instead of scanning monorepo package directories directly.
446
-
447
- ### Technical
448
-
449
- - Added nav-backed inventory regression coverage and explicit skill-source registration fixtures for handbook sync/status tests.
450
-
451
- ## [0.13.1] - 2026-03-12
452
-
453
- ### Technical
454
-
455
- - Added regression coverage for the `.agent/skills` retirement so handbook sync/status changes are exercised against provider-native skill trees only.
456
-
457
- ## [0.13.0] - 2026-03-12
458
-
459
- ### Added
460
-
461
- - Added canonical skill inventory counts by `source` to `ace-handbook status` output and JSON responses.
462
-
463
- ### Changed
464
-
465
- - Expanded provider status reporting to show expected, installed, in-sync, outdated, missing, and extra skill counts, including comparisons through symlinked provider directories.
466
-
467
- ## [0.12.0] - 2026-03-10
468
-
469
- ### Added
470
-
471
- - Added a public `ace-handbook` CLI with `sync` and `status` commands for projecting canonical package skills into provider-native folders.
472
- - Added provider manifest discovery and sync/status coverage for handbook integrations, including replacement of legacy provider skill symlinks with real provider directories.
473
-
474
- ### Changed
475
-
476
- - Moved handbook integration execution to `ace-handbook` while provider packages now supply thin provider manifests for projection targets.
477
-
478
- ## [0.11.0] - 2026-03-10
479
-
480
- ### Added
481
-
482
- - Added canonical handbook-owned skills for handbook management, release workflows, and research/delivery orchestration.
483
-
484
-
485
- ## [0.10.0] - 2026-03-08
486
-
487
- ### Added
488
-
489
- - New `release/publish` workflow for coordinated multi-package releases that auto-detect modified packages, update package and root changelogs, and finish with one release commit.
490
-
491
- ### Changed
492
-
493
- - `/as-release` now loads `wfi://release/publish`, and release documentation now points to the canonical workflow path.
494
-
495
- ## [0.9.9] - 2026-03-04
496
-
497
- ### Changed
498
-
499
- - Update `perform-delivery` workflow PR skill references from `/ace-git-create-pr` to `/ace-github-pr-create`
500
-
501
- ## [0.9.8] - 2026-02-25
502
-
503
- ### Changed
504
-
505
- - Update `perform-delivery` workflow task lookup guidance to use `ace-task show <ref>` for explicit task selection.
506
-
507
- ## [0.9.7] - 2026-02-22
508
-
509
- ### Technical
510
-
511
- - Update `ace-bundle project` → `ace-bundle load project` in update-docs workflow
512
-
513
- ## [0.9.6] - 2026-02-22
514
-
515
- ### Changed
516
-
517
- - Migrate skill naming and invocation references to hyphenated `ace-*` format (no underscores).
518
-
519
- ## [0.9.5] - 2026-02-21
520
-
521
- ### Added
522
-
523
- - "Redundant computation" root cause category in selfimprove workflow with fix template showing compute-once-pass-explicitly pattern
524
-
525
- ## [0.9.4] - 2026-02-20
526
-
527
- ### Technical
528
-
529
- - Update /ace:create-pr to /ace:git-create-pr in perform-delivery workflow
530
-
531
- ## [0.9.3] - 2026-02-20
532
-
533
- ### Technical
534
-
535
- - Update stale wfi:// references in workflow definition guide
536
-
537
- ## [0.9.2] - 2026-02-19
538
-
539
- ### Technical
540
-
541
- - Namespace workflow instructions into handbook/ subdirectory with updated wfi:// URIs
542
- - Update skill name references to use namespaced ace:handbook-action format
543
-
544
- ## [0.9.1] - 2026-02-04
545
-
546
- ### Added
547
-
548
- - Preference hierarchy for search targets in selfimprove workflow (workflows/guides preferred over skills)
549
-
550
- ## [0.9.0] - 2026-02-03
551
-
552
- ### Added
553
-
554
- - Self-improve workflow (`selfimprove.wf.md`) for transforming agent mistakes into system improvements
555
-
556
- ## [0.8.0] - 2026-01-31
557
-
558
- ### Added
559
-
560
- - Multi-agent research synthesis capabilities (Task 254):
561
-
562
- - `multi-agent-research.g.md` guide explaining when/how to use parallel agents
563
- - `research-comparison.template.md` for structured synthesis comparison
564
- - `parallel-research.wf.md` workflow for setting up parallel agent research
565
- - `synthesize-research.wf.md` workflow for combining agent outputs
566
- - `research.wf.md` with single/multi-agent decision criteria
567
-
568
- - Template protocol source configuration for ace-handbook templates
569
-
570
- ## [0.7.1] - 2026-01-29
571
-
572
- ### Fixed
573
-
574
- - Refine exit code handling documentation for dry-cli framework with exception-based pattern
575
-
576
- ## [0.7.0] - 2026-01-22
577
-
578
- ### Added
579
-
580
- - New guides extracted from ace-gems.g.md for better discoverability:
581
-
582
- - `prompt-caching.g.md` - PromptCacheManager patterns for LLM prompt generation
583
- - `cli-dry-cli.g.md` - Complete dry-cli framework reference
584
- - `mono-repo-patterns.g.md` - Mono-repo development patterns and binstubs
585
-
586
- - Document IO isolation and testing pyramid patterns
587
-
588
- ### Technical
589
-
590
- - Lower Ruby version requirement to >= 3.2.0
591
-
592
- ## [0.6.0] - 2026-01-18
593
-
594
- ### Added
595
-
596
- - Add perform-delivery workflow for multi-step delivery tracking with automatic TodoWrite externalization
597
-
598
- ### Technical
599
-
600
- - Update guides for bundle terminology
601
-
602
- ## [0.5.2] - 2026-01-16
603
-
604
- ### Changed
605
-
606
- - Rename context: to bundle: keys in configuration files
607
-
608
- ## [0.5.1] - 2026-01-08
609
-
610
- ### Fixed
611
-
612
- - Fixed `guide://` protocol links in ace-test-runner guides (added `.g` suffix for `.g.md` files)
613
- - Cross-gem guide:// links now properly resolve to resources with `.g` extension
614
-
615
- ## [0.5.0] - 2026-01-08
616
-
617
- ### Added
618
-
619
- - Migrated 10 generic guides from dev-handbook to handbook/guides/
620
-
621
- - ai-agent-integration.g.md, atom-pattern.g.md, changelog.g.md
622
- - coding-standards.g.md, debug-troubleshooting.g.md, error-handling.g.md
623
- - performance.g.md, quality-assurance.g.md, strategic-planning.g.md
624
-
625
- - Migrated 5 meta-guides to handbook/guides/meta/
626
-
627
- - agents-definition.g.md, guides-definition.g.md, markdown-definition.g.md
628
- - tools-definition.g.md, workflow-instructions-definition.g.md
629
-
630
- - Guide subdirectories with language-specific content (ruby, rust, typescript)
631
- - initialize-project-structure.wf.md workflow for project setup
632
- - Templates: cookbooks/cookbook.template.md, completed-work-documentation.md
633
- - Template discovery protocol (.ace-defaults/nav/protocols/tmpl-sources/)
634
-
635
- ### Changed
636
-
637
- - Consolidates dev-handbook content into ace-handbook gem
638
- - All development guides now distributed with gem installation
639
-
640
- ## [0.4.0] - 2026-01-03
641
-
642
- ### Added
643
-
644
- - Guides support with handbook/guides/ directory
645
- - workflow-context-embedding.g.md guide for embed_document_source pattern
646
- - Guide discovery protocol (.ace-defaults/nav/protocols/guide-sources/ace-handbook.yml)
647
-
648
- ## [0.3.0] - 2026-01-03
649
-
650
- ### Changed
651
-
652
- - **BREAKING**: Minimum Ruby version raised to 3.3.0 (was 3.1.0)
653
- - Standardized gemspec file patterns with deterministic Dir.glob
654
- - Added MIT LICENSE file
655
-
656
- ## [0.2.0] - 2025-12-30
657
-
658
- ### Changed
659
-
660
- * Rename `.ace.example/` to `.ace-defaults/` for gem defaults directory
661
-
662
- ## [0.1.0] - 2025-11-05
663
-
664
- ### Added
665
-
666
- - Initial release of ace-handbook gem as pure workflow package
667
- - 6 handbook management workflows accessible via wfi:// protocol:
668
-
669
- - `wfi://manage-guides` - Create and update development guides
670
- - `wfi://review-guides` - Review guides for quality and consistency
671
- - `wfi://manage-workflow-instructions` - Create and validate workflow files
672
- - `wfi://review-workflows` - Review workflow instructions
673
- - `wfi://manage-agents` - Create and update agent definitions
674
- - `wfi://update-handbook-docs` - Update handbook README and structure
675
-
676
- - Path references updated for project-relative usage
677
- - Complete gem structure following ACE patterns
678
- - Comprehensive documentation and usage examples
679
- - Auto-discovery support through ace-nav gem
680
-
681
- ### Changed
682
-
683
- - Migrated workflows from dev-handbook/.meta/wfi/ to installable gem
684
- - Updated path references to be project-root relative
685
- - Removed dev-handbook specific dependencies
686
-
687
- ### Removed
688
-
689
- - Moved `update-tools-docs.wf.md` to ace-docs package (tools documentation management)
690
- - Moved `update-integration-claude.wf.md` to ace-integration-claude package (Claude Code integration)
691
-
692
- ### Fixed
693
-
694
- - Added ace-nav protocol registration (.ace.example/nav/protocols/wfi-sources/ace-handbook.yml)
695
- - Updated gemspec to include protocol registration files for proper discovery
696
-
697
- ### Technical Details
15
+ - Remove the attempt/authority requirement from `wfi://handbook/perform-delivery`: record actual artifacts, executed checks and the independent reviewer verdict in the assignment report instead of attempt receipts; managed delivery remains planned for L5.5.
698
16
 
699
- - Pure workflow package with no Ruby runtime dependencies
700
- - Auto-discovery via ace-nav through handbook/workflow-instructions/ directory
701
- - Protocol registration enables ace-nav to discover workflows from installed gem
702
- - Template embedding framework ready for ADR-002 compliance
703
- - Standard ACE gem structure with lib/, handbook/, gemspec, README, CHANGELOG
@@ -9,8 +9,8 @@ allowed-tools:
9
9
  - Bash(gem:*)
10
10
  - Bash(ace-bundle:*)
11
11
  - Read
12
- argument-hint: "[gem-name...] [--dry-run]"
13
- last_modified: 2026-08-12
12
+ argument-hint: "[gem-name...] [--dry-run|--prepare]"
13
+ last_modified: 2026-10-17
14
14
  source: ace-handbook
15
15
  integration:
16
16
  targets:
@@ -47,5 +47,7 @@ None
47
47
  - Do the work described by the workflow instead of only summarizing it.
48
48
  - When the workflow requires edits, tests, or commits, perform them in this project.
49
49
  - OTP timing: build every pending `.gem` first, then ask for one OTP (~30–45s), then push in ≤5-concurrent dependency waves aiming to finish within ~30s; verify metadata only after the burst.
50
+ - Last-mile handoff: the agent shell is not the operator shell. Missing `GEM_HOST_API_KEY` / `~/.gem/credentials` (or no TTY) in the agent's subprocesses never means the operator is unconfigured — do not request credential setup. Finish the dry-run, state the wave plan, and hand off exactly `.ace-bin/ace-rubygems-publish --interactive` for the operator terminal (`--prepare` is optional; the live run re-resolves a stale prepared queue). If the operator explicitly authorizes agent-driven publishing, request one fresh OTP via `ace-hitl`/chat, wait for it, then run the publisher with `GEM_HOST_OTP_CODE` in the environment and never persist the OTP.
51
+ - Never re-run the publisher to confirm a completed release, and never replace the `TS-MONO-001` propagation proof with hand-rolled `bundle install` runs; if the agent runner is unavailable, report the blocked command and hand it off.
50
52
 
51
53
  - After live publishing, recommend running `ace-test-e2e ace-monorepo-e2e TS-MONO-001` for installation verification.
@@ -34,7 +34,7 @@ per URI.
34
34
 
35
35
  | Surface | Protocol | Project-local location | Overridable? | Winner of duplicates (shipped defaults) |
36
36
  |---------|----------|------------------------|--------------|------------------------------------------|
37
- | Workflows | `wfi://` | `.ace-handbook/workflow-instructions/<ns>/<name>.wf.md` | Yes | Project-local, when its source priority is lower than the gem source's (e.g. the shipped `local` source at priority 5 vs gem at 10) |
37
+ | Workflows | `wfi://` | `.ace-handbook/workflow-instructions/<ns>/<name>.wf.md` | Yes | Project-local, when its source priority is lower than the gem source's (e.g. this monorepo's checked-in `local` source at priority 5 vs gem at 10) |
38
38
  | Cookbooks | `cookbook://` | `.ace-handbook/cookbooks/<name>.cookbook.md` | Yes | The candidate from the source with the lower priority number. The shipped project-local default registers priority 20 and the gem source 10, so **the gem wins by default**; register a project cookbook source with priority < 10 to make project-local win |
39
39
  | Guides | `guide://` | `handbook/guides/<name>.g.md` | Yes, with registration | Requires a project source registration (`.ace/nav/protocols/guide-sources/local.yml` → `handbook/guides`); with priority < 10 the project-local guide wins. Without registration the gem wins |
40
40
  | Skills | `skill://` | none | **No** | Always the gem. Skills are thin layers; override the workflow the skill calls instead |
@@ -44,9 +44,9 @@ per URI.
44
44
 
45
45
  Sources for a protocol are scanned in ascending priority order (lower number = higher precedence); the first source
46
46
  containing the resource wins and remaining duplicates are ignored. Registration defaults: project sources 10, user
47
- sources 50, gem defaults 100 — an individual source registration may pin another value (this is why the shipped
48
- `local` workflow source at priority 5 beats the gem at 10, while the shipped project-local cookbook source at 20 loses
49
- to the gem at 10).
47
+ sources 50, gem defaults 100 — an individual source registration may pin another value. In this monorepo, the checked-in
48
+ `.ace/nav/protocols/wfi-sources/local.yml` sets priority 5 and beats the gem at 10; downstream projects must register
49
+ their own local workflow source. The shipped project-local cookbook source at 20 loses to the gem at 10.
50
50
 
51
51
  To answer "why did this candidate win?" for a concrete URI without planting probe files:
52
52
 
@@ -73,7 +73,8 @@ are ignored and resolution always returns the gem file. The design rule is: **ov
73
73
  2. **Create the project-local file** at the surface's project-local location (see table), keeping the canonical
74
74
  frontmatter and structure so tools keep resolving it.
75
75
  3. **Ensure the source registration makes your file win:**
76
- - workflows: keep `.ace/nav/protocols/wfi-sources/local.yml` priority below the gem source (shipped default: 5).
76
+ - workflows: register `.ace/nav/protocols/wfi-sources/local.yml` with priority below the gem source; this monorepo's
77
+ checked-in registration uses 5, but downstream projects do not receive that project-local source by default.
77
78
  - cookbooks: register `.ace/nav/protocols/cookbook-sources/local.yml` with priority < 10 (the shipped
78
79
  project-local default of 20 loses to the gem's 10).
79
80
  - guides: register `.ace/nav/protocols/guide-sources/local.yml` pointing at `handbook/guides` with priority < 10;
@@ -135,8 +136,10 @@ ace-handbook sync # regenerates .agents/ski
135
136
 
136
137
  - **Override silently loses:** inspect `ace-nav resolve <uri> --why`; the losing candidate's source priority is too
137
138
  high — lower it in the source registration.
138
- - **Guide override not discovered at all:** no project guide source is registered; add
139
- `.ace/nav/protocols/guide-sources/local.yml` (see Process Step 3).
139
+ - **Guide override does not win:** a planted guide may be discovered as a losing candidate through the
140
+ `@ace-support-nav` gem-default example source (`./handbook/guides`, priority 100), or it may be absent from the
141
+ candidates, depending on source registration. Register `.ace/nav/protocols/guide-sources/local.yml` with priority
142
+ below the gem source (see Process Step 3), then confirm the project candidate wins with `ace-nav resolve --why`.
140
143
  - **Skill edit appears to do nothing:** skills are not overridable; override the workflow the skill calls.
141
144
  - **`.agents/skills/` edits keep disappearing:** expected — `ace-handbook sync` regenerates the projection and prunes
142
145
  stale entries; edit canonical skills in the owning gem.
@@ -1,42 +1,35 @@
1
1
  ---
2
2
  doc-type: workflow
3
- title: Perform attempt-bound delivery
3
+ title: Perform delivery
4
4
  purpose: Coordinate implementation, exact-head review and authorized delivery on the selected forge
5
5
  ---
6
6
 
7
- # Perform attempt-bound delivery
7
+ # Perform delivery
8
8
 
9
9
  ## Goal
10
10
 
11
- Deliver one committed candidate in explicit standalone or managed mode, using
12
- the selected forge and current executed tests and independent review.
11
+ Deliver one committed candidate, using the selected forge and current executed
12
+ tests and independent review.
13
13
 
14
14
  ## Prerequisites
15
15
 
16
16
  - A reviewed task or an explicit implementation scope and project.
17
- - For managed delivery, a managed assignment and an active scoped attempt for each
18
- delivery action; use the actual assignment and
19
- attempt IDs from the execution boundary, never caller-invented actor identity.
20
17
  - For remote delivery, a pushed candidate and explicit fork/canonical provenance:
21
18
  mode, head_repository_url, head_ref, base_repository_url and base_ref.
22
19
  - An applicable authorization for each effect. Transport credentials do not grant
23
20
  permission to merge, publish, deploy or synchronize.
24
21
 
25
22
  Choose standalone mode for ordinary local task/inline implementation, tests, review
26
- and optional requested version/changelog preparation without a managed assignment.
27
- Choose managed mode when the request supplies an assignment or requires its
28
- canonical attempt/receipt boundary. Standalone output cannot satisfy managed or
29
- protected acceptance. Local-only implementation needs no forge selection or
30
- scoped attempt. If remote delivery is requested,
23
+ and optional requested version/changelog preparation. Local-only implementation
24
+ needs no forge selection or assignment scope. If remote delivery is requested,
31
25
  use forge_server or forge_default: true, mutually exclusive; otherwise use the
32
26
  repository remote. Preserve the first resolved server/repository/PR identity
33
- throughout the assignment. Missing service or authorization yields a specific
34
- blocker; this workflow does not invent grants or impersonate an integrator.
27
+ throughout the work. Managed delivery and its role handoff land in L5.5; this workflow does not invent grants or impersonate an integrator.
35
28
 
36
29
  ## Project context loading
37
30
 
38
- Read the task or inline scope and actual committed diff. In managed mode also
39
- read assignment status, current attempt and retained delivery parameters. If a PR
31
+ Read the task or inline scope and actual committed diff. When the work belongs to
32
+ an assignment, also read assignment status and its step reports. If a PR
40
33
  is recorded, inspect it with
41
34
  `ace-git pr show IDENTIFIER --format json --server NAME` using the retained selection
42
35
  (or `--default-server`, otherwise remote resolution). Inside ACE use source
@@ -63,8 +56,8 @@ and test it on the combined candidate before declaring that result delivered.
63
56
  Implement and commit the requested local task/inline scope using existing task
64
57
  and Git tools. Execute appropriate tests and independent review, retain their
65
58
  actual artifact references and candidate SHA, and record unfinished criteria.
66
- No managed assignment, protected service receipt or canonical qjl acceptance is
67
- claimed by this route. Local scope may end here.
59
+ No managed assignment boundary is claimed by this route.
60
+ Local scope may end here.
68
61
 
69
62
  For an explicitly authorized standalone remote scope, use existing neutral
70
63
  primitives on the chosen base repository/forge. Record actual head/base
@@ -84,7 +77,6 @@ the low-level PR command does not establish these gates itself. Readiness uses
84
77
  `ace-git pr ready IDENTIFIER --server NAME --expected-head CANDIDATE-SHA --format json`.
85
78
  Only an actually authorized standalone integrator may call
86
79
  `ace-git pr merge IDENTIFIER --server NAME --expected-head CANDIDATE-SHA --method METHOD --format json`.
87
- This is not a worker fallback when a managed/protected service is unavailable.
88
80
  Remote errors or uncertain effects remain explicit unresolved outcomes; use
89
81
  authoritative reads and existing provider reconciliation, never blind replay.
90
82
 
@@ -93,213 +85,51 @@ and merge evidence is accepted. Preparation after a completed delivery is a
93
85
  separate follow-up candidate/scope and must obtain its own required evidence.
94
86
  Publication remains separately authorized and gated, including OTP when required.
95
87
 
96
- ## Protected worker PR operations and status
88
+ ## Managed delivery (planned L5.5)
97
89
 
98
- An installed protected worker uses its original prepared assignment, attempt,
99
- mapping and hierarchical scope. A role charter or selector is not an authority
100
- capability: the public owners authenticate the actual worker descendant and
101
- original birth. Other installed participants must delegate to the provisioned
102
- worker/executor; they cannot select local delivery. Do not run the ordinary
103
- managed delivery commands below from this protected route. Draft create/update
104
- may precede independent review, through the same configured receiver. Ready and
105
- merge require executed checks, current accepted independent review and the exact
106
- operation authorization. See `wfi://git/pr/create` and `wfi://git/pr/update` for
107
- the bounded draft input; credentials do not grant those operations.
108
-
109
- 1. Retain the exact accepted candidate head and candidate generation, original
110
- assignment/attempt/mapping/scope, configured receiver ID, authorization and
111
- request ID. Use the reviewed retained delivery parameters, explicit authorized
112
- merge method and exact PR URL. Accepted independent review for this candidate
113
- remains a canonical authority gate; local report files cannot replace it.
114
- 2. Before the first claim, read
115
- `ace-assign authority status --mapping MAPPING --assignment ID --attempt ATTEMPT`.
116
- Its `generation` is the current authority generation and
117
- `result_candidate_generation` is the candidate generation. They are distinct;
118
- never increment or substitute one for the other. Verify the candidate generation
119
- matches the accepted candidate. Unavailable or changed selection blocks the
120
- request. Keep the exact returned generation for this invocation; a conflict
121
- is not permission to refresh it and resend.
122
- 3. Select `create`, `update`, `ready` or `merge`. Save one nonsecret input file:
123
- create/update contain exactly `target`, `delivery`, `title`, `body`; ready
124
- contains `target`, `delivery`; merge contains `target`, `delivery`, `method`.
125
- A create target is the selected base repository URL; other operations use
126
- the exact PR URL. Target contains that URL as `resource` and nullable
127
- `artifact_digest`; delivery is the retained `forge_server`/`forge_default` and
128
- complete `pr_provenance` mapping. Method is explicitly squash, merge or rebase.
129
- The maintained owner reads one unchanged bounded regular file and computes its
130
- canonical input digest. It does not accept a caller-supplied digest for request.
131
-
132
- ```json
133
- {"target":{"resource":"https://forge.example/team/repo/pulls/25","artifact_digest":null},"delivery":{"forge_server":"forge-lab","forge_default":false,"pr_provenance":{"mode":"canonical","head_repository_url":"https://forge.example/team/repo","head_ref":"work","base_repository_url":"https://forge.example/team/repo","base_ref":"main"}},"method":"squash"}
134
- ```
135
-
136
- 4. Invoke the existing configured receiver through
137
- `ace-lab service request --project PROJECT --assignment ID --attempt ATTEMPT --mapping MAPPING --scope SCOPE --service SERVICE --candidate-head SHA --candidate-generation CANDIDATE-GENERATION --expected-generation AUTHORITY-GENERATION --operation OPERATION --authorization AUTHORIZATION --request-id REQUEST --input INPUT.json`.
138
- No dry-run or standalone fallback exists here. Retain the returned original
139
- `selection` from either `data` or `error`: it includes input_digest and target.
140
- `service_claim_accepted` acknowledges a durable claim, not operation completion.
141
- `service_claim_unconfirmed` requires inspection of this original request;
142
- neither uncertainty nor a timeout authorizes automatic resubmission.
143
- 5. Read exact canonical status without an effect:
144
- `ace-lab service status --request REQUEST --project PROJECT --assignment ID --attempt ATTEMPT --mapping MAPPING --scope SCOPE --candidate-head SHA --candidate-generation CANDIDATE-GENERATION --input-digest INPUT-DIGEST --target ORIGINAL-TARGET`.
145
- Use the original returned selection; omit `--artifact-digest` for null, or
146
- supply its exact original SHA256 when present. Status does not use a refreshed
147
- expected generation and never repairs or restarts an uncertain service.
148
- Missing receiver, review, authorization or installed owner stays a routed
149
- blocker. A caller-local journal or remote PR observation is not canonical proof.
150
- 6. Only after canonical succeeded status, consume the exact completed result:
151
- `ace-assign delivery --assignment ID --attempt ATTEMPT --mapping MAPPING --scope SCOPE --operation OPERATION --service-request REQUEST --candidate-head SHA --candidate-generation CANDIDATE-GENERATION --input-digest INPUT-DIGEST --target ORIGINAL-TARGET`.
152
- Apply the same nullable artifact flag rule. Do not supply local `--tests`,
153
- `--review`, title/body or parameters. The authority has already verified the
154
- original review, completion receipt/import and exact input association, and
155
- atomically published the delivery event. Worker consumption verifies that
156
- event; it neither appends evidence nor invokes the provider again.
157
- 7. Preserve the original request and result references on resume. Exact read-only
158
- status is safe; an explicit identical request may only return its retained
159
- canonical claim/result and must not refresh selectors. Never retry an unknown
160
- effect to obtain a receipt. Publication, deployment and synchronization still
161
- require their separate authorization, evidence and OTP where applicable.
162
-
163
- ## Protected campaign result before readiness or merge
164
-
165
- When the original protected parent registers `review_campaign`, finish the existing
166
- R1/R2/R3 review policy through its linked, canonically settled collection/check/
167
- approval children. Follow the protected handoff in `wfi://review/pr`; ordinary
168
- `ace-review campaign` output and `ace-assign attempt finish` are not substitutes.
169
- Draft create/update above may run before independent review. Ready and merge wait
170
- for the current canonical parent campaign result, executed checks and independent
171
- review acceptance.
172
-
173
- 1. Upload the documented R1 round input using the closed envelope
174
- `{"version":1,"round":ROUND_OBJECT,"artifacts":[{"path":"report.md","sha256":"SHA256"}]}`.
175
- Keep the original parent selectors, pinned head/base/scopes and registered
176
- campaign/requirements/policy. The round attempt_id equals its stable mutation.
177
- `ace-assign campaign-record-round --mapping MAPPING --assignment ID --attempt ATTEMPT --head SHA --candidate-generation N --mutation ROUND-ATTEMPT --input ROUND-ENVELOPE.json --artifact REPORT-BYTES`
178
- supplies ordered immutable artifact bytes, not authority-readable worker paths.
179
- Repeat the artifact flag in envelope order; settled child receipts establish
180
- execution and approval, not editable reports alone.
181
- 2. After policy acceptance, download its verified exact bytes:
182
- `ace-assign campaign-export-result --mapping MAPPING --assignment ID --attempt ATTEMPT --head SHA --candidate-generation N --output RESULT.json`.
183
- Retain exported sha256/result_identity/journal_commit. The authority owns the
184
- campaign store and validates the accepted immutable candidate; the output file
185
- is a transfer artifact, not permission to change or bypass policy.
186
- 3. Keep the original parent's succeeded review receipt, independent actors and
187
- executed checks. Add `campaign: {id: REGISTERED-CAMPAIGN, result: {path:
188
- RESULT.json, sha256: EXPORTED-SHA256}}` and the identical reference in its
189
- ordered artifacts. Upload exact exported bytes in that artifact slot with
190
- `ace-assign submit-result --mapping MAPPING --assignment ID --attempt ATTEMPT --head SHA --candidate-generation N --expected-generation G --mutation RESULT-MUTATION --receipt PARENT-RECEIPT.json --artifact RESULT.json`.
191
- Supply any other receipt artifacts in their declared order. Submission imports
192
- evidence; the original reviewer/finish owner still owns acceptance and release.
193
- G is persisted authority generation; N is candidate generation, never G.
194
-
195
- Restart retains original mutations, envelope/receipt bytes, ordered artifacts and
196
- selectors. Exact replay preserves the existing round/result; re-export only accepts
197
- an identical existing file. Changed candidate, policy or missing canonical child
198
- settlement rejects current acceptance without erasing history. Ready/merge service
199
- admission rechecks the canonical parent campaign result. Route a missing producer
200
- to its owner, keeping delivery unfinished; do not build a new receipt generator,
201
- refresh conflicting generations or use ordinary commands as a protected fallback.
202
-
203
- ## Ordinary managed delivery steps
204
-
205
- These steps retain the existing nonprotected managed workflow. They are not a
206
- fallback for an installed protected participant or a blocked protected operation.
207
-
208
-
209
- 1. Record the requested delivery steps and their owners before implementation.
210
- Follow the existing task-work plan. Commit the implementation and run appropriate
211
- package tests. If requested, perform local version/changelog preparation with
212
- `ace-bundle wfi://release/local` before final evidence and merge; it does not
213
- publish. Keep unfinished task criteria open; a bounded source checkpoint
214
- cannot mark an entire installed task done.
215
- 2. For remote delivery, prepare a concrete title and description from the changes
216
- and executed validation. Load `ace-bundle wfi://git/pr/create` and use the actual
217
- managed assignment and active delivery attempt. The executable operation is
218
- `ace-assign delivery --assignment ID --attempt ATTEMPT --operation create --title TITLE --body-file DESCRIPTION`.
219
- Provide `--parameters FILE` if required for the assignment's explicit delivery
220
- mapping. Creation defaults to a draft. Record its returned server, repositories,
221
- refs, PR number/URL and exact candidate_head.
222
- 3. Execute the independent review workflow `ace-bundle wfi://review/pr` against that
223
- exact PR and retained forge selection. Preserve its actual round completion rule,
224
- findings and reviewer identities. Fix confirmed blocking findings and rerun
225
- affected tests. Every new committed candidate, including task-only edits,
226
- invalidates prior ready/merge evidence. Historical approval remains history.
227
- 4. Obtain coordinator-accepted current-head test and independent review receipts
228
- through the existing assignment boundary. File existence, fabricated approval,
229
- exit zero or a worker claim cannot replace acceptance. Distinguish base_head,
230
- candidate_head, evidence_git_ref and journal_commit; evidence commits do not
231
- advance the deliverable branch. CI status is visible and advisory; failed
232
- executed tests, stale evidence or unresolved review findings still block.
233
- 5. Prepare the final PR body with the concrete behavior, executed checks,
234
- independent verdict and remaining limitations. Load
235
- `ace-bundle wfi://git/pr/update` and execute
236
- `ace-assign delivery --assignment ID --attempt ATTEMPT --operation update --body-file DESCRIPTION`.
237
- Mark ready only with accepted exact-head reference files:
238
- `ace-assign delivery --assignment ID --attempt ATTEMPT --operation ready --tests TEST-REF --review REVIEW-REF`.
239
- Each reference file contains only attempt_id and receipt_digest.
240
- 6. Hand off merge only to the existing authorized integrator/service for the exact
241
- PR, candidate and operation. Its executor uses the neutral provider merge with
242
- both required values:
243
- `ace-git pr merge IDENTIFIER --server NAME --expected-head CANDIDATE-SHA --method METHOD --format json`.
244
- METHOD is the authorized squash, merge or rebase choice, never an implicit
245
- default. The assignment worker consumes a completed verified service receipt:
246
- `ace-assign delivery --assignment ID --attempt ATTEMPT --operation merge --tests TEST-REF --review REVIEW-REF --service-request REQUEST`.
247
- This command does not dispatch or execute its own pending merge. If no actual
248
- configured executor or valid receipt is available, retain the routed blocker.
249
- 7. Local version/changelog preparation is optional requested work from step1.
250
- It must be included before final exact-head evidence and merge. Preparation
251
- requested after a completed merge starts a separate follow-up candidate/scope;
252
- the old merge does not accept its amended content.
253
- Publication, deployment and synchronization are distinct operations with their
254
- own valid authorization, executed technical evidence and any required OTP.
255
- Authorized merge does not authorize them. Do not add an unnecessary proposal
256
- for an already authorized operation or fabricate an unavailable proposal API.
257
- 8. Record the exact delivered scope, candidate, receipt references, review verdict
258
- and remaining gates. A requested delivery-only scope can finish after its
259
- authorized merge; publication is not mandatory. Keep the task in progress until
260
- all of its actual acceptance criteria are satisfied.
90
+ Managed delivery — assignment-scoped evidence and the reviewer/integrator
91
+ role handoff — lands with the role workflow in L5.5. Until then, standalone
92
+ delivery above is the active path. When the work belongs to an assignment, record
93
+ actual artifacts, executed checks and the independent reviewer verdict for the
94
+ exact head in the assignment step report (or the project task folder). Never
95
+ substitute a written report or exit code for evidence that was not produced.
261
96
 
262
97
  ## Unavailable publication prerequisite
263
98
 
264
99
  Requested publication is a separate step, never a consequence of merge success.
265
- Use the existing configured service policy and publisher prerequisites; an absent
266
- publisher or unavailable required OTP is a routed blocker, not permission to run
267
- an alternate command/account. The ordinary tested publisher's precondition
268
- failure is ordinary source evidence only; it does not supply a protected
269
- publication receipt or positive scoped OTP capability.
100
+ Use the existing configured publisher prerequisites; an absent publisher or
101
+ unavailable required OTP is a routed blocker, not permission to run an alternate
102
+ command or account.
270
103
 
271
104
  If the requested step cannot proceed, record its value-free cause through the
272
105
  existing assignment failure owner:
273
- `ace-assign fail --assignment ID@SCOPE --attempt ATTEMPT --mapping MAPPING --message "publication blocked: prerequisite unavailable"`.
274
- Use the actual original protected selectors; ordinary assignments omit protected
275
- selectors and use their existing target. Read `ace-assign status` for that same
276
- scope afterward. The step remains failed/unfinished, with no publication receipt
277
- or task completion. Preserve an uncertain service request separately: a failure
278
- report must not claim a definitive denial or effect absence from a lost reply.
279
- Protected recovery requires the reviewed new prepared version/attempt; never
280
- finish the failed step or retry publication to manufacture success.
106
+ `ace-assign fail --assignment ID@SCOPE --message "publication blocked: prerequisite unavailable"`.
107
+ Use the actual assignment selectors; standalone work omits them and uses its
108
+ existing target. Read `ace-assign status` for that same scope afterward. The step
109
+ remains failed/unfinished, with no publication evidence or task completion. Preserve
110
+ an uncertain effect separately: a failure report must not claim a definitive denial
111
+ or effect absence from a lost reply.
281
112
 
282
113
  ## Uncertainty and resume
283
114
 
284
- In managed mode, read assignment status and retained qjl delivery events before
285
- resuming. Repeat read/check operations safely. On interrupted create, update or readiness, use the
286
- same delivery command for exact-selector reconciliation. One matching draft may
287
- be adopted; zero remains unresolved and multiple matches conflict. A different
288
- requested effect cannot be reported complete merely because an earlier effect
289
- was recovered.
115
+ When the work belongs to an assignment, read assignment status and its step
116
+ reports before resuming. Repeat read/check operations safely. On an interrupted
117
+ create, update or readiness, use the same forge command for exact-selector
118
+ reconciliation. One matching draft may be adopted; zero remains unresolved and
119
+ multiple matches conflict. A different requested effect cannot be reported complete
120
+ merely because an earlier effect was recovered.
290
121
 
291
122
  Unknown merge/publication remains unknown pending its existing owner's
292
- reconciliation. Never blindly replay an effect, substitute a generic PR result
293
- for a service receipt or translate a blocker into direct gh/fj commands.
123
+ reconciliation. Never blindly replay an effect or translate a blocker into
124
+ unverified direct provider commands.
294
125
 
295
126
  ## Success criteria
296
127
 
297
128
  - The requested scope has real artifact, current test and independent review
298
129
  evidence for its exact candidate.
299
130
  - Remote identity and explicit provenance remain fixed with honest unresolved
300
- outcomes preserved; managed mode records them in the existing attempt journal.
301
- - Readiness and authorized integration consume current evidence; managed merge
302
- additionally consumes exact service receipts. Standalone output cannot satisfy
303
- managed/protected acceptance. CI alone neither grants nor vetoes acceptance.
304
- - Optional publication remains separately authorized and unfinished installed
305
- criteria remain visible.
131
+ outcomes preserved; assignment-backed work records them in its step report.
132
+ - Readiness and authorized integration consume current evidence. CI alone neither
133
+ grants nor vetoes acceptance.
134
+ - Optional publication remains separately authorized and unfinished criteria
135
+ remain visible.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module Handbook
5
- VERSION = "0.35.0"
5
+ VERSION = "0.36.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-handbook
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.35.0
4
+ version: 0.36.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-10-08 00:00:00.000000000 Z
10
+ date: 2026-10-20 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-support-config