ace-swarm 2.1.1 → 2.2.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.
- package/assets/.agents/ACE/AGENT_REGISTRY.md +7 -1
- package/assets/.agents/ACE/agent-eval/instructions.md +41 -1
- package/assets/.agents/ACE/agent-memory/instructions.md +35 -1
- package/assets/.agents/ACE/agent-observability/instructions.md +35 -1
- package/assets/.agents/ACE/agent-release/instructions.md +34 -1
- package/assets/.agents/ACE/agent-security/instructions.md +35 -1
- package/assets/.agents/ACE/agent-skeptic/instructions.md +49 -0
- package/assets/.agents/ACE/orchestrator/AGENTS.md +11 -0
- package/assets/.agents/skills/ace-orchestrator/SKILL.md +40 -337
- package/assets/.agents/skills/ace-orchestrator/references/engineering-bootstrap-playbook.md +360 -0
- package/assets/.agents/skills/astgrep-index/SKILL.md +44 -51
- package/assets/.agents/skills/codemunch/SKILL.md +42 -520
- package/assets/.agents/skills/codemunch/references/ast-driven-protocol.md +543 -0
- package/assets/.agents/skills/codesnipe/SKILL.md +41 -648
- package/assets/.agents/skills/codesnipe/references/dual-codebase-playbook.md +671 -0
- package/assets/.agents/skills/eval-harness/SKILL.md +7 -1
- package/assets/.agents/skills/handoff-lint/SKILL.md +6 -0
- package/assets/.agents/skills/incident-commander/SKILL.md +6 -0
- package/assets/.agents/skills/memory-curator/SKILL.md +7 -1
- package/assets/.agents/skills/release-sentry/SKILL.md +6 -0
- package/assets/.agents/skills/risk-quant/SKILL.md +7 -1
- package/assets/.agents/skills/schema-forge/SKILL.md +7 -1
- package/assets/.agents/skills/skill-auditor/SKILL.md +1 -1
- package/assets/.agents/skills/state-auditor/SKILL.md +7 -1
- package/assets/agent-state/ACE_WORKFLOW.md +65 -0
- package/assets/agent-state/INTERFACE_REGISTRY.md +1 -0
- package/assets/agent-state/MODULES/schemas/ACE_RUNTIME_PROFILE.schema.json +79 -0
- package/assets/scripts/copilot-hook-dispatch.mjs +39 -1
- package/assets/tasks/README.md +26 -0
- package/dist/ace-autonomy.d.ts +137 -0
- package/dist/ace-autonomy.d.ts.map +1 -0
- package/dist/ace-autonomy.js +472 -0
- package/dist/ace-autonomy.js.map +1 -0
- package/dist/agent-runtime/role-adapters.d.ts.map +1 -1
- package/dist/agent-runtime/role-adapters.js +47 -6
- package/dist/agent-runtime/role-adapters.js.map +1 -1
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +8 -33
- package/dist/helpers.js.map +1 -1
- package/dist/problem-triage.d.ts.map +1 -1
- package/dist/problem-triage.js +19 -0
- package/dist/problem-triage.js.map +1 -1
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +101 -0
- package/dist/prompts.js.map +1 -1
- package/dist/public-surface.d.ts.map +1 -1
- package/dist/public-surface.js +6 -0
- package/dist/public-surface.js.map +1 -1
- package/dist/resources.d.ts.map +1 -1
- package/dist/resources.js +29 -0
- package/dist/resources.js.map +1 -1
- package/dist/runtime-executor.d.ts.map +1 -1
- package/dist/runtime-executor.js +158 -0
- package/dist/runtime-executor.js.map +1 -1
- package/dist/runtime-profile.d.ts +18 -0
- package/dist/runtime-profile.d.ts.map +1 -1
- package/dist/runtime-profile.js +39 -3
- package/dist/runtime-profile.js.map +1 -1
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +1 -0
- package/dist/shared.js.map +1 -1
- package/dist/tools-framework.d.ts.map +1 -1
- package/dist/tools-framework.js +366 -128
- package/dist/tools-framework.js.map +1 -1
- package/dist/tools-memory.d.ts.map +1 -1
- package/dist/tools-memory.js +80 -0
- package/dist/tools-memory.js.map +1 -1
- package/dist/workspace-manager.d.ts.map +1 -1
- package/dist/workspace-manager.js +13 -2
- package/dist/workspace-manager.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,360 +1,63 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ace-orchestrator
|
|
3
|
-
description:
|
|
4
|
-
|
|
3
|
+
description:
|
|
4
|
+
Build an engineering snapshot for ACE bootstrap and routing. Use when `ace init` starts discovery, the orchestrator needs current code facts before a handoff, or the existing engineering snapshot is stale.
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# ACE
|
|
7
|
+
# ACE Orchestrator
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
the first `SWARM_HANDOFF.json`. The Orchestrator's three alignment questions —
|
|
11
|
-
*"Does the Code match the Design? Does the Design match the Thesis?"* — cannot be
|
|
12
|
-
answered without structural facts about the codebase. This skill produces those
|
|
13
|
-
facts in under 60 seconds via ast-grep, costing near-zero tokens. A
|
|
14
|
-
`GLOBAL_STATE_ANALYSIS` issued without running this first is operating on fiction.
|
|
9
|
+
Use this skill to ground orchestration in real engineering evidence before planning or routing begins.
|
|
15
10
|
|
|
16
|
-
|
|
17
|
-
ast-grep command or a targeted `find`/`grep` invocation. The Orchestrator is
|
|
18
|
-
a manager, not a code reader.
|
|
11
|
+
## Purpose
|
|
19
12
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
## MICE Boundaries
|
|
23
|
-
|
|
24
|
-
| Rule | Enforcement |
|
|
25
|
-
|---|---|
|
|
26
|
-
| **Modular** | Scans engineering state; does NOT write code, fix bugs, or change specs. |
|
|
27
|
-
| **Interoperable** | Snapshot output follows canonical `ENGINEERING_SNAPSHOT.md` schema. |
|
|
28
|
-
| **Customizable** | Language detection and quality thresholds adapt to detected project type. |
|
|
29
|
-
| **Extensible** | New language patterns added via ast-grep pattern sets in Step 2. |
|
|
30
|
-
|
|
31
|
-
## Goal Orientation
|
|
32
|
-
|
|
33
|
-
- `DELETE_PROTOCOL`: Skip steps for languages not detected in Step 1.
|
|
34
|
-
- `ARTIFACT_PROTOCOL`: Session MUST produce `ENGINEERING_SNAPSHOT.md`. No snapshot = useless boot.
|
|
35
|
-
- `AGENCY_PROTOCOL`: Orchestrator reads snapshot signals to route first `SWARM_HANDOFF.json` without human input.
|
|
36
|
-
|
|
37
|
-
## Wrong-Stuff Protocol
|
|
38
|
-
|
|
39
|
-
When engineering scan reveals issues:
|
|
40
|
-
|
|
41
|
-
| Finding | Classification | Route To |
|
|
42
|
-
|---|---|---|
|
|
43
|
-
| No source code found | `missing_engineering` | `agent-builder` (genesis) |
|
|
44
|
-
| No tests found | `quality_gap` | `agent-builder` (baseline tests) |
|
|
45
|
-
| No MVP spec found | `missing_spec` | VOS (thesis pipeline) |
|
|
46
|
-
| Spec-code misalignment > 50% | `spec_violation` | `agent-spec` + `agent-builder` |
|
|
47
|
-
| > 20 stubs/TODOs | `implementation_debt` | `agent-builder` (debt clear sprint) |
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## When to Invoke
|
|
54
|
-
|
|
55
|
-
| Trigger | Action |
|
|
56
|
-
|---|---|
|
|
57
|
-
| `initiate ACE` boot sequence, Discovery phase | Run **all** steps |
|
|
58
|
-
| Orchestrator detects stale `ENGINEERING_SNAPSHOT.md` (>24h old) | Re-run all steps |
|
|
59
|
-
| ACE-Coders completes a build sprint | Re-run Steps 3 and 4 only (delta scan) |
|
|
60
|
-
| `SWARM_HANDOFF` routing decision requires engineering context | Run Step 4 only |
|
|
61
|
-
| ACE-VOS pivots thesis | Run Step 3 (spec alignment check) only |
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## Steps
|
|
66
|
-
|
|
67
|
-
### 1. Locate and Profile the Engineering State
|
|
68
|
-
|
|
69
|
-
Detect language, size, and structure before running any pattern queries.
|
|
70
|
-
Write nothing to global-state yet — this step only populates working memory.
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
# Detect primary language(s)
|
|
74
|
-
find ./src . -type f \( -name "*.rs" -o -name "*.py" -o -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.go" \) 2>/dev/null | grep -v ".git\|node_modules\|__pycache__\|target\|dist" | sed 's/.*\.//' | sort | uniq -c | sort -rn | head -10
|
|
75
|
-
|
|
76
|
-
# Count total source files and rough LOC estimate
|
|
77
|
-
find ./src . -type f -name "*.py" -o -name "*.ts" -o -name "*.rs" 2>/dev/null | grep -v ".git\|node_modules\|target" | wc -l
|
|
78
|
-
|
|
79
|
-
# Detect entry point(s)
|
|
80
|
-
find . -name "main.rs" -o -name "main.py" -o -name "index.ts" -o -name "app.py" -o -name "server.py" -o -name "main.go" 2>/dev/null | grep -v ".git\|node_modules\|target" | head -5
|
|
81
|
-
|
|
82
|
-
# Detect build/package manifest
|
|
83
|
-
ls -1 Cargo.toml pyproject.toml setup.py package.json go.mod 2>/dev/null
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Record findings as working variables:
|
|
87
|
-
```
|
|
88
|
-
LANG=<primary language>
|
|
89
|
-
ENTRY=<entry point path>
|
|
90
|
-
FILE_COUNT=<n>
|
|
91
|
-
BUILD_SYSTEM=<cargo|pip|npm|go>
|
|
92
|
-
```
|
|
13
|
+
Produce a fast, decision-ready engineering snapshot from ast-grep and lightweight filesystem scans so ACE routes work from facts instead of directory guesses.
|
|
93
14
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
### 2. Rapid Public API Census
|
|
97
|
-
|
|
98
|
-
Extract the public symbol surface. This tells the Orchestrator what the codebase
|
|
99
|
-
currently DOES — the ground truth it needs to compare against the thesis.
|
|
100
|
-
|
|
101
|
-
```bash
|
|
102
|
-
# --- Rust ---
|
|
103
|
-
# Public functions
|
|
104
|
-
ast-grep --pattern 'pub fn $NAME($$$)' --lang rust --color never | grep -oP 'pub fn \K\w+' | sort -u >> /tmp/ace_boot_symbols.txt
|
|
105
|
-
|
|
106
|
-
# Public types
|
|
107
|
-
ast-grep --pattern 'pub struct $NAME' --lang rust --color never | grep -oP 'pub struct \K\w+' | sort -u >> /tmp/ace_boot_symbols.txt
|
|
108
|
-
|
|
109
|
-
ast-grep --pattern 'pub enum $NAME' --lang rust --color never | grep -oP 'pub enum \K\w+' | sort -u >> /tmp/ace_boot_symbols.txt
|
|
110
|
-
|
|
111
|
-
# --- Python ---
|
|
112
|
-
ast-grep --pattern 'def $NAME($$$):' --lang python --color never --json | python3 -c "import sys,json; [print(s['metaVariables']['NAME']) for s in json.load(sys.stdin)]" | sort -u >> /tmp/ace_boot_symbols.txt
|
|
113
|
-
|
|
114
|
-
ast-grep --pattern 'class $NAME:' --lang python --color never --json | python3 -c "import sys,json; [print(s['metaVariables']['NAME']) for s in json.load(sys.stdin)]" | sort -u >> /tmp/ace_boot_symbols.txt
|
|
115
|
-
|
|
116
|
-
# --- TypeScript / JavaScript ---
|
|
117
|
-
ast-grep --pattern 'export function $NAME($$$)' --lang ts --color never --json | python3 -c "import sys,json; [print(s['metaVariables']['NAME']) for s in json.load(sys.stdin)]" | sort -u >> /tmp/ace_boot_symbols.txt
|
|
118
|
-
|
|
119
|
-
ast-grep --pattern 'export class $NAME' --lang ts --color never --json | python3 -c "import sys,json; [print(s['metaVariables']['NAME']) for s in json.load(sys.stdin)]" | sort -u >> /tmp/ace_boot_symbols.txt
|
|
120
|
-
|
|
121
|
-
# Total symbol count
|
|
122
|
-
wc -l /tmp/ace_boot_symbols.txt
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
### 3. Engineering Quality Scan
|
|
128
|
-
|
|
129
|
-
Measures the HEALTH of the engineering state. The Orchestrator needs this to decide
|
|
130
|
-
whether ACE-Coders needs a quality pass before any new feature work.
|
|
131
|
-
|
|
132
|
-
```bash
|
|
133
|
-
# --- Test coverage signal ---
|
|
134
|
-
# Rust: count test functions
|
|
135
|
-
ast-grep --pattern '#[test] fn $NAME()' --lang rust --color never | grep -c "fn " || echo "0 rust tests"
|
|
136
|
-
|
|
137
|
-
# Python: count test functions
|
|
138
|
-
ast-grep --pattern 'def test_$NAME($$$):' --lang python --color never | grep -c "def " || echo "0 python tests"
|
|
139
|
-
|
|
140
|
-
# TypeScript: count test blocks
|
|
141
|
-
ast-grep --pattern "it('$DESC', $$$)" --lang ts --color never | grep -c "it(" || echo "0 ts tests"
|
|
142
|
-
ast-grep --pattern 'test("$DESC", $$$)' --lang ts --color never | grep -c "test(" || echo "0 ts tests"
|
|
15
|
+
## Canonical Use Cases
|
|
143
16
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
ast-grep --pattern 'todo!()' --lang rust --color never | grep -c "todo"
|
|
17
|
+
1. `ace init` or discovery boot needs a first-pass engineering snapshot before `MASTER_PLAN.md` or the first handoff is written.
|
|
18
|
+
2. The orchestrator is about to route work, but `global-state/ENGINEERING_SNAPSHOT.md` is stale or missing.
|
|
19
|
+
3. A build sprint, thesis pivot, or major refactor requires a delta re-scan before the next orchestration decision.
|
|
148
20
|
|
|
149
|
-
|
|
150
|
-
ast-grep --pattern 'raise NotImplementedError' --lang python --color never | grep -c "raise"
|
|
151
|
-
|
|
152
|
-
# Cross-language: comment-level TODOs (soft stubs)
|
|
153
|
-
grep -rn "TODO\|FIXME\|HACK\|XXX" --include="*.rs" --include="*.py" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.go" . 2>/dev/null | grep -v ".git\|node_modules\|target" | wc -l
|
|
154
|
-
|
|
155
|
-
# --- Risk signal: unsafe code, panics ---
|
|
156
|
-
# Rust: unsafe blocks (correctness risk surface)
|
|
157
|
-
ast-grep --pattern 'unsafe { $$$ }' --lang rust --color never | grep -c "unsafe"
|
|
158
|
-
|
|
159
|
-
# Rust: unwrap() calls (panic risk surface)
|
|
160
|
-
ast-grep --pattern '$EXPR.unwrap()' --lang rust --color never | grep -c "unwrap"
|
|
161
|
-
|
|
162
|
-
# --- Architecture signal: async vs sync ---
|
|
163
|
-
ast-grep --pattern 'async fn $NAME($$$)' --lang rust --color never | grep -c "async"
|
|
164
|
-
ast-grep --pattern 'async def $NAME($$$):' --lang python --color never | grep -c "async"
|
|
165
|
-
ast-grep --pattern 'async function $NAME($$$)' --lang ts --color never | grep -c "async"
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
---
|
|
21
|
+
## Inputs
|
|
169
22
|
|
|
170
|
-
|
|
23
|
+
- The current source tree, especially `./src/` or `./engineering-state/`
|
|
24
|
+
- Project manifests and entry-point candidates
|
|
25
|
+
- `./venture-state/MVP_SPEC.md` when spec-alignment checks are available
|
|
26
|
+
- Existing `./global-state/ENGINEERING_SNAPSHOT.md` if a refresh is being evaluated
|
|
171
27
|
|
|
172
|
-
|
|
173
|
-
This is the Orchestrator's core alignment question answered with evidence.
|
|
28
|
+
## Workflow
|
|
174
29
|
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
30
|
+
1. Detect the language mix, manifests, entry points, and rough source profile.
|
|
31
|
+
2. Build a public API census using ast-grep and other narrow structural commands instead of raw code reading.
|
|
32
|
+
3. Measure quality signals such as tests, stubs, TODO density, and risk markers.
|
|
33
|
+
4. Compare engineering signals against the MVP/spec surface when those artifacts exist.
|
|
34
|
+
5. Write `./global-state/ENGINEERING_SNAPSHOT.md` with routing signals, quality signals, and spec-alignment notes.
|
|
35
|
+
6. Feed the snapshot into orchestrator planning and handoff decisions.
|
|
178
36
|
|
|
179
|
-
|
|
180
|
-
grep -oP '(?<=^#{1,3} ).*|(?<=^- ).*' ./venture-state/MVP_SPEC.md | tr '[:upper:]' '[:lower:]' | tr -cs 'a-z0-9_' '
|
|
181
|
-
' | sort -u | grep -v "^.$\|^..$" > /tmp/ace_spec_keywords.txt
|
|
37
|
+
## Outputs
|
|
182
38
|
|
|
183
|
-
|
|
184
|
-
|
|
39
|
+
- `./global-state/ENGINEERING_SNAPSHOT.md`
|
|
40
|
+
- Routing-ready engineering signals for the next `SWARM_HANDOFF.json`
|
|
41
|
+
- A concise summary suitable for the engineering section of `MASTER_PLAN.md`
|
|
185
42
|
|
|
186
|
-
|
|
187
|
-
comm -23 <(sort /tmp/ace_spec_keywords.txt) <(sort /tmp/ace_boot_symbols.txt | tr '[:upper:]' '[:lower:]') > /tmp/ace_missing_features.txt
|
|
43
|
+
## Validation
|
|
188
44
|
|
|
189
|
-
|
|
190
|
-
|
|
45
|
+
- Verify `./global-state/ENGINEERING_SNAPSHOT.md` is written and includes language, build system, entry point, and source-file counts.
|
|
46
|
+
- Verify quality signals and routing recommendations are populated from command output, not guesses.
|
|
47
|
+
- If `./venture-state/MVP_SPEC.md` exists, verify the snapshot records both covered and missing spec-alignment signals.
|
|
191
48
|
|
|
192
|
-
|
|
193
|
-
cat /tmp/ace_missing_features.txt | head -20
|
|
194
|
-
|
|
195
|
-
fi
|
|
196
|
-
|
|
197
|
-
# Check for any existing engineering-state STATUS.md
|
|
198
|
-
if [ -f "./engineering-state/STATUS.md" ]; then
|
|
199
|
-
head -30 ./engineering-state/STATUS.md
|
|
200
|
-
fi
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
### 5. Write ENGINEERING_SNAPSHOT.md
|
|
206
|
-
|
|
207
|
-
Crystallise all findings into a single artifact that the Orchestrator reads during
|
|
208
|
-
`GLOBAL_STATE_ANALYSIS`. This file becomes the engineering column of `MASTER_PLAN.md`.
|
|
209
|
-
|
|
210
|
-
Write to: `./global-state/ENGINEERING_SNAPSHOT.md`
|
|
211
|
-
|
|
212
|
-
```markdown
|
|
213
|
-
# ENGINEERING_SNAPSHOT.md
|
|
214
|
-
Generated: <ISO8601 timestamp>
|
|
215
|
-
Scanned By: ace-codemunch-boot skill
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
## Profile
|
|
220
|
-
- **Primary Language:** <lang>
|
|
221
|
-
- **Build System:** <cargo | pip | npm | go | unknown>
|
|
222
|
-
- **Entry Point:** <path>
|
|
223
|
-
- **Source Files:** <n>
|
|
224
|
-
- **Public Symbols:** <n> (functions, classes, types)
|
|
225
|
-
|
|
226
|
-
---
|
|
227
|
-
|
|
228
|
-
## Quality Signals
|
|
229
|
-
| Signal | Value | Risk Level |
|
|
230
|
-
|---|---|---|
|
|
231
|
-
| Test functions found | <n> | 🟢 / 🟡 / 🔴 |
|
|
232
|
-
| Hard stubs (unimplemented!/todo!) | <n> | 🟢 / 🟡 / 🔴 |
|
|
233
|
-
| Soft stubs (TODO/FIXME comments) | <n> | 🟢 / 🟡 / 🔴 |
|
|
234
|
-
| Unsafe blocks (Rust) / unwrap() | <n> | 🟢 / 🟡 / 🔴 |
|
|
235
|
-
| Concurrency model | async / sync / mixed | — |
|
|
236
|
-
|
|
237
|
-
Risk thresholds: 🟢 = low (0–5), 🟡 = medium (6–20), 🔴 = high (>20)
|
|
238
|
-
|
|
239
|
-
---
|
|
240
|
-
|
|
241
|
-
## Spec Alignment (vs venture-state/MVP_SPEC.md)
|
|
242
|
-
- **Covered features** (keyword found in code): <n> — see /tmp/ace_covered_features.txt
|
|
243
|
-
- **Missing features** (keyword NOT found in code): <n> — see /tmp/ace_missing_features.txt
|
|
244
|
-
|
|
245
|
-
### Top missing features (unbuilt spec items):
|
|
246
|
-
- <keyword 1>
|
|
247
|
-
- <keyword 2>
|
|
248
|
-
- <keyword 3>
|
|
249
|
-
|
|
250
|
-
---
|
|
251
|
-
|
|
252
|
-
## Routing Signals for Orchestrator
|
|
253
|
-
|
|
254
|
-
<!-- FILL THESE IN based on scan results above -->
|
|
255
|
-
<!-- These are the Orchestrator's inputs to SWARM_HANDOFF routing logic -->
|
|
256
|
-
|
|
257
|
-
CODERS_NEEDED_FOR:
|
|
258
|
-
- <stub count > 10 → "Coders must clear stubs before new features">
|
|
259
|
-
- <test count < 5 → "Coders must write baseline tests first">
|
|
260
|
-
- <missing spec features → list top 3>
|
|
261
|
-
|
|
262
|
-
VOS_NEEDED_FOR:
|
|
263
|
-
- <missing features count > 10 → "MVP scope may be too large; VOS must re-triage">
|
|
264
|
-
- <0 spec file found → "No thesis artifact; VOS must run genesis pipeline first">
|
|
265
|
-
|
|
266
|
-
UI_NEEDED_FOR:
|
|
267
|
-
- <no brand-state/ → "UI has not defined copy or flows yet">
|
|
268
|
-
|
|
269
|
-
PIPELINE_RECOMMENDATION: <genesis | pivot | ship_it>
|
|
270
|
-
Reason: <one sentence — e.g., "Code has 40% spec coverage and 3 stubs; pivot pipeline to clear debt first">
|
|
271
|
-
|
|
272
|
-
---
|
|
273
|
-
|
|
274
|
-
## Evidence Log
|
|
275
|
-
All ast-grep commands that produced this snapshot are appended below.
|
|
276
|
-
<paste raw command outputs here>
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
---
|
|
280
|
-
|
|
281
|
-
### 6. Inject into MASTER_PLAN.md and Route
|
|
282
|
-
|
|
283
|
-
After `ENGINEERING_SNAPSHOT.md` is written, the Orchestrator uses it to:
|
|
284
|
-
|
|
285
|
-
1. **Populate the Engineering column** of `MASTER_PLAN.md`:
|
|
286
|
-
```markdown
|
|
287
|
-
## Engineering State (from ENGINEERING_SNAPSHOT.md, <date>)
|
|
288
|
-
- Symbols: <n> | Tests: <n> | Stubs: <n> | Spec coverage: <n>%
|
|
289
|
-
- Status: <one sentence from routing signals>
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
2. **Check alignment** across all three pillars before routing:
|
|
293
|
-
```
|
|
294
|
-
CODE alignment check:
|
|
295
|
-
venture-state/MVP_SPEC.md exists? → YES / NO
|
|
296
|
-
brand-state/DESIGN_SYSTEM.md exists? → YES / NO
|
|
297
|
-
MISSING FEATURES in snapshot > 0? → route to Coders or VOS
|
|
298
|
-
STUB COUNT > 10? → route to Coders (debt-clear sprint)
|
|
299
|
-
NO TESTS? → route to Coders (baseline test sprint)
|
|
300
|
-
NO MVP SPEC? → route to VOS (genesis pipeline)
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
3. **Emit the first SWARM_HANDOFF.json** with engineering context attached:
|
|
304
|
-
```json
|
|
305
|
-
{
|
|
306
|
-
"router": {
|
|
307
|
-
"from": "ace-init",
|
|
308
|
-
"via": "ace-orchestrator",
|
|
309
|
-
"to": "<ace-vos | ace-ui | ace-coders>"
|
|
310
|
-
},
|
|
311
|
-
"context": {
|
|
312
|
-
"business_requirement": "./venture-state/MVP_SPEC.md",
|
|
313
|
-
"engineering_snapshot": "./global-state/ENGINEERING_SNAPSHOT.md",
|
|
314
|
-
"directive": "<derived from PIPELINE_RECOMMENDATION in snapshot>",
|
|
315
|
-
"engineering_signals": {
|
|
316
|
-
"symbol_count": "<n>",
|
|
317
|
-
"test_count": "<n>",
|
|
318
|
-
"stub_count": "<n>",
|
|
319
|
-
"missing_features": ["<f1>", "<f2>", "<f3>"],
|
|
320
|
-
"pipeline": "<genesis | pivot | ship_it>"
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
---
|
|
327
|
-
|
|
328
|
-
## Anti-Patterns
|
|
329
|
-
|
|
330
|
-
| Anti-Pattern | Correct Behavior |
|
|
331
|
-
|---|---|
|
|
332
|
-
| Reading raw source files | Use ast-grep queries and `find`/`grep` only |
|
|
333
|
-
| Routing without engineering snapshot | Always run scan before first `SWARM_HANDOFF.json` |
|
|
334
|
-
| Guessing test count | Count via ast-grep test pattern queries |
|
|
335
|
-
| Issuing `SWARM_HANDOFF` with empty `engineering_signals` | Snapshot data must populate handoff context |
|
|
336
|
-
| Skipping delta scan after coder sprint | Re-run Steps 3-4 to update snapshot |
|
|
337
|
-
|
|
338
|
-
---
|
|
339
|
-
|
|
340
|
-
## Quick Reference: Signal → Pipeline Mapping
|
|
341
|
-
|
|
342
|
-
| Engineering State | Venture State | Recommended Pipeline |
|
|
343
|
-
|---|---|---|
|
|
344
|
-
| No code yet | No MVP spec | `genesis` — VOS → UI → Coders |
|
|
345
|
-
| Code exists, no tests, many stubs | MVP spec exists | `pivot` — Coders (debt clear) → Coders (build) |
|
|
346
|
-
| Code exists, tests passing | MVP spec exists | `ship_it` — UI critique → Coders (QA) |
|
|
347
|
-
| Code exists, stubs only | No MVP spec | `genesis` — VOS must define scope first |
|
|
348
|
-
| Code complete, spec coverage > 80% | MVP spec complete | `ship_it` — UI polish then deploy |
|
|
349
|
-
|
|
350
|
-
---
|
|
49
|
+
## References
|
|
351
50
|
|
|
352
|
-
|
|
51
|
+
- `references/engineering-bootstrap-playbook.md` preserves the detailed scan playbook, command recipes, and routing tables.
|
|
353
52
|
|
|
354
|
-
|
|
53
|
+
## Compatibility
|
|
355
54
|
|
|
356
|
-
|
|
55
|
+
- `SKILL.md` is the canonical portable contract for this skill.
|
|
56
|
+
- The detailed playbook lives under `references/` for progressive disclosure and should not redefine the top-level workflow.
|
|
57
|
+
- The skill remains usable in any client that can run ast-grep and standard shell discovery commands.
|
|
357
58
|
|
|
358
|
-
|
|
59
|
+
## Failure Policy
|
|
359
60
|
|
|
360
|
-
|
|
61
|
+
- If no usable source tree is present, classify that as missing engineering context and route accordingly instead of fabricating a snapshot.
|
|
62
|
+
- If required discovery commands are unavailable, stop and report the missing tool or environment constraint explicitly.
|
|
63
|
+
- Do not route from stale or partial engineering assumptions when a fresh scan was required but could not be completed.
|