acstack 0.52.2 → 0.52.4

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.
package/cli/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "acstack-cli",
3
- "version": "0.52.2",
3
+ "version": "0.52.4",
4
4
  "description": "CLI for the ACStack agentic coding stack",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -353,14 +353,14 @@ What `apply` does:
353
353
  - It installs pi with `npm install -g @earendil-works/pi-coding-agent` when pi is missing
354
354
  - It installs ACStack into pi, pinned to the version of this plugin
355
355
  - Re-running `apply` after a plugin update moves the pin forward, and never back
356
- - It installs `pi-subagents`, which ACStack on pi needs to launch a subagent
356
+ - It installs `ac-teams` for agent delegation, shared tasks, and messaging
357
+ - Reapplying removes replaced delegation and todo packages only if this setup installed them; user-installed packages stay
357
358
  - It installs `billion-context` by default for context compression in pi
358
359
  - When the `bili` command is available, setup runs native plugin setup for pi
359
360
  - Setup leaves Claude Code and Codex alone, and removes bili from them if an older setup added it
360
361
  - Set `pi.billion_context: false` to leave it out, or to remove it later if this setup installed it
361
- - It installs `@juicesharp/rpiv-todo` and `pi-plugin-manager` by default
362
- - When todo is on, `apply` suggests a todo-discipline line for the user's global Pi context file if it is missing
363
- - Set `pi.todo: false` or `pi.plugin_manager: false` to leave either package out
362
+ - It installs `pi-plugin-manager` by default
363
+ - Set `pi.plugin_manager: false` to leave it out
364
364
  - It installs `@juicesharp/rpiv-ask-user-question` as pi's question tool by default
365
365
  - ACStack uses it because decisions can include markdown, code and artifact previews
366
366
  - It accepts freeform answers and notes, and needs no full-event telemetry environment variable
@@ -390,16 +390,15 @@ What `apply` does:
390
390
  - The agentic-retro step needs the agentic-retro plugin installed first, and `apply` says so when it is not
391
391
  - It writes the delegation line into pi's context file in `~/.pi/agent`, between HTML comment markers
392
392
  - That is `AGENTS.md` by default, or the first of `AGENTS.override.md`, `AGENTS.md`, `AGENTS.MD`, `CLAUDE.md` and `CLAUDE.MD` that exists, which is the one pi reads
393
- - `pi-subagents` delegates only when your request or your instructions allow it
394
- - It sets `"toolActivation": "eager"` in `~/.pi/agent/extensions/subagent/config.json`
393
+ - Delegate only when your request or your instructions allow it
395
394
  - It binds `"app.message.dequeue"` to `"ctrl+enter"` in `~/.pi/agent/keybindings.json`
396
395
  - It writes the four keys under `pi.settings` into `~/.pi/agent/settings.json`
397
396
  - It patches pi's bundled TUI so Windows Terminal Win32 input records paste as text
398
397
  - `pi update` can replace the bundle, so `setup.sh upgrade pi` reapplies the patch
399
398
  - It patches an existing herdr Pi reporter to keep the parent working while background subagents run
400
399
  - Questions still show blocked, even when children are active
401
- - The patch handles `pi-subagents` busy events and `@tintinweb/pi-subagents` Agent lifecycle events
402
- - Tintin workflows and children already running during an extension reload lack lifecycle replay and remain outside this tracking
400
+ - The patch retains legacy delegation-event support; it does not track ac-teams sessions
401
+ - Children already running during an extension reload lack lifecycle replay and remain outside this tracking
403
402
  - `apply`, herdr integration installation, and `setup.sh upgrade herdr` reapply the patch
404
403
  - Direct `herdr integration install pi` overwrites the patch; run `apply` afterward, then restart Pi or use `/reload`
405
404
  - Setup leaves unknown reporter layouts unchanged and reports the skipped patch
@@ -419,10 +418,10 @@ How it treats pi's files:
419
418
  - A value you changed after `apply` stays as you set it
420
419
  - `apply` never touches `auth.json`
421
420
  - Run `pi`, then `/login`, yourself
422
- - `setup.sh status` reports pi's version, its packages, the delegation line, `toolActivation`, and whether `auth.json` exists
421
+ - `setup.sh status` reports pi's version, its packages, the delegation line, and whether `auth.json` exists
423
422
  - The question bridge line reports a managed asset, a user-owned path, or an absent asset
424
423
  - Start a new pi session or run `/reload` after setup changes extensions
425
- - `setup.sh outdated` and `setup.sh upgrade` include `billion-context`, `@juicesharp/rpiv-todo`, `pi-plugin-manager`, `@juicesharp/rpiv-ask-user-question`, `pi-web-access`, `pi-lens`, and `pi-slash-anywhere` like pi's other npm packages
424
+ - `setup.sh outdated` and `setup.sh upgrade` include `ac-teams`, `billion-context`, `pi-plugin-manager`, `@juicesharp/rpiv-ask-user-question`, `pi-web-access`, `pi-lens`, and `pi-slash-anywhere` like pi's other npm packages
426
425
 
