ace-swarm 2.2.0 → 2.3.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.
Files changed (77) hide show
  1. package/CHANGELOG.md +52 -1
  2. package/README.md +86 -40
  3. package/assets/.github/hooks/ace-copilot.json +16 -16
  4. package/assets/agent-state/MODULES/schemas/VERICIFY_PROCESS_POST_LOG.schema.json +1 -0
  5. package/assets/scripts/ace-hook-dispatch.mjs +447 -0
  6. package/assets/scripts/copilot-hook-dispatch.mjs +1 -303
  7. package/assets/scripts/render-mcp-configs.sh +328 -1
  8. package/dist/ace-context.d.ts +29 -0
  9. package/dist/ace-context.d.ts.map +1 -0
  10. package/dist/ace-context.js +240 -0
  11. package/dist/ace-context.js.map +1 -0
  12. package/dist/ace-internal-tools.d.ts +8 -0
  13. package/dist/ace-internal-tools.d.ts.map +1 -0
  14. package/dist/ace-internal-tools.js +76 -0
  15. package/dist/ace-internal-tools.js.map +1 -0
  16. package/dist/ace-server-instructions.d.ts +12 -0
  17. package/dist/ace-server-instructions.d.ts.map +1 -0
  18. package/dist/ace-server-instructions.js +299 -0
  19. package/dist/ace-server-instructions.js.map +1 -0
  20. package/dist/helpers.d.ts.map +1 -1
  21. package/dist/helpers.js +90 -0
  22. package/dist/helpers.js.map +1 -1
  23. package/dist/internal-tool-runtime.d.ts +21 -0
  24. package/dist/internal-tool-runtime.d.ts.map +1 -0
  25. package/dist/internal-tool-runtime.js +136 -0
  26. package/dist/internal-tool-runtime.js.map +1 -0
  27. package/dist/local-model-runtime.d.ts +36 -0
  28. package/dist/local-model-runtime.d.ts.map +1 -0
  29. package/dist/local-model-runtime.js +161 -0
  30. package/dist/local-model-runtime.js.map +1 -0
  31. package/dist/model-bridge.d.ts +54 -0
  32. package/dist/model-bridge.d.ts.map +1 -0
  33. package/dist/model-bridge.js +587 -0
  34. package/dist/model-bridge.js.map +1 -0
  35. package/dist/orchestrator-supervisor.d.ts +100 -0
  36. package/dist/orchestrator-supervisor.d.ts.map +1 -0
  37. package/dist/orchestrator-supervisor.js +399 -0
  38. package/dist/orchestrator-supervisor.js.map +1 -0
  39. package/dist/runtime-executor.d.ts.map +1 -1
  40. package/dist/runtime-executor.js +5 -42
  41. package/dist/runtime-executor.js.map +1 -1
  42. package/dist/schemas.js +1 -1
  43. package/dist/schemas.js.map +1 -1
  44. package/dist/server.d.ts +5 -1
  45. package/dist/server.d.ts.map +1 -1
  46. package/dist/server.js +9 -1
  47. package/dist/server.js.map +1 -1
  48. package/dist/shared.d.ts +3 -3
  49. package/dist/tools-agent.d.ts +1 -0
  50. package/dist/tools-agent.d.ts.map +1 -1
  51. package/dist/tools-agent.js +456 -1
  52. package/dist/tools-agent.js.map +1 -1
  53. package/dist/tui/agent-runner.d.ts +6 -0
  54. package/dist/tui/agent-runner.d.ts.map +1 -1
  55. package/dist/tui/agent-runner.js +15 -1
  56. package/dist/tui/agent-runner.js.map +1 -1
  57. package/dist/tui/agent-worker.d.ts +3 -1
  58. package/dist/tui/agent-worker.d.ts.map +1 -1
  59. package/dist/tui/agent-worker.js +117 -9
  60. package/dist/tui/agent-worker.js.map +1 -1
  61. package/dist/tui/chat.d.ts +19 -0
  62. package/dist/tui/chat.d.ts.map +1 -1
  63. package/dist/tui/chat.js +108 -0
  64. package/dist/tui/chat.js.map +1 -1
  65. package/dist/tui/index.d.ts +1 -0
  66. package/dist/tui/index.d.ts.map +1 -1
  67. package/dist/tui/index.js +3 -0
  68. package/dist/tui/index.js.map +1 -1
  69. package/dist/vericify-bridge.d.ts +5 -1
  70. package/dist/vericify-bridge.d.ts.map +1 -1
  71. package/dist/vericify-bridge.js +10 -0
  72. package/dist/vericify-bridge.js.map +1 -1
  73. package/dist/vericify-context.d.ts +10 -0
  74. package/dist/vericify-context.d.ts.map +1 -0
  75. package/dist/vericify-context.js +72 -0
  76. package/dist/vericify-context.js.map +1 -0
  77. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -1,6 +1,57 @@
