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.
Files changed (71) hide show
  1. package/assets/.agents/ACE/AGENT_REGISTRY.md +7 -1
  2. package/assets/.agents/ACE/agent-eval/instructions.md +41 -1
  3. package/assets/.agents/ACE/agent-memory/instructions.md +35 -1
  4. package/assets/.agents/ACE/agent-observability/instructions.md +35 -1
  5. package/assets/.agents/ACE/agent-release/instructions.md +34 -1
  6. package/assets/.agents/ACE/agent-security/instructions.md +35 -1
  7. package/assets/.agents/ACE/agent-skeptic/instructions.md +49 -0
  8. package/assets/.agents/ACE/orchestrator/AGENTS.md +11 -0
  9. package/assets/.agents/skills/ace-orchestrator/SKILL.md +40 -337
  10. package/assets/.agents/skills/ace-orchestrator/references/engineering-bootstrap-playbook.md +360 -0
  11. package/assets/.agents/skills/astgrep-index/SKILL.md +44 -51
  12. package/assets/.agents/skills/codemunch/SKILL.md +42 -520
  13. package/assets/.agents/skills/codemunch/references/ast-driven-protocol.md +543 -0
  14. package/assets/.agents/skills/codesnipe/SKILL.md +41 -648
  15. package/assets/.agents/skills/codesnipe/references/dual-codebase-playbook.md +671 -0
  16. package/assets/.agents/skills/eval-harness/SKILL.md +7 -1
  17. package/assets/.agents/skills/handoff-lint/SKILL.md +6 -0
  18. package/assets/.agents/skills/incident-commander/SKILL.md +6 -0
  19. package/assets/.agents/skills/memory-curator/SKILL.md +7 -1
  20. package/assets/.agents/skills/release-sentry/SKILL.md +6 -0
  21. package/assets/.agents/skills/risk-quant/SKILL.md +7 -1
  22. package/assets/.agents/skills/schema-forge/SKILL.md +7 -1
  23. package/assets/.agents/skills/skill-auditor/SKILL.md +1 -1
  24. package/assets/.agents/skills/state-auditor/SKILL.md +7 -1
  25. package/assets/agent-state/ACE_WORKFLOW.md +65 -0
  26. package/assets/agent-state/INTERFACE_REGISTRY.md +1 -0
  27. package/assets/agent-state/MODULES/schemas/ACE_RUNTIME_PROFILE.schema.json +79 -0
  28. package/assets/scripts/copilot-hook-dispatch.mjs +39 -1
  29. package/assets/tasks/README.md +26 -0
  30. package/dist/ace-autonomy.d.ts +137 -0
  31. package/dist/ace-autonomy.d.ts.map +1 -0
  32. package/dist/ace-autonomy.js +472 -0
  33. package/dist/ace-autonomy.js.map +1 -0
  34. package/dist/agent-runtime/role-adapters.d.ts.map +1 -1
  35. package/dist/agent-runtime/role-adapters.js +47 -6
  36. package/dist/agent-runtime/role-adapters.js.map +1 -1
  37. package/dist/helpers.d.ts.map +1 -1
  38. package/dist/helpers.js +8 -33
  39. package/dist/helpers.js.map +1 -1
  40. package/dist/problem-triage.d.ts.map +1 -1
  41. package/dist/problem-triage.js +19 -0
  42. package/dist/problem-triage.js.map +1 -1
  43. package/dist/prompts.d.ts.map +1 -1
  44. package/dist/prompts.js +101 -0
  45. package/dist/prompts.js.map +1 -1
  46. package/dist/public-surface.d.ts.map +1 -1
  47. package/dist/public-surface.js +6 -0
  48. package/dist/public-surface.js.map +1 -1
  49. package/dist/resources.d.ts.map +1 -1
  50. package/dist/resources.js +29 -0
  51. package/dist/resources.js.map +1 -1
  52. package/dist/runtime-executor.d.ts.map +1 -1
  53. package/dist/runtime-executor.js +158 -0
  54. package/dist/runtime-executor.js.map +1 -1
  55. package/dist/runtime-profile.d.ts +18 -0
  56. package/dist/runtime-profile.d.ts.map +1 -1
  57. package/dist/runtime-profile.js +39 -3
  58. package/dist/runtime-profile.js.map +1 -1
  59. package/dist/shared.d.ts.map +1 -1
  60. package/dist/shared.js +1 -0
  61. package/dist/shared.js.map +1 -1
  62. package/dist/tools-framework.d.ts.map +1 -1
  63. package/dist/tools-framework.js +366 -128
  64. package/dist/tools-framework.js.map +1 -1
  65. package/dist/tools-memory.d.ts.map +1 -1
  66. package/dist/tools-memory.js +80 -0
  67. package/dist/tools-memory.js.map +1 -1
  68. package/dist/workspace-manager.d.ts.map +1 -1
  69. package/dist/workspace-manager.js +13 -2
  70. package/dist/workspace-manager.js.map +1 -1
  71. package/package.json +1 -1