427
426
  ## 4. How you attach
428
427
 
@@ -240,7 +240,7 @@ flowchart TD
240
240
 
241
241
  - Run `commands.format` over touched files before final verification when configured
242
242
  - Report a non-zero exit as a formatting problem, not proof of incorrect behavior
243
- - Run the project's required build, lint, typecheck, and test checks (see Build verification)
243
+ - Run checks covering the change and explicit project requirements (see Build verification)
244
244
  - Audit whether checks detect realistic mistakes, including circular mock assertions and missing integration
245
245
  - Respect separate test ownership when reviewing changes
246
246
  - For changed frontend files, the verification owner runs configured frontend build, lint, and tests
@@ -328,15 +328,18 @@ Read-only reviewers report discrepancies to the completion owner.
328
328
 
329
329
  ## Build verification (mandatory)
330
330
 
331
- The verification owner gathers passing completion evidence for the final revision before declaring the request or parent effort complete or creating a PR.
331
+ The verification owner gathers evidence for the final revision. Opening a PR does not require running every test locally.
332
332
 
333
- Read `.acstack/project.yaml` for the specific commands:
333
+ Read `.acstack/project.yaml` for the available commands and inspect the project's CI configuration before relying on it:
334
334
 
335
- 1. Run the configured build, lint, and typecheck commands
336
- 2. Run the configured full test suite; all tests must pass
337
- 3. When `commands.test_collect` is configured, compare the count against `.acstack/.test-baseline` if present; investigate removed coverage and honor project baseline requirements
338
- 4. Run configured frontend build, lint, and tests when frontend files changed
339
- 5. Complete configured design and browser gates when applicable
335
+ 1. Use focused local checks by default: cover changed behavior, affected callers, and relevant integration paths
336
+ 2. Run applicable build, lint, and typecheck checks; scope them when the tooling supports it
337
+ 3. A configured command is not a requirement to run its entire suite. Run the full suite locally only when explicitly required by the user or project instructions, or when broad or uncertain impact cannot be covered adequately by narrower checks
338
+ 4. When `commands.test_collect` is configured, compare the count against `.acstack/.test-baseline` if present; investigate removed coverage and honor project baseline requirements
339
+ 5. Run configured frontend build, lint, and tests when frontend files changed, and complete applicable design and browser gates
340
+
341
+ Required CI checks must pass before merge, not before opening a PR. Defer broader checks to CI only after confirming it runs them for this change; do not assume CI runs every test.
342
+ Report which checks passed locally, which are deferred to CI, and which remain unverified. Do not describe pending CI checks as passing or the whole effort as verified.
340
343
 
341
344
  ### During implementation
342
345
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "acstack",
3
- "version": "0.52.2",
3
+ "version": "0.52.4",
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",
package/pi/extension.ts CHANGED
@@ -4,8 +4,8 @@
4
4
  * The pi port of the Claude Code hooks in hooks/. Claude Code and Codex never
5
5
  * load this file, and nothing in hooks/ depends on it.
6
6
  *
7
- * session_start symlink the CLI, warn once if pi-subagents is
8
- * missing, and print the setup reminder outside a
7
+ * session_start symlink the CLI, warn once if delegation is
8
+ * unavailable, and print the setup reminder outside a
9
9
  * acstack project (hooks/session-start.sh)
10
10
  * before_agent_start list ACStack's skills in the system prompt in every
11
11
  * session, and add orchestrator/AGENTS.md in a
@@ -659,11 +659,11 @@ export default function acstack(pi: ExtensionAPI): void {
659
659
  return;
660
660
  }
661
661
 
