acstack 0.49.0 → 0.49.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.
Files changed (34) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/assets/terminal-workspace/helpers/acstack-bridge +185 -0
  3. package/assets/terminal-workspace/helpers/acstack-clip +88 -0
  4. package/assets/terminal-workspace/helpers/acstack-dash +25 -0
  5. package/assets/terminal-workspace/helpers/acstack-db +86 -0
  6. package/assets/terminal-workspace/helpers/acstack-diff +268 -0
  7. package/assets/terminal-workspace/helpers/acstack-edit +25 -0
  8. package/assets/terminal-workspace/helpers/acstack-gh +47 -0
  9. package/assets/terminal-workspace/helpers/acstack-herdr-renumber +93 -0
  10. package/assets/terminal-workspace/helpers/acstack-herdr-tab +49 -0
  11. package/assets/terminal-workspace/helpers/acstack-md +401 -0
  12. package/assets/terminal-workspace/helpers/acstack-md-lib +219 -0
  13. package/assets/terminal-workspace/helpers/acstack-open +217 -0
  14. package/assets/terminal-workspace/helpers/acstack-popup +13 -0
  15. package/assets/terminal-workspace/helpers/acstack-view +33 -0
  16. package/assets/terminal-workspace/helpers/xclip +31 -0
  17. package/assets/terminal-workspace/lib/apply-ghdash.sh +78 -0
  18. package/assets/terminal-workspace/lib/apply-herdr-numbers.sh +49 -0
  19. package/assets/terminal-workspace/lib/apply-herdr.sh +308 -0
  20. package/assets/terminal-workspace/lib/apply-tools.sh +293 -0
  21. package/assets/terminal-workspace/lib/apply-tuicr.sh +133 -0
  22. package/assets/terminal-workspace/lib/apply-yazi.sh +389 -0
  23. package/assets/terminal-workspace/lib/commands.sh +296 -0
  24. package/assets/terminal-workspace/lib/core.sh +184 -0
  25. package/assets/terminal-workspace/lib/helper-install.sh +35 -0
  26. package/assets/terminal-workspace/lib/pi-packages.sh +331 -0
  27. package/assets/terminal-workspace/lib/pi-state.sh +479 -0
  28. package/assets/terminal-workspace/lib/versions.sh +254 -0
  29. package/assets/terminal-workspace/setup.sh +24 -4637
  30. package/cli/package.json +1 -1
  31. package/package.json +1 -1
  32. package/skills/handoff/SKILL.md +14 -14
  33. package/skills/handoff/launch-herdr.md +15 -4
  34. package/skills/implement/SKILL.md +5 -0
package/cli/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "acstack-cli",
3
- "version": "0.49.0",
3
+ "version": "0.49.1",
4
4
  "description": "CLI for the ACStack agentic coding stack",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "acstack",
3
- "version": "0.49.0",
3
+ "version": "0.49.1",
4
4
  "private": false,
5
5
  "description": "Agentic coding stack with first-class Claude Code and pi support: skills, orchestrator instructions, and verification agents.",
6
6
  "license": "MIT",
@@ -146,8 +146,12 @@ conversation content, not project state, and must not be committable. Name it
146
146
  nothing), where `<slug>` names the work and `<timestamp>` stops two handoffs
147
147
  colliding.
148
148
 
149
- Its first line, above every heading, repeats the acknowledgement requirement
150
- verbatim, with `<this-file>` replaced by the file's own path:
149
+ Use a file-writing tool when your harness has one. Otherwise use a quoted
150
+ heredoc, `<<'EOF'`, so the shell does not expand the handoff text. An unquoted
151
+ heredoc can run backticked commands inside the note.
152
+
153
+ Its first line repeats the acknowledgement requirement verbatim, with
154
+ `<this-file>` replaced by the file's own path:
151
155
 
