aether-colony 3.1.17 → 5.0.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/{runtime → .aether}/CONTEXT.md +1 -1
- package/{runtime → .aether}/aether-utils.sh +1772 -98
- package/.aether/docs/QUEEN-SYSTEM.md +211 -0
- package/.aether/docs/QUEEN.md +84 -0
- package/.aether/docs/README.md +68 -0
- package/.aether/docs/caste-system.md +48 -0
- package/{runtime → .aether/docs/disciplines}/DISCIPLINES.md +8 -8
- package/.aether/docs/error-codes.md +268 -0
- package/{runtime → .aether}/docs/known-issues.md +42 -26
- package/.aether/docs/queen-commands.md +97 -0
- package/.aether/exchange/colony-registry.xml +11 -0
- package/{runtime → .aether}/exchange/pheromone-xml.sh +2 -1
- package/.aether/exchange/pheromones.xml +87 -0
- package/.aether/exchange/queen-wisdom.xml +14 -0
- package/{runtime → .aether}/exchange/registry-xml.sh +7 -3
- package/{runtime → .aether}/exchange/wisdom-xml.sh +11 -4
- package/.aether/rules/aether-colony.md +134 -0
- package/.aether/schemas/example-prompt-builder.xml +234 -0
- package/.aether/templates/colony-state-reset.jq.template +22 -0
- package/.aether/templates/colony-state.template.json +35 -0
- package/.aether/templates/constraints.template.json +9 -0
- package/.aether/templates/crowned-anthill.template.md +36 -0
- package/.aether/templates/handoff-build-error.template.md +30 -0
- package/.aether/templates/handoff-build-success.template.md +39 -0
- package/.aether/templates/handoff.template.md +40 -0
- package/{runtime → .aether}/utils/atomic-write.sh +5 -5
- package/{runtime → .aether}/utils/chamber-compare.sh +23 -10
- package/{runtime → .aether}/utils/chamber-utils.sh +32 -20
- package/{runtime → .aether}/utils/error-handler.sh +13 -1
- package/{runtime → .aether}/utils/file-lock.sh +49 -13
- package/.aether/utils/semantic-cli.sh +413 -0
- package/{runtime → .aether}/utils/xml-compose.sh +7 -1
- package/.aether/utils/xml-convert.sh +273 -0
- package/.aether/utils/xml-query.sh +201 -0
- package/.aether/utils/xml-utils.sh +110 -0
- package/{runtime → .aether}/workers.md +14 -17
- package/.claude/agents/ant/aether-ambassador.md +264 -0
- package/.claude/agents/ant/aether-archaeologist.md +322 -0
- package/.claude/agents/ant/aether-auditor.md +266 -0
- package/.claude/agents/ant/aether-builder.md +187 -0
- package/.claude/agents/ant/aether-chaos.md +268 -0
- package/.claude/agents/ant/aether-chronicler.md +304 -0
- package/.claude/agents/ant/aether-gatekeeper.md +325 -0
- package/.claude/agents/ant/aether-includer.md +373 -0
- package/.claude/agents/ant/aether-keeper.md +271 -0
- package/.claude/agents/ant/aether-measurer.md +317 -0
- package/.claude/agents/ant/aether-probe.md +210 -0
- package/.claude/agents/ant/aether-queen.md +325 -0
- package/.claude/agents/ant/aether-route-setter.md +173 -0
- package/.claude/agents/ant/aether-sage.md +353 -0
- package/.claude/agents/ant/aether-scout.md +142 -0
- package/.claude/agents/ant/aether-surveyor-disciplines.md +416 -0
- package/.claude/agents/ant/aether-surveyor-nest.md +354 -0
- package/.claude/agents/ant/aether-surveyor-pathogens.md +288 -0
- package/.claude/agents/ant/aether-surveyor-provisions.md +359 -0
- package/.claude/agents/ant/aether-tracker.md +265 -0
- package/.claude/agents/ant/aether-watcher.md +244 -0
- package/.claude/agents/ant/aether-weaver.md +247 -0
- package/.claude/commands/ant/archaeology.md +16 -7
- package/.claude/commands/ant/build.md +415 -284
- package/.claude/commands/ant/chaos.md +19 -10
- package/.claude/commands/ant/colonize.md +58 -24
- package/.claude/commands/ant/continue.md +155 -145
- package/.claude/commands/ant/council.md +15 -5
- package/.claude/commands/ant/dream.md +16 -7
- package/.claude/commands/ant/entomb.md +274 -157
- package/.claude/commands/ant/feedback.md +33 -29
- package/.claude/commands/ant/flag.md +18 -10
- package/.claude/commands/ant/flags.md +14 -6
- package/.claude/commands/ant/focus.md +29 -21
- package/.claude/commands/ant/help.md +11 -1
- package/.claude/commands/ant/history.md +10 -0
- package/.claude/commands/ant/init.md +91 -65
- package/.claude/commands/ant/interpret.md +15 -4
- package/.claude/commands/ant/lay-eggs.md +55 -7
- package/.claude/commands/ant/maturity.md +11 -1
- package/.claude/commands/ant/migrate-state.md +14 -2
- package/.claude/commands/ant/oracle.md +23 -15
- package/.claude/commands/ant/organize.md +29 -20
- package/.claude/commands/ant/pause-colony.md +17 -7
- package/.claude/commands/ant/phase.md +17 -8
- package/.claude/commands/ant/plan.md +20 -9
- package/.claude/commands/ant/redirect.md +29 -32
- package/.claude/commands/ant/resume-colony.md +19 -9
- package/.claude/commands/ant/resume.md +272 -96
- package/.claude/commands/ant/seal.md +201 -191
- package/.claude/commands/ant/status.md +71 -32
- package/.claude/commands/ant/swarm.md +26 -44
- package/.claude/commands/ant/tunnels.md +279 -105
- package/.claude/commands/ant/update.md +81 -20
- package/.claude/commands/ant/verify-castes.md +14 -4
- package/.claude/commands/ant/watch.md +13 -12
- package/.opencode/agents/aether-ambassador.md +63 -20
- package/.opencode/agents/aether-archaeologist.md +29 -12
- package/.opencode/agents/aether-auditor.md +51 -18
- package/.opencode/agents/aether-builder.md +69 -19
- package/.opencode/agents/aether-chaos.md +29 -12
- package/.opencode/agents/aether-chronicler.md +60 -18
- package/.opencode/agents/aether-gatekeeper.md +27 -18
- package/.opencode/agents/aether-includer.md +27 -18
- package/.opencode/agents/aether-keeper.md +89 -18
- package/.opencode/agents/aether-measurer.md +27 -18
- package/.opencode/agents/aether-probe.md +60 -18
- package/.opencode/agents/aether-queen.md +172 -24
- package/.opencode/agents/aether-route-setter.md +57 -12
- package/.opencode/agents/aether-sage.md +26 -18
- package/.opencode/agents/aether-scout.md +27 -19
- package/.opencode/agents/aether-surveyor-disciplines.md +53 -1
- package/.opencode/agents/aether-surveyor-nest.md +53 -1
- package/.opencode/agents/aether-surveyor-pathogens.md +51 -1
- package/.opencode/agents/aether-surveyor-provisions.md +53 -1
- package/.opencode/agents/aether-tracker.md +64 -18
- package/.opencode/agents/aether-watcher.md +66 -19
- package/.opencode/agents/aether-weaver.md +61 -18
- package/.opencode/commands/ant/build.md +406 -192
- package/.opencode/commands/ant/continue.md +66 -76
- package/.opencode/commands/ant/entomb.md +106 -45
- package/.opencode/commands/ant/init.md +46 -48
- package/.opencode/commands/ant/organize.md +5 -5
- package/.opencode/commands/ant/resume.md +334 -0
- package/.opencode/commands/ant/seal.md +33 -24
- package/.opencode/commands/ant/status.md +11 -0
- package/.opencode/commands/ant/tunnels.md +149 -0
- package/.opencode/commands/ant/update.md +59 -16
- package/CHANGELOG.md +79 -0
- package/README.md +135 -353
- package/bin/cli.js +243 -122
- package/bin/generate-commands.sh +2 -2
- package/bin/lib/init.js +13 -3
- package/bin/lib/update-transaction.js +119 -117
- package/bin/sync-to-runtime.sh +5 -137
- package/bin/validate-package.sh +84 -0
- package/package.json +9 -6
- package/.opencode/agents/aether-architect.md +0 -66
- package/.opencode/agents/aether-guardian.md +0 -107
- package/.opencode/agents/workers.md +0 -1034
- package/runtime/QUEEN_ANT_ARCHITECTURE.md +0 -402
- package/runtime/data/signatures.json +0 -41
- package/runtime/docs/AETHER-2.0-IMPLEMENTATION-PLAN.md +0 -1343
- package/runtime/docs/AETHER-PHEROMONE-SYSTEM-MASTER-SPEC.md +0 -2642
- package/runtime/docs/PHEROMONE-INJECTION.md +0 -240
- package/runtime/docs/PHEROMONE-INTEGRATION.md +0 -192
- package/runtime/docs/PHEROMONE-SYSTEM-DESIGN.md +0 -426
- package/runtime/docs/README.md +0 -94
- package/runtime/docs/VISUAL-OUTPUT-SPEC.md +0 -219
- package/runtime/docs/biological-reference.md +0 -272
- package/runtime/docs/codebase-review.md +0 -399
- package/runtime/docs/command-sync.md +0 -164
- package/runtime/docs/constraints.md +0 -116
- package/runtime/docs/implementation-learnings.md +0 -89
- package/runtime/docs/namespace.md +0 -148
- package/runtime/docs/pathogen-schema-example.json +0 -36
- package/runtime/docs/pathogen-schema.md +0 -111
- package/runtime/docs/planning-discipline.md +0 -159
- package/runtime/docs/progressive-disclosure.md +0 -184
- package/runtime/lib/queen-utils.sh +0 -729
- package/runtime/planning.md +0 -159
- package/runtime/recover.sh +0 -136
- package/runtime/utils/xml-utils.sh +0 -2196
- package/runtime/workers-new-castes.md +0 -516
- /package/{runtime → .aether/docs/disciplines}/coding-standards.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/debugging.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/learning.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/tdd.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/verification-loop.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/verification.md +0 -0
- /package/{runtime → .aether}/docs/pheromones.md +0 -0
- /package/{runtime → .aether}/model-profiles.yaml +0 -0
- /package/{runtime → .aether}/schemas/aether-types.xsd +0 -0
- /package/{runtime → .aether}/schemas/colony-registry.xsd +0 -0
- /package/{runtime → .aether}/schemas/pheromone.xsd +0 -0
- /package/{runtime → .aether}/schemas/prompt.xsd +0 -0
- /package/{runtime → .aether}/schemas/queen-wisdom.xsd +0 -0
- /package/{runtime → .aether}/schemas/worker-priming.xsd +0 -0
- /package/{runtime → .aether}/templates/QUEEN.md.template +0 -0
- /package/{runtime → .aether}/utils/colorize-log.sh +0 -0
- /package/{runtime → .aether}/utils/queen-to-md.xsl +0 -0
- /package/{runtime → .aether}/utils/spawn-tree.sh +0 -0
- /package/{runtime → .aether}/utils/spawn-with-model.sh +0 -0
- /package/{runtime → .aether}/utils/state-loader.sh +0 -0
- /package/{runtime → .aether}/utils/swarm-display.sh +0 -0
- /package/{runtime → .aether}/utils/watch-spawn-tree.sh +0 -0
- /package/{runtime → .aether}/utils/xml-core.sh +0 -0
|
@@ -66,7 +66,7 @@ Parse `$ARGUMENTS`:
|
|
|
66
66
|
|
|
67
67
|
### Step 0: Initialize Visual Mode (if enabled)
|
|
68
68
|
|
|
69
|
-
If `visual_mode` is true:
|
|
69
|
+
If `visual_mode` is true, run using the Bash tool with description "Initializing chaos display...":
|
|
70
70
|
```bash
|
|
71
71
|
# Generate session ID
|
|
72
72
|
chaos_id="chaos-$(date +%s)"
|
|
@@ -100,9 +100,9 @@ Stop here.
|
|
|
100
100
|
|
|
101
101
|
Display awakening:
|
|
102
102
|
```
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
104
|
+
🎲🐜🔍🐜🎲 R E S I L I E N C E T E S T E R A C T I V E
|
|
105
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
106
106
|
|
|
107
107
|
Target: {target description}
|
|
108
108
|
Files: {list of files being investigated}
|
|
@@ -222,7 +222,7 @@ For each scenario, produce a finding in this format. Display each to the termina
|
|
|
222
222
|
|
|
223
223
|
### Step 5: Produce the Chaos Report
|
|
224
224
|
|
|
225
|
-
**If visual_mode is true, render final swarm display
|
|
225
|
+
**If visual_mode is true, render final swarm display** by running using the Bash tool with description "Updating chaos display...":
|
|
226
226
|
```bash
|
|
227
227
|
bash .aether/aether-utils.sh swarm-display-update "Chaos Ant" "chaos" "completed" "Resilience test complete" "Colony" '{"read":8,"grep":4,"edit":0,"bash":3}' 100 "fungus_garden" 100
|
|
228
228
|
bash .aether/aether-utils.sh swarm-display-inline "$chaos_id"
|
|
@@ -231,9 +231,9 @@ bash .aether/aether-utils.sh swarm-display-inline "$chaos_id"
|
|
|
231
231
|
After all 5 scenarios, compile the structured report:
|
|
232
232
|
|
|
233
233
|
```
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
234
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
235
|
+
🎲🐜🔍🐜🎲 C H A O S R E P O R T
|
|
236
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
237
237
|
|
|
238
238
|
Target: {target description}
|
|
239
239
|
Files investigated: {count}
|
|
@@ -304,14 +304,14 @@ After the display report, output the machine-readable JSON summary:
|
|
|
304
304
|
|
|
305
305
|
### Step 6.5: Persist Blocker Flags for Critical/High Findings
|
|
306
306
|
|
|
307
|
-
After outputting the JSON report, iterate through the chaos report scenarios. For each finding with severity `"CRITICAL"` or `"HIGH"`, persist a blocker flag so the colony tracks it:
|
|
307
|
+
After outputting the JSON report, iterate through the chaos report scenarios. For each finding with severity `"CRITICAL"` or `"HIGH"`, persist a blocker flag so the colony tracks it by running using the Bash tool with description "Raising colony flag...":
|
|
308
308
|
|
|
309
309
|
```bash
|
|
310
310
|
# For each scenario where status == "finding" AND severity is "CRITICAL" or "HIGH":
|
|
311
311
|
bash .aether/aether-utils.sh flag-add "blocker" "{scenario.title}" "{scenario.description}" "chaos-standalone" {current_phase_number}
|
|
312
312
|
```
|
|
313
313
|
|
|
314
|
-
Log each flag creation:
|
|
314
|
+
Log each flag creation by running using the Bash tool with description "Logging chaos flag...":
|
|
315
315
|
```bash
|
|
316
316
|
bash .aether/aether-utils.sh activity-log "FLAG" "Chaos Ant" "Created blocker: {scenario.title}"
|
|
317
317
|
```
|
|
@@ -322,10 +322,19 @@ The `{current_phase_number}` comes from the colony state loaded in Step 1 (`.aet
|
|
|
322
322
|
|
|
323
323
|
### Step 7: Log Activity
|
|
324
324
|
|
|
325
|
+
Run using the Bash tool with description "Logging chaos activity...":
|
|
325
326
|
```bash
|
|
326
327
|
bash .aether/aether-utils.sh activity-log "CHAOS" "Chaos Ant" "Resilience test on {target}: {findings_count} finding(s) ({critical} critical, {high} high, {medium} medium, {low} low), {resilient_count} resilient"
|
|
327
328
|
```
|
|
328
329
|
|
|
330
|
+
Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
|
|
331
|
+
```bash
|
|
332
|
+
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
333
|
+
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
334
|
+
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
335
|
+
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
336
|
+
```
|
|
337
|
+
|
|
329
338
|
## Investigation Guidelines
|
|
330
339
|
|
|
331
340
|
Throughout your investigation, remember:
|
|
@@ -12,6 +12,37 @@ The arguments are: `$ARGUMENTS`
|
|
|
12
12
|
- If contains `--force` or `--force-resurvey`: set `force_resurvey = true`
|
|
13
13
|
- Otherwise: set `visual_mode = true`, `force_resurvey = false`
|
|
14
14
|
|
|
15
|
+
<failure_modes>
|
|
16
|
+
### Existing Survey Overwrite
|
|
17
|
+
If .aether/data/survey/ already contains survey documents:
|
|
18
|
+
- Warn before overwriting: "Existing survey found from [date]. Re-surveying will replace it."
|
|
19
|
+
- Options: (1) Continue and overwrite, (2) Keep existing survey, (3) Merge (re-survey only outdated sections)
|
|
20
|
+
|
|
21
|
+
### Surveyor Spawn Failure
|
|
22
|
+
If a surveyor agent fails during codebase exploration:
|
|
23
|
+
- Report which survey document was not produced
|
|
24
|
+
- Partial surveys are acceptable -- note which documents are complete vs. missing
|
|
25
|
+
- Recovery: user can re-run /ant:colonize to regenerate missing surveys
|
|
26
|
+
</failure_modes>
|
|
27
|
+
|
|
28
|
+
<success_criteria>
|
|
29
|
+
Command is complete when:
|
|
30
|
+
- All surveyor agents have completed their exploration
|
|
31
|
+
- Survey documents exist in .aether/data/survey/
|
|
32
|
+
- COLONY_STATE.json reflects colonized status
|
|
33
|
+
- User sees summary of survey findings
|
|
34
|
+
</success_criteria>
|
|
35
|
+
|
|
36
|
+
<read_only>
|
|
37
|
+
Do not touch during colonize:
|
|
38
|
+
- .aether/dreams/ (user notes)
|
|
39
|
+
- .aether/chambers/ (archived colonies)
|
|
40
|
+
- Source code files (survey is read-only exploration)
|
|
41
|
+
- .env* files
|
|
42
|
+
- .claude/settings.json
|
|
43
|
+
- COLONY_STATE.json structure beyond colonize-specific fields
|
|
44
|
+
</read_only>
|
|
45
|
+
|
|
15
46
|
## Instructions
|
|
16
47
|
|
|
17
48
|
### Step 0: Initialize Visual Mode (if enabled)
|
|
@@ -21,16 +52,15 @@ If `visual_mode` is true:
|
|
|
21
52
|
# Generate session ID
|
|
22
53
|
colonize_id="colonize-$(date +%s)"
|
|
23
54
|
|
|
24
|
-
# Initialize swarm display
|
|
25
|
-
bash .aether/aether-utils.sh swarm-display-init "$colonize_id"
|
|
26
|
-
bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "dispatching" "Surveying territory" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
|
|
55
|
+
# Initialize swarm display (consolidated)
|
|
56
|
+
bash .aether/aether-utils.sh swarm-display-init "$colonize_id" && bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "dispatching" "Surveying territory" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
|
|
27
57
|
```
|
|
28
58
|
|
|
29
59
|
Display header:
|
|
30
60
|
```
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
61
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
62
|
+
📊🐜🗺️🐜📊 C O L O N I Z E — T e r r i t o r y S u r v e y
|
|
63
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
34
64
|
|
|
35
65
|
Queen dispatching Surveyor Ants...
|
|
36
66
|
```
|
|
@@ -101,20 +131,17 @@ if [[ "$has_stale" -gt 0 ]] || [[ "$has_fresh" -gt 0 ]]; then
|
|
|
101
131
|
fi
|
|
102
132
|
```
|
|
103
133
|
|
|
104
|
-
Generate unique names for the 4 Surveyor Ants
|
|
134
|
+
Generate unique names for the 4 Surveyor Ants (each name must be captured separately):
|
|
105
135
|
```bash
|
|
106
|
-
bash .aether/aether-utils.sh generate-ant-name "surveyor"
|
|
136
|
+
bash .aether/aether-utils.sh generate-ant-name "surveyor"
|
|
107
137
|
bash .aether/aether-utils.sh generate-ant-name "surveyor"
|
|
108
138
|
bash .aether/aether-utils.sh generate-ant-name "surveyor"
|
|
109
139
|
bash .aether/aether-utils.sh generate-ant-name "surveyor"
|
|
110
140
|
```
|
|
111
141
|
|
|
112
|
-
Log the
|
|
142
|
+
Log the dispatches (consolidated - fire-and-forget logging):
|
|
113
143
|
```bash
|
|
114
|
-
bash .aether/aether-utils.sh spawn-log "Queen" "surveyor" "{provisions_name}" "Mapping provisions and trails"
|
|
115
|
-
bash .aether/aether-utils.sh spawn-log "Queen" "surveyor" "{nest_name}" "Mapping nest structure"
|
|
116
|
-
bash .aether/aether-utils.sh spawn-log "Queen" "surveyor" "{disciplines_name}" "Mapping disciplines and sentinels"
|
|
117
|
-
bash .aether/aether-utils.sh spawn-log "Queen" "surveyor" "{pathogens_name}" "Identifying pathogens"
|
|
144
|
+
bash .aether/aether-utils.sh spawn-log "Queen" "surveyor" "{provisions_name}" "Mapping provisions and trails" && bash .aether/aether-utils.sh spawn-log "Queen" "surveyor" "{nest_name}" "Mapping nest structure" && bash .aether/aether-utils.sh spawn-log "Queen" "surveyor" "{disciplines_name}" "Mapping disciplines and sentinels" && bash .aether/aether-utils.sh spawn-log "Queen" "surveyor" "{pathogens_name}" "Identifying pathogens"
|
|
118
145
|
```
|
|
119
146
|
|
|
120
147
|
**Spawn 4 Surveyor Ants in parallel using the Task tool:**
|
|
@@ -147,15 +174,9 @@ Collect confirmations from all 4 surveyors. Each should return:
|
|
|
147
174
|
|
|
148
175
|
### Step 4: Verify Survey Completeness
|
|
149
176
|
|
|
150
|
-
Check that all 7 documents were created:
|
|
177
|
+
Check that all 7 documents were created (consolidated):
|
|
151
178
|
```bash
|
|
152
|
-
ls .aether/data/survey/PROVISIONS.md
|
|
153
|
-
ls .aether/data/survey/TRAILS.md 2>/dev/null && echo "TRAILS: OK" || echo "TRAILS: MISSING"
|
|
154
|
-
ls .aether/data/survey/BLUEPRINT.md 2>/dev/null && echo "BLUEPRINT: OK" || echo "BLUEPRINT: MISSING"
|
|
155
|
-
ls .aether/data/survey/CHAMBERS.md 2>/dev/null && echo "CHAMBERS: OK" || echo "CHAMBERS: MISSING"
|
|
156
|
-
ls .aether/data/survey/DISCIPLINES.md 2>/dev/null && echo "DISCIPLINES: OK" || echo "DISCIPLINES: MISSING"
|
|
157
|
-
ls .aether/data/survey/SENTINEL-PROTOCOLS.md 2>/dev/null && echo "SENTINEL: OK" || echo "SENTINEL: MISSING"
|
|
158
|
-
ls .aether/data/survey/PATHOGENS.md 2>/dev/null && echo "PATHOGENS: OK" || echo "PATHOGENS: MISSING"
|
|
179
|
+
ls .aether/data/survey/PROVISIONS.md .aether/data/survey/TRAILS.md .aether/data/survey/BLUEPRINT.md .aether/data/survey/CHAMBERS.md .aether/data/survey/DISCIPLINES.md .aether/data/survey/SENTINEL-PROTOCOLS.md .aether/data/survey/PATHOGENS.md 2>&1 | grep -q "No such file" && echo "Some documents missing" || echo "All survey documents present"
|
|
159
180
|
```
|
|
160
181
|
|
|
161
182
|
If any documents are missing, note which ones in the output.
|
|
@@ -175,6 +196,11 @@ if [[ "$fresh_count" -lt 7 ]]; then
|
|
|
175
196
|
fi
|
|
176
197
|
```
|
|
177
198
|
|
|
199
|
+
Display colony activity summary:
|
|
200
|
+
```bash
|
|
201
|
+
bash .aether/aether-utils.sh swarm-display-text "$colonize_id"
|
|
202
|
+
```
|
|
203
|
+
|
|
178
204
|
### Step 5: Update State
|
|
179
205
|
|
|
180
206
|
Read `.aether/data/COLONY_STATE.json`. Update:
|
|
@@ -193,9 +219,9 @@ Write the updated COLONY_STATE.json.
|
|
|
193
219
|
Output header:
|
|
194
220
|
|
|
195
221
|
```
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
222
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
223
|
+
📊🐜🗺️🐜📊 T E R R I T O R Y S U R V E Y C O M P L E T E
|
|
224
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
199
225
|
```
|
|
200
226
|
|
|
201
227
|
Then output:
|
|
@@ -234,3 +260,11 @@ Next:
|
|
|
234
260
|
/ant:focus "<area>" Inject focus before planning
|
|
235
261
|
/ant:redirect "<pat>" Inject constraint before planning
|
|
236
262
|
```
|
|
263
|
+
|
|
264
|
+
Generate the state-based Next Up block:
|
|
265
|
+
```bash
|
|
266
|
+
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
267
|
+
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
268
|
+
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
269
|
+
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
270
|
+
```
|