1
1
  # Changelog
2
2
 
3
- This changelog is based on local tagged release history and repository diffs.
3
+ ## [2.3.0] - 2026-03-28
4
+
5
+ ### Added
6
+
7
+ **Orchestrator Supervisor:**
8
+ - Added `run_orchestrator` MCP tool for full task-plan execution with explicit step routing, sequential/parallel dispatch, and handoff create/ack flows.
9
+ - Added Vericify context carry-forward and delta recovery for state continuity across plan execution.
10
+ - Added circuit breaker open/close hooks for upstream failure handling.
11
+ - Added plan amendment support during mid-execution.
12
+
13
+ **Model Bridge Context Management:**
14
+ - Added context budget calculation with configurable reserve (default 25%) to prevent overflow.
15
+ - Added tier fallback (full → compressed → brief) when context exceeds budget.
16
+ - Added automatic conversation history compaction (summarize older messages, retain recent messages + system).
17
+ - Added large tool-result write-through to disk with configurable truncation (default 3000 chars).
18
+ - Added retry-once on transient provider errors (abort, timeout, rate-limit).
19
+
20
+ **ACE Compliance Enforcement:**
21
+ - Added 5-layer ACE compliance enforcement: MCP instructions, per-host instruction files, lifecycle hooks, tool-level guidance, and bootstrap-on-first-tool.
22
+ - Added per-host instruction file generation for CLAUDE.md, .cursorrules, .github/copilot-instructions.md, and Codex AGENTS.md.
23
+ - Added lifecycle hook dispatcher (`ace-hook-dispatch.mjs`) with role-aware tool hints for 7 hosts.
24
+ - Added tool-level soft enforcement via guidance appended to all tool results.
25
+ - Added bootstrap nudge lifecycle for lazy ACE context loading on first mutation tool.
26
+
27
+ **Tool Governance:**
28
+ - Added named sets for explicit tool classification: BOOTSTRAP_TOOLS, REFRESH_TOOLS, NAMED_MUTATION_TOOLS.
29
+ - Added maintenance comments on mutable tool sets to prevent accidental out-of-sync registrations.
30
+ - Added Vericify resolution scoping with `startsWith` validation to prevent parent-directory leakage.
31
+
32
+ ### Changed
33
+
34
+ - Changed agent worker and runner behavior so blocked or idle TUI agents can accept new input and resume without relaunching.
35
+ - Expanded hook dispatch context to emit role-aware ACE tool hints from session, subagent, and tool lifecycle events.
36
+ - Updated bootstrap and config rendering to generate multi-host hook artifacts under `.vscode`, `.cursor`, and `.mcp-config`.
37
+
38
+ ### Validation
39
+
40
+ - Verified `208/208` tests passing (up from 202) with full orchestrator supervisor, model bridge, and compliance enforcement coverage.
41
+
42
+ ## [2.2.0] - 2026-03-26
43
+
44
+ ### Added
45
+ - Added `ace turnkey` command for rapid workspace bootstrap with one command.
46
+ - Added `ace tui` command for a full terminal operator surface with status, tasks, chat, and telemetry.
47
+ - Expanded the packaged skill system to 15 skills, including `landing-review-watcher`, `problem-triage`, `skill-auditor`, and `astgrep-index`.
48
+ - Finalized the 17-agent role system (4 swarm, 13 composable).
49
+ - Added automatic MCP client configuration for Codex, VS Code, Claude Desktop, Cursor, and Antigravity.
50
+ - Expanded the MCP tool surface to 70+ tools across 12 domain-specific modules.
51
+
52
+ ### Packaging
53
+ - Bumped package version from `2.1.0` to `2.2.0`.
54
+ - Verified 170/170 tests passing on the final v2.2.0 release candidate.
4
55
 
