ace-handbook 0.36.0 → 0.36.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cac18c57b00e46385b7f258503503282b9d5bd31949d76a168438c168bd23b76
4
- data.tar.gz: 5f06acc867427e2642d24060af02d07f1feede570043eaebb85b3dd0d54887d9
3
+ metadata.gz: b7e0dbdef987c766d7465a9d825e42109f9e0cca131cbd72cbe86fd722ab3788
4
+ data.tar.gz: ebb309bf73b17f5fe41cdcf0ffeb7ecab58fee5f8b1034b4e8465a1921eb567d
5
5
  SHA512:
6
- metadata.gz: c21f87773ce724a9fb852d99a6b09d48531a626bb8c2f65596e19418db4a5b98112cd6b27684d1a634926a45de3b08bfe4ec4e6210ed56fa0fd8437a8e136948
7
- data.tar.gz: bbcba1e96230949433396d2e51b7d5740f240baceda031c5993cac2acaba42eecbc50c5c92c2de5991dadccaf72a53c6e28ba438ea12dd0e189600b26b005de0
6
+ metadata.gz: 62494535cfe334c728174675f69529e16a768875ca05876693a20a8e48e502f1a0c4ae8f575c48e7fa718f4435dbd6816b4a0dd5067eb132e6134d576053b152
7
+ data.tar.gz: 56b1fe6f7c586f89b294c267ab0125a3e528fcba74135d75b314027f54f611f6a0d173be3c77bdcdb7e957e9c86a6ea48d9e472b6af0c9707612bc2d7ddfabf9
data/CHANGELOG.md CHANGED
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.36.2] - 2026-10-27
11
+
12
+ ### Added
13
+
14
+ - Add the "Asking the Counterpart" guide: one-paragraph default agent behavior for asking a counterpart through `ace-hitl ask` (send + auto-arm wake + end turn, no block/poll, no urgency language), including the secret-into-environment-variable-only rule.
15
+
16
+ ## [0.36.1] - 2026-10-25
17
+
18
+ ### Changed
19
+
20
+ - Extend the RubyGems publish workflow and release skill with the semantic-wake OTP handoff (PR74): readiness-only HITL fallback and the agent-driven single-OTP wait contract.
21
+
10
22
 
11
23
  ## [0.36.0] - 2026-10-20
12
24
 
@@ -0,0 +1,12 @@
1
+ ---
2
+ doc-type: guide
3
+ title: Asking the Counterpart
4
+ purpose: Default agent behavior for asking a human or another owner a question through ace-hitl
5
+ ace-docs:
6
+ last-updated: 2026-10-27
7
+ last-checked: 2026-10-27
8
+ ---
9
+
10
+ # Asking the Counterpart
11
+
12
+ When your work needs a decision, an approval, or a secret from another owner, ask the actual counterpart directly — for the Captain, that is the captain route (`ace-hitl ask "…" --to captain --question "…"`), never a relay chain through other agents or panes. `ask` is the last action of your turn: it creates the question, sends it through the configured route, arms your own wake for the answer, and ends the turn — so never wrap it in sleep-poll waits, blocking waits, or asker-side timeouts, and never add urgency language or deadlines to the ask text (the Captain replies whenever he wants). The answer arrives as a wake carrying the content; on wake, act on it immediately — and a secret such as an OTP goes into an environment variable only: never echoed, never passed as a command argument, never written to logs, task files, or reports.
@@ -47,7 +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.
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 through the semantic wait — exactly ONE in-process `/watch` scoped to the project ace-hitl transport folder (the folder holding that case's request/reply files, e.g. `.ace-local/hitl`), then end the turn; on wake run the project `ace-hitl-hermes sync` ONCE and reconcile the exact case state (`ace-hitl show <ref>`, never merely replies>0); never block the turn with sleep/poll loops — then run the publisher with `GEM_HOST_OTP_CODE` in the environment and never persist the OTP.
51
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.
52
52
 
53
53
  - After live publishing, recommend running `ace-test-e2e ace-monorepo-e2e TS-MONO-001` for installation verification.
@@ -7,7 +7,7 @@ doc-type: workflow
7
7
  purpose: specialized RubyGems publication baseline with non-mutating default
8
8
  update:
9
9
  frequency: on-change
10
- last-updated: "2026-08-12"
10
+ last-updated: "2026-10-23"
11
11
  ---
12
12
 
13
13
  # RubyGems Publish Workflow (Baseline)
@@ -96,9 +96,10 @@ When a project overlay authorizes live `gem push`, use this timing contract so o
96
96
  2. **Build every pending `.gem` artifact** before asking for OTP
97
97
  3. Show the final queue (order, versions, artifact paths, count)
98
98
  4. Prompt once for OTP — codes are short-lived (**~30–45s**)
99
- 5. Push immediately in dependency-respecting waves of **up to 5 concurrent** `gem push --otp` calls; aim to finish the burst in **≤30s**
100
- 6. Verify RubyGems metadata **after** the burst (not between pushes)
101
- 7. On expired/incorrect OTP: stop, list remaining gems, request a fresh OTP, resume without rebuilding unless an artifact is missing
99
+ 5. Wait for the OTP answer with the semantic wait: register exactly ONE in-process `/watch` scoped to the project ace-hitl transport folder (the folder holding that case's request/reply files), end the turn; on wake run the project `ace-hitl-hermes sync` ONCE and reconcile the exact case state — never a sleep/poll loop (during eyes-20261023 a 36x sleep-8 loop blocked the turn through the whole OTP window)
100
+ 6. Push immediately in dependency-respecting waves of **up to 5 concurrent** `gem push --otp` calls; aim to finish the burst in **≤30s**
101
+ 7. Verify RubyGems metadata **after** the burst (not between pushes)
102
+ 8. On expired/incorrect OTP: stop, list remaining gems, request a fresh OTP, resume without rebuilding unless an artifact is missing
102
103
 
103
104
  Suggested overlay commands (executed only under a project publication contract):
104
105
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module Handbook
5
- VERSION = "0.36.0"
5
+ VERSION = "0.36.2"
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.36.0
4
+ version: 0.36.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2026-10-20 00:00:00.000000000 Z
10
+ date: 2026-10-28 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-support-config
@@ -131,6 +131,7 @@ files:
131
131
  - handbook/cookbooks/setup-starting-a-multi-ruby-gem-monorepo-with-ace.cookbook.md
132
132
  - handbook/cookbooks/setup-starting-an-astro-project-with-ace.cookbook.md
133
133
  - handbook/guides/ai-agent-integration.g.md
134
+ - handbook/guides/asking-the-counterpart.g.md
134
135
  - handbook/guides/atom-pattern.g.md
135
136
  - handbook/guides/changelog.g.md
136
137
  - handbook/guides/cli-dry-cli.g.md