152
156
  ```text
153
157
  Acknowledge before any other tool call. Run ~/.claude/acstack/bin/acstack handoff ack accept --file <this-file> "<one-line reason>", or ack decline --file <this-file> "<one-line reason>". The command writes <this-file>.ack, which the sender watches.
@@ -167,22 +171,19 @@ The launch prompt is a **single-line pointer at that file**, never the handoff
167
171
  text itself. `herdr agent start` rejects newlines and tabs in its arguments.
168
172
 
169
173
  ## Every prompt opens with an acknowledgement
170
-
171
174
  Every handoff prompt asks for the command.
172
175
 
173
176
  There are two prompts, because the two destinations must say different things.
174
177
  Use the matching one verbatim, and substitute only the handoff file path.
175
178
 
176
179
  Each one is a single line. `herdr agent start` rejects newlines and tabs in its
177
- arguments. So the instruction and the pointer at the handoff file share that one
178
- line.
180
+ arguments, so the instruction and file pointer share that line.
179
181
 
180
- **Fresh agent** – one launched for this handoff, into a new pane, worktree or
181
- tab, or as a `--bg` session. Reading the handoff file is the one tool call
182
- allowed before the ack command. Every other tool call – a command, an edit, a
183
- subagent – leaves the acknowledgement still owed.
182
+ **Fresh agent** – one launched for this handoff, into a new pane, worktree,
183
+ tab, or `--bg` session. It may read the handoff file before the ack command.
184
+ Every other tool call leaves the acknowledgement still owed.
184
185
 
185
- > Before any other tool call, acknowledge this handoff by running ~/.claude/acstack/bin/acstack handoff ack accept --file <handoff-file> "<one-line reason>", or ack decline --file <handoff-file> "<one-line reason>". You may read <handoff-file> first to judge whether the work suits you, and nothing else until the command has run – the sender watches for the file it writes and cannot report this work as yours until it exists. Then continue that work.
186
+ > Before any other tool call, run ~/.claude/acstack/bin/acstack handoff ack accept --file <handoff-file> "<one-line reason>", or ack decline --file <handoff-file> "<one-line reason>". You may read <handoff-file> first. Then continue that work.
186
187
 
187
188
  **Agent already running** – one reached by cross-session message. Its variant
188
189
  of the opener is in [`running-agent.md`](running-agent.md).
@@ -208,12 +209,11 @@ Do not eyeball transcripts. The CLI watches for you:
208
209
  --session-id <id> --cwd <dir> --token <token> --turns <n>
209
210
  ```
210
211
 
211
- **Run the watcher in the background.** This session has stopped working on the
212
- task, but it must not lock up. The user can keep talking to it while the handoff
213
- lands, and the harness surfaces the watcher's exit on its own. Never sit in a
212
+ **Run the watcher in the background.** The user can keep talking while the
213
+ handoff lands. The harness surfaces the watcher's exit. Never sit in a
214
214
  foreground wait.
215
215
 
216
- [`watch.md`](watch.md) gives every flag, `--fresh` among them. When the watcher
216
+ [`watch.md`](watch.md) gives every flag, including `--fresh`. When the watcher
217
217
  exits, read [`outcomes.md`](outcomes.md) for what its result means.
218
218
 
219
219
  ## Silence the context-pressure nudge
@@ -170,15 +170,26 @@ blocked state instead of polling by hand:
170
170
  herdr agent wait <name> --until blocked --timeout <ms>
171
171
  ```
172
172
 
173
- On `blocked`, accept the dialog with `herdr agent send-keys <name> enter`. Then
174
- re-check by waiting for the session to start working:
173
+ At the trust dialog, `agent_not_ready` means the session has not reached the
174
+ prompt yet. Wait again or read `herdr agent get <name>` before sending keys.
175
+ A `blocked` result means the trust dialog is ready.
176
+
177
+ On `blocked`, accept the dialog with:
178
+
179
+ ```bash
180
+ herdr agent send-keys <name> down
181
+ herdr agent send-keys <name> enter
182
+ ```
183
+
184
+ Then re-check by waiting for the session to start working:
175
185
 
176
186
  ```bash
177
187
  herdr agent wait <name> --until working --timeout <ms>
178
188
  ```
179
189
 
180
- If either wait times out, read the agent's current state directly with
181
- `herdr agent get <name>` rather than guessing.
190
+ If either wait times out, or the agent reports `blocked` after the keys, read the
191
+ agent's current state directly with `herdr agent get <name>` rather than
192
+ guessing.
182
193
 
183
194
  Throughout this section `<name>` is the pane ID instead, whenever the launch
184
195
  timed out – see *When `agent start` times out*, above.
@@ -113,6 +113,11 @@ over the relevant code. Use `Explore` on Claude Code and `scout` on pi.
113
113
  Use as many as there are distinct places to look, not a fixed count. Act on
114
114
  what they find.
115
115
 
116
+ Downstream pipeline subagents start fresh. Pass the source, test, and doc paths
117
+ you already discovered into each test-writer, task-executor, task-checker, audit,
118
+ polish, and verifier prompt. Tell them to read those paths directly instead of
119
+ searching the codebase again.
120
+
116
121
  ### 5. Execute within the claim
117
122
 
118
123
  The pipeline's state lives inside the claim, not on the node. For each