662
- if (!warnedSubagents && !pi.getAllTools().some((tool) => tool.name === "subagent" || tool.name === "Agent")) {
662
+ if (!warnedSubagents && !pi.getAllTools().some((tool) => tool.name === "subagent" || tool.name === "Agent" || tool.name === "team_agent")) {
663
663
  warnedSubagents = true;
664
664
  report(
665
665
  ctx,
666
- "acstack: no supported subagent tool is loaded (Agent or subagent), so the test-writer, task-executor, task-checker, and frontend-verifier agents cannot run. Install `npm:@tintinweb/pi-subagents` or `npm:pi-subagents` with `pi install`.",
666
+ "acstack: no supported subagent tool is loaded (Agent, subagent, or team_agent), so the test-writer, task-executor, task-checker, and frontend-verifier agents cannot run. Install `npm:ac-teams` with `pi install`.",
667
667
  "warning",
668
668
  );
669
669
  }
@@ -67,7 +67,7 @@ above them. Eleven of those sections install thirteen tools between them:
67
67
  - Five tools the user drives day to day: herdr, gh-dash, diffnav, lazygit and harlequin. tuicr joins them once a review starts
68
68
  - Five tools that support them: delta, tuicr, yazi, mermaid-ascii and glow
69
69
  - Two helpers of ACStack's own: acstack-md, and the acstack-clip and acstack-open pair
70
- - The pi coding agent, with ACStack and pi-subagents installed into it
70
+ - The pi coding agent, with ACStack and ac-teams installed into it
71
71
 
72
72
  The twelfth, `neovim`, installs nothing. It writes one file into a neovim config
73
73
  the user already has. `neovim` and `pi` both start off, because each writes into a config the user built.
@@ -13,7 +13,7 @@ Read this file when the user asks what a component does, which key turns it on,
13
13
  | tuicr | Reviews a pull request inside the terminal. | `tuicr.enabled` |
14
14
  | lazygit | Stages, commits, amends and pushes, on one key. | `lazygit.enabled` |
15
15
  | harlequin | A SQL editor in the terminal, on one key. Installed by uv, and launched by acstack-db. | `harlequin.enabled` |
16
- | pi | A coding agent in the terminal, with ACStack, pi-subagents and the user's own pi settings installed into it. Installed by npm, and starts off. | `pi.enabled` |
16
+ | pi | A coding agent in the terminal, with ACStack, ac-teams and the user's own pi settings installed into it. Installed by npm, and starts off. | `pi.enabled` |
17
17
  | neovim | A dot in the LazyVim statusline for a buffer with unsaved changes, and copy over SSH through OSC 52. Installs nothing, writes one file, and starts off. | `neovim.enabled` |
18
18
  | yazi | A file manager, with markdown drawn live by acstack-md. One key sends the hovered file to the machine the user sits at. | `yazi.enabled` |
19
19
  | markdown | Markdown with its mermaid diagrams drawn as text, or served to a browser. Installs acstack-md, mermaid-ascii and glow. | `markdown.enabled` |
@@ -54,7 +54,7 @@ Then ask about these settings, in this order:
54
54
  - Tell such a user to delete their own file to hand the dot to this component
55
55
  - **`pi.enabled`**: off by default. Turn it on for a user who runs pi, the coding agent, or wants ACStack inside it
56
56
  - `apply` installs pi with npm when it is missing, then installs ACStack into it, pinned to this plugin's version
57
- - `apply` always installs `pi-subagents` too, because ACStack on pi cannot launch a subagent without it
57
+ - `apply` always installs `ac-teams` too, for agent delegation, shared tasks, and messaging
58
58
  - `apply` adds one line to pi's context file in `~/.pi/agent` (`AGENTS.md` by default) that lets pi delegate when an ACStack skill says to
59
59
  - `pi.compact_tools` and `pi.agentic_retro` add pi-compact-tools and agentic-retro's pi extension, both on by default
60
60
  - agentic-retro's extension needs the agentic-retro plugin first, and `apply` says so when it is missing
@@ -25,7 +25,7 @@ and leaves the rest of the user's neovim config alone. Neither `disable` nor
25
25
  `pi` undoes only what `apply` added, because pi's config is the user's:
26
26
 
27
27
  - It removes the pi packages `apply` installed, and keeps any the user installed first
28
- - It releases the four settings and `toolActivation`, unless the user has changed one since
28
+ - It releases the settings and keybinding it wrote, unless the user has changed one since
29
29
  - A value `apply` replaced goes back to what the user had, and a key `apply` added goes
30
30
  - It puts back an ACStack pin `apply` moved forward, unless the user has moved it since
31
31
  - It removes the delegation block from pi's context file, and the user's text stays byte for byte
@@ -84,8 +84,8 @@ bash "$SETUP" upgrade yazi delta # only these
84
84
 
85
85
  pi adds four rows of its own:
86
86
 
87
- - `pi`, `pi-subagents` and `pi-compact-tools` compare against npm, and `upgrade` runs `pi update` for each
88
- - A package the user pinned, such as `npm:pi-subagents@1.0.0`, reports `unknown`, because `pi update` never moves it
87
+ - `pi`, `ac-teams` and `pi-compact-tools` compare against npm, and `upgrade` runs `pi update` for each
88
+ - A package the user pinned, such as `npm:ac-teams@1.0.0`, reports `unknown`, because `pi update` never moves it
89
89
  - `pi-acstack` compares ACStack's pin in pi against this plugin's version, with no network at all
90
90
  - `upgrade pi-acstack` moves the pin forward, and so does `apply`
91
91
  - Neither moves a pin newer than this plugin, because the user chose it