@@ -1,360 +1,63 @@
1
1
  ---
2
2
  name: ace-orchestrator
3
- description:
4
- Engineering-state bootstrap scanner for ACE-Orchestrator (invoked during the init discovery phase). Runs targeted ast-grep queries on ./src/ or ./engineering-state/ to populate ENGINEERING_SNAPSHOT.md in ./global-state/ giving the orchestrator real code facts before the first SWARM_HANDOFF.json is issued. Without this, GLOBAL_STATE_ANALYSIS is based on directory guesses.
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 CodeMunch Boot — Engineering-State Bootstrap Scanner
7
+ # ACE Orchestrator
8
8
 
9
- **IMPORTANT**: Run this skill BEFORE writing `MASTER_PLAN.md` and BEFORE issuing
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
- **Do NOT read source files directly.** Every engineering fact must come from an
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
- # --- Completion signal: stubs and TODOs ---
145
- # Rust: unimplemented/todo macros (hard stubs)
146
- ast-grep --pattern 'unimplemented!()' --lang rust --color never | grep -c "unimplemented"
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
- # Python: NotImplemented raises
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
- ### 4. Spec Alignment Check
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
- Compare what the code DOES against what the thesis/MVP spec CLAIMS it should do.
173
- This is the Orchestrator's core alignment question answered with evidence.
28
+ ## Workflow
174
29
 
175
- ```bash
176
- # Only run if venture-state MVP spec exists
177
- if [ -f "./venture-state/MVP_SPEC.md" ]; then
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
- # Extract feature keywords from MVP spec (nouns from headings and bullets)
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
- # Check which spec keywords appear in engineering symbol names
184
- comm -12 <(sort /tmp/ace_boot_symbols.txt | tr '[:upper:]' '[:lower:]') <(sort /tmp/ace_spec_keywords.txt) > /tmp/ace_covered_features.txt
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
- # Keywords in spec NOT found in code (unbuilt features)
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
- echo "=== COVERED (spec keyword found in code) ==="
190
- cat /tmp/ace_covered_features.txt | head -20
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
- echo "=== MISSING (spec keyword NOT found in code) ==="
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
- ## Activation
51
+ - `references/engineering-bootstrap-playbook.md` preserves the detailed scan playbook, command recipes, and routing tables.
353
52
 
354
- This skill is called automatically during ACE boot. It can also be called explicitly:
53
+ ## Compatibility
355
54
 
356
- **`ACE --mode boot --write-to ./global-state/ENGINEERING_SNAPSHOT.md`**
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
- Or manually triggered by the Orchestrator at any time with:
59
+ ## Failure Policy
359
60
 
360
- **`ACE --mode delta`** re-runs Steps 3 and 4 only (quality + alignment, no full census)
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.