5
56
  ## [2.1.0] - 2026-03-13
6
57
 
package/README.md CHANGED
@@ -63,30 +63,62 @@ ACE Swarm
63
63
  ## Recent Releases
64
64
 
65
65
  ```text
66
- +---------+------------+------------------------------------------------------+
67
- | Version | Date | Highlights |
68
- +---------+------------+------------------------------------------------------+
69
- | 2.1.0 | 2026-03-13 | README redesign, ASCII docs, packaged changelog |
70
- | 2.0.7 | 2026-03-13 | runtime executor/profile/tools, trackers, workspace |
71
- | 2.0.6 | 2026-03-10 | bootstrap/workspace helper hardening |
72
- +---------+------------+------------------------------------------------------+
66
+ +------------+------------+------------------------------------------------------------------+
67
+ | Version | Date | Highlights |
68
+ +------------+------------+------------------------------------------------------------------+
69
+ | 2.3.0 | 2026-03-28 | Orchestrator supervisor, context-aware model bridge, ACE |
70
+ | | | compliance enforcement, Vericify integration, tool governance |
71
+ | 2.2.0 | 2026-03-26 | turnkey bootstrap, TUI, expanded skills/roles, client configs |
72
+ | 2.1.0 | 2026-03-13 | README redesign, ASCII docs, packaged changelog |
73
+ +------------+------------+------------------------------------------------------------------+
73
74
  ```
74
75
 
75
- See [CHANGELOG.md](./CHANGELOG.md) for the recent tagged release history that can be verified from the local repository.
76
+ See [CHANGELOG.md](./CHANGELOG.md) for detailed release notes.
77
+
78
+ ### What's New in 2.3.0
79
+
80
+ **Orchestrator Supervisor (`run_orchestrator` MCP tool):**
81
+ - Full task-plan execution loop with explicit step routing and sequential/parallel dispatch
82
+ - Handoff create/ack flows with fallback ID generation
83
+ - Vericify context carry-forward and delta recovery for state continuity
84
+ - Circuit breaker open/close for upstream failure handling
85
+ - Plan amendment support during execution
86
+
87
+ **Model Bridge Context Management:**
88
+ - Context budget calculation with configurable reserve (default 25%)
89
+ - Tier fallback (full → compressed → brief) when context overflows
90
+ - Automatic conversation history compaction (summarize older messages, retain recent + system)
91
+ - Large tool-result write-through to disk with configurable truncation
92
+ - Retry-once on transient provider errors (abort, timeout, rate-limit)
93
+
94
+ **ACE Compliance Enforcement (5 Stacked Layers):**
95
+ - Layer 1: MCP server initialization instructions (all hosts)
96
+ - Layer 2: Per-host instruction files (CLAUDE.md, .cursorrules, .github/copilot-instructions.md)
97
+ - Layer 3: Lifecycle hooks with role-aware tool hints (7 hosts)
98
+ - Layer 4: Tool-level soft enforcement (guidance on all tool results)
99
+ - Layer 5: Bootstrap-on-first-tool lazy enforcement
100
+
101
+ **Tool Governance & Vericify:**
102
+ - Named sets for explicit tool classification (BOOTSTRAP_TOOLS, REFRESH_TOOLS, NAMED_MUTATION_TOOLS)
103
+ - Vericify resolution scoping to prevent parent-directory leakage
104
+ - Full Vericify API integration with graceful degradation fallback
105
+
106
+ **Test Coverage:** 208 passing tests (up from 202)
76
107
 
77
108
  ## Core Surfaces
78
109
 
79
110
  ```text
80
- +------------------+------------------------------------------+--------------------------------------------------+
81
- | Surface | Internals | Public entrypoints |
82
- +------------------+------------------------------------------+--------------------------------------------------+
83
- | Bootstrap | workspace state, tasks, configs | `ace init`, `ace turnkey`, `ace mcp-config` |
84
- | Agent runtime | swarm + composable roles | MCP server, TUI `/agent`, packaged agent assets |
85
- | Durable state | ledgers, TODOs, handoffs, status events | runtime stores under `agent-state/*` |
86
- | Dispatch | queue, lock table, lease, recovery | `enqueue_job`, `dispatch_jobs`, `complete_job` |
87
- | Change analysis | delta scan, semantic diff, rewrite hints | `scan_workspace_delta`, `semantic_diff`, etc. |
88
- | Operator UI | tabs, chat, telemetry, model switching | `ace tui` |
89
- +------------------+------------------------------------------+--------------------------------------------------+
111
+ +------------------+----------------------------------------------+------------------------------------------------------+
112
+ | Surface | Internals | Public entrypoints |
113
+ +------------------+----------------------------------------------+------------------------------------------------------+
114
+ | Bootstrap | workspace state, tasks, configs | `ace init`, `ace turnkey`, `ace mcp-config` |
115
+ | Agent runtime | swarm roles, model bridge, tool planning | MCP server, TUI `/agent`, packaged agent assets |
116
+ | Durable state | ledgers, TODOs, handoffs, status events | runtime stores under `agent-state/*` |
117
+ | Dispatch | queue, lock table, lease, recovery | `enqueue_job`, `dispatch_jobs`, `complete_job` |
118
+ | Supervision | plan amendment, handoff, Vericify, breakers | `superviseTaskPlan`, `amendTaskPlan` |
119
+ | Change analysis | delta scan, semantic diff, rewrite hints | `scan_workspace_delta`, `semantic_diff`, etc. |
120
+ | Operator UI | tabs, ACE chat bridge, telemetry, providers | `ace tui` |
121
+ +------------------+----------------------------------------------+------------------------------------------------------+
90
122
  ```
91
123
 
92
124
  ## Workspace Internals
@@ -191,24 +223,37 @@ See [CHANGELOG.md](./CHANGELOG.md) for the recent tagged release history that ca
191
223
  Provider notes:
192
224
 
193
225
  - Ollama works directly through `ace tui`.
226
+ - ACE workspaces automatically route chat tabs through the ACE model bridge, including a pre-execution tool-selection pass and streamed tool/result updates in the transcript.
194
227
  - OpenAI-compatible providers use `OPENAI_API_KEY` and optional `OPENAI_BASE_URL`, or provider-scoped equivalents such as `CODEX_API_KEY` and `CODEX_BASE_URL`.
228
+ - `/agent` sessions can now accept follow-up input while blocked or idle, so operators can continue a run without relaunching the worker tab.
195
229
  - VS Code Copilot model hints may appear in discovery, but the standalone TUI does not directly execute through the VS Code chat runtime without an extension-side bridge.
196
230
 
231
+ ## Supervisor And Bridge Notes
232
+
233
+ - `ModelBridge` now performs a tool-planning turn before execution and can amend the model-selected scope mid-run when another valid ACE tool is required.
234
+ - Supervisor helpers now support sequential task-plan execution with amendments, handoff create/ack flows, Vericify context carry-forward, and circuit-breaker open/close hooks.
235
+ - Hook dispatch now emits richer role-aware ACE context across workspace lifecycle events, including Codex, Claude, VS Code, Cursor, Gemini, and Antigravity hook bundles.
236
+
197
237
  ## Bootstrap Outputs
198
238
 
199
239
  ```text
200
- +----------------------------------+----------------------------------------------+
201
- | Path | Output |
202
- +----------------------------------+----------------------------------------------+
203
- | `agent-state/*` | state, ledgers, schemas, reports |
204
- | `.agents/ACE/*` | packaged agent instructions |
205
- | `.agents/skills/*` | packaged skills |
206
- | `tasks/*` | task packs, examples, handoff templates |
207
- | `scripts/ace/*` | helper scripts |
208
- | `.vscode/mcp.json` | VS Code MCP config |
209
- | `.mcp-config/*` | Codex / VS Code / Claude / Cursor / Antigravity |
210
- | `.github/hooks/*.json` | optional workspace hook policies |
211
- +----------------------------------+----------------------------------------------+
240
+ +-----------------------------------+------------------------------------------------------+
241
+ | Path | Output |
242
+ +-----------------------------------+------------------------------------------------------+
243
+ | `agent-state/*` | state, ledgers, schemas, reports |
244
+ | `.agents/ACE/*` | packaged agent instructions |
245
+ | `.agents/skills/*` | packaged skills |
246
+ | `tasks/*` | task packs, examples, handoff templates |
247
+ | `scripts/ace/*` | helper scripts |
248
+ | `.vscode/mcp.json` | VS Code MCP config |
249
+ | `.vscode/ace-hooks.json` | VS Code hook bundle |
250
+ | `.cursor/hooks.json` | Cursor hook bundle |
251
+ | `.mcp-config/codex.hooks.toml` | Codex hook config |
252
+ | `.mcp-config/gemini.hooks.json` | Gemini hook bundle |
253
+ | `.mcp-config/antigravity.hooks.json` | Antigravity hook bundle |
254
+ | `.mcp-config/*` | client configs for Codex / VS Code / Claude / Cursor / Gemini / Antigravity |
255
+ | `.github/hooks/*.json` | optional workspace hook policies |
256
+ +-----------------------------------+------------------------------------------------------+
212
257
  ```
213
258
 
214
259
  Local-model bootstrap:
@@ -223,16 +268,17 @@ ace doctor --llm ollama --model llama3.1:8b
223
268
  ## Client Config Targets
224
269
 
225
270
  ```text
226
- +---------------+--------------------------------------------------------------+
227
- | Client | Target |
228
- +---------------+--------------------------------------------------------------+
229
- | Codex | `$CODEX_HOME/config.toml` or `~/.codex/config.toml` |
230
- | VS Code | `.vscode/mcp.json` |
231
- | Claude | macOS: `~/Library/Application Support/Claude/...` |
232
- | | Linux: `~/.config/Claude/claude_desktop_config.json` |
233
- | Cursor | `~/.cursor/mcp.json` |
234
- | Antigravity | import `.mcp-config/antigravity.mcp.json` in client UI |
235
- +---------------+--------------------------------------------------------------+
271
+ +---------------+---------------------------------------------------------------------+
272
+ | Client | Target |
273
+ +---------------+---------------------------------------------------------------------+
274
+ | Codex | `$CODEX_HOME/config.toml` or `~/.codex/config.toml` |
275
+ | VS Code | `.vscode/mcp.json` and `.vscode/ace-hooks.json` |
276
+ | Claude | macOS: `~/Library/Application Support/Claude/...` |
277
+ | | Linux: `~/.config/Claude/claude_desktop_config.json` |
278
+ | Cursor | `~/.cursor/mcp.json` or workspace `.cursor/hooks.json` |
279
+ | Gemini | import `.mcp-config/gemini.hooks.json` with the generated MCP config |
280
+ | Antigravity | import `.mcp-config/antigravity.mcp.json` and `.mcp-config/antigravity.hooks.json` |
281
+ +---------------+---------------------------------------------------------------------+
236
282
  ```
237
283
 
238
284
  ## Included Assets
@@ -3,64 +3,64 @@
3
3
  "SessionStart": [
4
4
  {
5
5
  "type": "command",
6
- "command": "node ./scripts/ace/copilot-hook-dispatch.mjs",
7
- "windows": "node .\\\\scripts\\\\ace\\\\copilot-hook-dispatch.mjs",
6
+ "command": "node ./scripts/ace/ace-hook-dispatch.mjs",
7
+ "windows": "node .\\\\scripts\\\\ace\\\\ace-hook-dispatch.mjs",
8
8
  "timeout": 10
9
9
  }
10
10
  ],
11
11
  "UserPromptSubmit": [
12
12
  {
13
13
  "type": "command",
14
- "command": "node ./scripts/ace/copilot-hook-dispatch.mjs",
15
- "windows": "node .\\\\scripts\\\\ace\\\\copilot-hook-dispatch.mjs",
14
+ "command": "node ./scripts/ace/ace-hook-dispatch.mjs",
15
+ "windows": "node .\\\\scripts\\\\ace\\\\ace-hook-dispatch.mjs",
16
16
  "timeout": 10
17
17
  }
18
18
  ],
19
19
  "PreToolUse": [
20
20
  {
21
21
  "type": "command",
22
- "command": "node ./scripts/ace/copilot-hook-dispatch.mjs",
23
- "windows": "node .\\\\scripts\\\\ace\\\\copilot-hook-dispatch.mjs",
22
+ "command": "node ./scripts/ace/ace-hook-dispatch.mjs",
23
+ "windows": "node .\\\\scripts\\\\ace\\\\ace-hook-dispatch.mjs",
24
24
  "timeout": 10
25
25
  }
26
26
  ],
27
27
  "PostToolUse": [
28
28
  {
29
29
  "type": "command",
30
- "command": "node ./scripts/ace/copilot-hook-dispatch.mjs",
31
- "windows": "node .\\\\scripts\\\\ace\\\\copilot-hook-dispatch.mjs",
30
+ "command": "node ./scripts/ace/ace-hook-dispatch.mjs",
31
+ "windows": "node .\\\\scripts\\\\ace\\\\ace-hook-dispatch.mjs",
32
32
  "timeout": 10
33
33
  }
34
34
  ],
35
35
  "PreCompact": [
36
36
  {
37
37
  "type": "command",
38
- "command": "node ./scripts/ace/copilot-hook-dispatch.mjs",
39
- "windows": "node .\\\\scripts\\\\ace\\\\copilot-hook-dispatch.mjs",
38
+ "command": "node ./scripts/ace/ace-hook-dispatch.mjs",
39
+ "windows": "node .\\\\scripts\\\\ace\\\\ace-hook-dispatch.mjs",
40
40
  "timeout": 10
41
41
  }
42
42
  ],
43
43
  "SubagentStart": [
44
44
  {
45
45
  "type": "command",
46
- "command": "node ./scripts/ace/copilot-hook-dispatch.mjs",
47
- "windows": "node .\\\\scripts\\\\ace\\\\copilot-hook-dispatch.mjs",
46
+ "command": "node ./scripts/ace/ace-hook-dispatch.mjs",
47
+ "windows": "node .\\\\scripts\\\\ace\\\\ace-hook-dispatch.mjs",
48
48
  "timeout": 10
49
49
  }
50
50
  ],
51
51
  "SubagentStop": [
52
52
  {
53
53
  "type": "command",
54
- "command": "node ./scripts/ace/copilot-hook-dispatch.mjs",
55
- "windows": "node .\\\\scripts\\\\ace\\\\copilot-hook-dispatch.mjs",
54
+ "command": "node ./scripts/ace/ace-hook-dispatch.mjs",
55
+ "windows": "node .\\\\scripts\\\\ace\\\\ace-hook-dispatch.mjs",
56
56
  "timeout": 10
57
57
  }
58
58
  ],
59
59
  "Stop": [
60
60
  {
61
61
  "type": "command",
62
- "command": "node ./scripts/ace/copilot-hook-dispatch.mjs",
63
- "windows": "node .\\\\scripts\\\\ace\\\\copilot-hook-dispatch.mjs",
62
+ "command": "node ./scripts/ace/ace-hook-dispatch.mjs",
63
+ "windows": "node .\\\\scripts\\\\ace\\\\ace-hook-dispatch.mjs",
64
64
  "timeout": 10
65
65
  }
66
66
  ]
@@ -59,6 +59,7 @@
59
59
  "progress",
60
60
  "blocker",
61
61
  "handoff_note",
62
+ "stale_ack",
62
63
  "completion"
63
64
  ]
64
65
  },