aether-colony 5.0.0 → 5.1.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/.aether/aether-utils.sh +3150 -3349
- package/.aether/agents-claude/aether-ambassador.md +265 -0
- package/.aether/agents-claude/aether-archaeologist.md +327 -0
- package/.aether/agents-claude/aether-architect.md +236 -0
- package/.aether/agents-claude/aether-auditor.md +271 -0
- package/.aether/agents-claude/aether-builder.md +224 -0
- package/.aether/agents-claude/aether-chaos.md +269 -0
- package/.aether/agents-claude/aether-chronicler.md +305 -0
- package/.aether/agents-claude/aether-gatekeeper.md +330 -0
- package/.aether/agents-claude/aether-includer.md +374 -0
- package/.aether/agents-claude/aether-keeper.md +272 -0
- package/.aether/agents-claude/aether-measurer.md +322 -0
- package/.aether/agents-claude/aether-oracle.md +237 -0
- package/.aether/agents-claude/aether-probe.md +211 -0
- package/.aether/agents-claude/aether-queen.md +330 -0
- package/.aether/agents-claude/aether-route-setter.md +178 -0
- package/.aether/agents-claude/aether-sage.md +418 -0
- package/.aether/agents-claude/aether-scout.md +179 -0
- package/.aether/agents-claude/aether-surveyor-disciplines.md +417 -0
- package/.aether/agents-claude/aether-surveyor-nest.md +355 -0
- package/.aether/agents-claude/aether-surveyor-pathogens.md +289 -0
- package/.aether/agents-claude/aether-surveyor-provisions.md +360 -0
- package/.aether/agents-claude/aether-tracker.md +270 -0
- package/.aether/agents-claude/aether-watcher.md +280 -0
- package/.aether/agents-claude/aether-weaver.md +248 -0
- package/.aether/commands/archaeology.yaml +653 -0
- package/.aether/commands/build.yaml +1221 -0
- package/.aether/commands/chaos.yaml +653 -0
- package/.aether/commands/colonize.yaml +438 -0
- package/.aether/commands/continue.yaml +1484 -0
- package/.aether/commands/council.yaml +304 -0
- package/.aether/commands/data-clean.yaml +80 -0
- package/.aether/commands/dream.yaml +275 -0
- package/.aether/commands/entomb.yaml +863 -0
- package/.aether/commands/export-signals.yaml +64 -0
- package/.aether/commands/feedback.yaml +158 -0
- package/.aether/commands/flag.yaml +160 -0
- package/.aether/commands/flags.yaml +177 -0
- package/.aether/commands/focus.yaml +112 -0
- package/.aether/commands/help.yaml +167 -0
- package/.aether/commands/history.yaml +137 -0
- package/.aether/commands/import-signals.yaml +79 -0
- package/.aether/commands/init.yaml +469 -0
- package/.aether/commands/insert-phase.yaml +98 -0
- package/.aether/commands/interpret.yaml +285 -0
- package/.aether/commands/lay-eggs.yaml +224 -0
- package/.aether/commands/maturity.yaml +122 -0
- package/.aether/commands/memory-details.yaml +74 -0
- package/.aether/commands/migrate-state.yaml +174 -0
- package/.aether/commands/oracle.yaml +1224 -0
- package/.aether/commands/organize.yaml +446 -0
- package/.aether/commands/patrol.yaml +621 -0
- package/.aether/commands/pause-colony.yaml +424 -0
- package/.aether/commands/phase.yaml +124 -0
- package/.aether/commands/pheromones.yaml +153 -0
- package/.aether/commands/plan.yaml +1313 -0
- package/.aether/commands/preferences.yaml +63 -0
- package/.aether/commands/redirect.yaml +123 -0
- package/.aether/commands/resume-colony.yaml +373 -0
- package/.aether/commands/resume.yaml +398 -0
- package/.aether/commands/run.yaml +193 -0
- package/.aether/commands/seal.yaml +1205 -0
- package/.aether/commands/skill-create.yaml +337 -0
- package/.aether/commands/status.yaml +364 -0
- package/.aether/commands/swarm.yaml +352 -0
- package/.aether/commands/tunnels.yaml +814 -0
- package/.aether/commands/update.yaml +131 -0
- package/.aether/commands/verify-castes.yaml +159 -0
- package/.aether/commands/watch.yaml +454 -0
- package/.aether/docs/INCIDENT_TEMPLATE.md +32 -0
- package/.aether/docs/QUEEN-SYSTEM.md +11 -11
- package/.aether/docs/README.md +32 -2
- package/.aether/docs/command-playbooks/README.md +23 -0
- package/.aether/docs/command-playbooks/build-complete.md +349 -0
- package/.aether/docs/command-playbooks/build-context.md +282 -0
- package/.aether/docs/command-playbooks/build-full.md +1682 -0
- package/.aether/docs/command-playbooks/build-prep.md +283 -0
- package/.aether/docs/command-playbooks/build-verify.md +405 -0
- package/.aether/docs/command-playbooks/build-wave.md +749 -0
- package/.aether/docs/command-playbooks/continue-advance.md +524 -0
- package/.aether/docs/command-playbooks/continue-finalize.md +447 -0
- package/.aether/docs/command-playbooks/continue-full.md +1724 -0
- package/.aether/docs/command-playbooks/continue-gates.md +686 -0
- package/.aether/docs/command-playbooks/continue-verify.md +406 -0
- package/.aether/docs/context-continuity.md +84 -0
- package/.aether/docs/disciplines/DISCIPLINES.md +9 -7
- package/.aether/docs/error-codes.md +1 -1
- package/.aether/docs/known-issues.md +34 -173
- package/.aether/docs/pheromones.md +86 -6
- package/.aether/docs/plans/pheromone-display-plan.md +257 -0
- package/.aether/docs/queen-commands.md +10 -9
- package/.aether/docs/source-of-truth-map.md +132 -0
- package/.aether/docs/xml-utilities.md +47 -0
- package/.aether/rules/aether-colony.md +23 -13
- package/.aether/scripts/incident-test-add.sh +47 -0
- package/.aether/scripts/weekly-audit.sh +79 -0
- package/.aether/skills/.index.json +649 -0
- package/.aether/skills/colony/.manifest.json +16 -0
- package/.aether/skills/colony/build-discipline/SKILL.md +78 -0
- package/.aether/skills/colony/colony-interaction/SKILL.md +56 -0
- package/.aether/skills/colony/colony-lifecycle/SKILL.md +77 -0
- package/.aether/skills/colony/colony-visuals/SKILL.md +112 -0
- package/.aether/skills/colony/context-management/SKILL.md +80 -0
- package/.aether/skills/colony/error-presentation/SKILL.md +99 -0
- package/.aether/skills/colony/pheromone-protocol/SKILL.md +79 -0
- package/.aether/skills/colony/pheromone-visibility/SKILL.md +81 -0
- package/.aether/skills/colony/state-safety/SKILL.md +84 -0
- package/.aether/skills/colony/worker-priming/SKILL.md +82 -0
- package/.aether/skills/domain/.manifest.json +24 -0
- package/.aether/skills/domain/README.md +33 -0
- package/.aether/skills/domain/django/SKILL.md +49 -0
- package/.aether/skills/domain/docker/SKILL.md +52 -0
- package/.aether/skills/domain/golang/SKILL.md +52 -0
- package/.aether/skills/domain/graphql/SKILL.md +51 -0
- package/.aether/skills/domain/html-css/SKILL.md +48 -0
- package/.aether/skills/domain/nextjs/SKILL.md +45 -0
- package/.aether/skills/domain/nodejs/SKILL.md +53 -0
- package/.aether/skills/domain/postgresql/SKILL.md +53 -0
- package/.aether/skills/domain/prisma/SKILL.md +59 -0
- package/.aether/skills/domain/python/SKILL.md +50 -0
- package/.aether/skills/domain/rails/SKILL.md +52 -0
- package/.aether/skills/domain/react/SKILL.md +45 -0
- package/.aether/skills/domain/rest-api/SKILL.md +58 -0
- package/.aether/skills/domain/svelte/SKILL.md +47 -0
- package/.aether/skills/domain/tailwind/SKILL.md +45 -0
- package/.aether/skills/domain/testing/SKILL.md +53 -0
- package/.aether/skills/domain/typescript/SKILL.md +58 -0
- package/.aether/skills/domain/vue/SKILL.md +49 -0
- package/.aether/templates/QUEEN.md.template +23 -41
- package/.aether/templates/colony-state-reset.jq.template +1 -0
- package/.aether/templates/colony-state.template.json +4 -0
- package/.aether/templates/learning-observations.template.json +6 -0
- package/.aether/templates/midden.template.json +13 -0
- package/.aether/templates/pheromones.template.json +6 -0
- package/.aether/templates/session.template.json +9 -0
- package/.aether/utils/atomic-write.sh +63 -17
- package/.aether/utils/chamber-utils.sh +145 -2
- package/.aether/utils/emoji-audit.sh +166 -0
- package/.aether/utils/error-handler.sh +21 -7
- package/.aether/utils/file-lock.sh +182 -27
- package/.aether/utils/flag.sh +267 -0
- package/.aether/utils/hive.sh +572 -0
- package/.aether/utils/learning.sh +1928 -0
- package/.aether/utils/midden.sh +342 -0
- package/.aether/utils/oracle/oracle.md +168 -0
- package/.aether/utils/oracle/oracle.sh +1023 -0
- package/.aether/utils/pheromone.sh +2029 -0
- package/.aether/utils/queen.sh +1698 -0
- package/.aether/utils/scan.sh +860 -0
- package/.aether/utils/semantic-cli.sh +10 -8
- package/.aether/utils/session.sh +552 -0
- package/.aether/utils/skills.sh +509 -0
- package/.aether/utils/spawn-tree.sh +103 -271
- package/.aether/utils/spawn.sh +260 -0
- package/.aether/utils/state-api.sh +199 -0
- package/.aether/utils/state-loader.sh +8 -6
- package/.aether/utils/suggest.sh +611 -0
- package/.aether/utils/swarm-display.sh +10 -1
- package/.aether/utils/swarm.sh +1004 -0
- package/.aether/utils/watch-spawn-tree.sh +11 -2
- package/.aether/utils/xml-compose.sh +2 -2
- package/.aether/utils/xml-convert.sh +9 -5
- package/.aether/utils/xml-core.sh +5 -9
- package/.aether/utils/xml-query.sh +4 -4
- package/.aether/workers.md +86 -67
- package/.claude/agents/ant/aether-ambassador.md +2 -1
- package/.claude/agents/ant/aether-archaeologist.md +6 -1
- package/.claude/agents/ant/aether-architect.md +236 -0
- package/.claude/agents/ant/aether-auditor.md +6 -1
- package/.claude/agents/ant/aether-builder.md +38 -1
- package/.claude/agents/ant/aether-chaos.md +2 -1
- package/.claude/agents/ant/aether-chronicler.md +1 -0
- package/.claude/agents/ant/aether-gatekeeper.md +6 -1
- package/.claude/agents/ant/aether-includer.md +1 -0
- package/.claude/agents/ant/aether-keeper.md +1 -0
- package/.claude/agents/ant/aether-measurer.md +6 -1
- package/.claude/agents/ant/aether-oracle.md +237 -0
- package/.claude/agents/ant/aether-probe.md +2 -1
- package/.claude/agents/ant/aether-queen.md +6 -1
- package/.claude/agents/ant/aether-route-setter.md +6 -1
- package/.claude/agents/ant/aether-sage.md +68 -3
- package/.claude/agents/ant/aether-scout.md +38 -1
- package/.claude/agents/ant/aether-surveyor-disciplines.md +2 -1
- package/.claude/agents/ant/aether-surveyor-nest.md +2 -1
- package/.claude/agents/ant/aether-surveyor-pathogens.md +2 -1
- package/.claude/agents/ant/aether-surveyor-provisions.md +2 -1
- package/.claude/agents/ant/aether-tracker.md +6 -1
- package/.claude/agents/ant/aether-watcher.md +37 -1
- package/.claude/agents/ant/aether-weaver.md +2 -1
- package/.claude/commands/ant/archaeology.md +1 -8
- package/.claude/commands/ant/build.md +43 -1159
- package/.claude/commands/ant/chaos.md +1 -14
- package/.claude/commands/ant/colonize.md +1 -14
- package/.claude/commands/ant/continue.md +40 -1026
- package/.claude/commands/ant/council.md +9 -16
- package/.claude/commands/ant/data-clean.md +81 -0
- package/.claude/commands/ant/dream.md +12 -9
- package/.claude/commands/ant/entomb.md +62 -87
- package/.claude/commands/ant/export-signals.md +57 -0
- package/.claude/commands/ant/feedback.md +18 -0
- package/.claude/commands/ant/flag.md +12 -0
- package/.claude/commands/ant/flags.md +22 -8
- package/.claude/commands/ant/focus.md +18 -0
- package/.claude/commands/ant/help.md +40 -8
- package/.claude/commands/ant/history.md +3 -0
- package/.claude/commands/ant/import-signals.md +71 -0
- package/.claude/commands/ant/init.md +316 -191
- package/.claude/commands/ant/insert-phase.md +101 -0
- package/.claude/commands/ant/interpret.md +11 -0
- package/.claude/commands/ant/lay-eggs.md +167 -158
- package/.claude/commands/ant/maturity.md +22 -11
- package/.claude/commands/ant/memory-details.md +77 -0
- package/.claude/commands/ant/migrate-state.md +6 -0
- package/.claude/commands/ant/oracle.md +317 -62
- package/.claude/commands/ant/organize.md +10 -5
- package/.claude/commands/ant/patrol.md +620 -0
- package/.claude/commands/ant/pause-colony.md +8 -22
- package/.claude/commands/ant/phase.md +26 -37
- package/.claude/commands/ant/pheromones.md +156 -0
- package/.claude/commands/ant/plan.md +175 -52
- package/.claude/commands/ant/preferences.md +65 -0
- package/.claude/commands/ant/redirect.md +18 -0
- package/.claude/commands/ant/resume-colony.md +34 -20
- package/.claude/commands/ant/resume.md +51 -7
- package/.claude/commands/ant/run.md +195 -0
- package/.claude/commands/ant/seal.md +497 -78
- package/.claude/commands/ant/skill-create.md +286 -0
- package/.claude/commands/ant/status.md +127 -1
- package/.claude/commands/ant/swarm.md +11 -23
- package/.claude/commands/ant/tunnels.md +1 -0
- package/.claude/commands/ant/update.md +58 -135
- package/.claude/commands/ant/verify-castes.md +90 -42
- package/.claude/commands/ant/watch.md +1 -0
- package/.opencode/agents/aether-ambassador.md +1 -1
- package/.opencode/agents/aether-architect.md +133 -0
- package/.opencode/agents/aether-builder.md +3 -3
- package/.opencode/agents/aether-oracle.md +137 -0
- package/.opencode/agents/aether-queen.md +1 -1
- package/.opencode/agents/aether-route-setter.md +1 -1
- package/.opencode/agents/aether-scout.md +1 -1
- package/.opencode/agents/aether-surveyor-disciplines.md +6 -1
- package/.opencode/agents/aether-surveyor-nest.md +6 -1
- package/.opencode/agents/aether-surveyor-pathogens.md +6 -1
- package/.opencode/agents/aether-surveyor-provisions.md +6 -1
- package/.opencode/agents/aether-tracker.md +1 -1
- package/.opencode/agents/aether-watcher.md +1 -1
- package/.opencode/agents/aether-weaver.md +1 -1
- package/.opencode/commands/ant/archaeology.md +7 -14
- package/.opencode/commands/ant/build.md +54 -88
- package/.opencode/commands/ant/chaos.md +7 -24
- package/.opencode/commands/ant/colonize.md +8 -17
- package/.opencode/commands/ant/continue.md +595 -66
- package/.opencode/commands/ant/council.md +11 -22
- package/.opencode/commands/ant/data-clean.md +77 -0
- package/.opencode/commands/ant/dream.md +15 -17
- package/.opencode/commands/ant/entomb.md +28 -18
- package/.opencode/commands/ant/export-signals.md +54 -0
- package/.opencode/commands/ant/feedback.md +24 -5
- package/.opencode/commands/ant/flag.md +16 -4
- package/.opencode/commands/ant/flags.md +24 -10
- package/.opencode/commands/ant/focus.md +22 -5
- package/.opencode/commands/ant/help.md +41 -8
- package/.opencode/commands/ant/history.md +9 -0
- package/.opencode/commands/ant/import-signals.md +68 -0
- package/.opencode/commands/ant/init.md +365 -156
- package/.opencode/commands/ant/insert-phase.md +107 -0
- package/.opencode/commands/ant/interpret.md +16 -0
- package/.opencode/commands/ant/lay-eggs.md +184 -112
- package/.opencode/commands/ant/maturity.md +18 -2
- package/.opencode/commands/ant/memory-details.md +83 -0
- package/.opencode/commands/ant/migrate-state.md +12 -0
- package/.opencode/commands/ant/oracle.md +322 -67
- package/.opencode/commands/ant/organize.md +14 -12
- package/.opencode/commands/ant/patrol.md +626 -0
- package/.opencode/commands/ant/pause-colony.md +12 -29
- package/.opencode/commands/ant/phase.md +30 -40
- package/.opencode/commands/ant/pheromones.md +162 -0
- package/.opencode/commands/ant/plan.md +184 -56
- package/.opencode/commands/ant/preferences.md +71 -0
- package/.opencode/commands/ant/redirect.md +22 -5
- package/.opencode/commands/ant/resume-colony.md +38 -27
- package/.opencode/commands/ant/resume.md +71 -20
- package/.opencode/commands/ant/run.md +201 -0
- package/.opencode/commands/ant/seal.md +230 -25
- package/.opencode/commands/ant/skill-create.md +63 -0
- package/.opencode/commands/ant/status.md +124 -31
- package/.opencode/commands/ant/swarm.md +3 -345
- package/.opencode/commands/ant/tunnels.md +3 -9
- package/.opencode/commands/ant/update.md +63 -127
- package/.opencode/commands/ant/verify-castes.md +96 -42
- package/.opencode/commands/ant/watch.md +7 -0
- package/CHANGELOG.md +278 -1
- package/README.md +188 -340
- package/bin/cli.js +236 -429
- package/bin/generate-commands.js +186 -0
- package/bin/generate-commands.sh +128 -89
- package/bin/lib/spawn-logger.js +0 -15
- package/bin/lib/update-transaction.js +285 -35
- package/bin/npx-install.js +178 -0
- package/bin/validate-package.sh +85 -3
- package/package.json +7 -3
- package/.aether/CONTEXT.md +0 -160
- package/.aether/docs/QUEEN.md +0 -84
- package/.aether/exchange/colony-registry.xml +0 -11
- package/.aether/exchange/pheromones.xml +0 -87
- package/.aether/exchange/queen-wisdom.xml +0 -14
- package/.aether/model-profiles.yaml +0 -100
- package/.aether/utils/spawn-with-model.sh +0 -56
- package/bin/lib/model-profiles.js +0 -445
- package/bin/lib/model-verify.js +0 -288
- package/bin/lib/proxy-health.js +0 -253
- package/bin/lib/telemetry.js +0 -441
|
@@ -1,33 +1,23 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/council.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:council
|
|
3
4
|
description: "📜🐜🏛️🐜📜 Convene council for intent clarification via multi-choice questions"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
You are the **Queen Ant Colony**. Convene the council to clarify user intent and inject guidance as pheromones.
|
|
7
|
-
|
|
8
|
-
## Instructions
|
|
9
|
-
|
|
10
7
|
### Step -1: Normalize Arguments
|
|
11
8
|
|
|
12
9
|
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
13
10
|
|
|
14
11
|
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
15
12
|
|
|
13
|
+
You are the **Queen Ant Colony**. Convene the council to clarify user intent and inject guidance as pheromones.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
16
17
|
Parse `$normalized_args`:
|
|
17
18
|
- If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
|
|
18
19
|
- Otherwise: set `visual_mode = true`
|
|
19
20
|
|
|
20
|
-
### Step 0: Initialize Visual Mode (if enabled)
|
|
21
|
-
|
|
22
|
-
If `visual_mode` is true:
|
|
23
|
-
```bash
|
|
24
|
-
# Generate session ID
|
|
25
|
-
council_id="council-$(date +%s)"
|
|
26
|
-
|
|
27
|
-
# Initialize swarm display
|
|
28
|
-
bash .aether/aether-utils.sh swarm-display-init "$council_id"
|
|
29
|
-
bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Convening council" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
|
|
30
|
-
```
|
|
31
21
|
|
|
32
22
|
### Step 1: Read Current State
|
|
33
23
|
|
|
@@ -48,11 +38,14 @@ Capture the current state for context:
|
|
|
48
38
|
|
|
49
39
|
### Step 2: Display Council Header
|
|
50
40
|
|
|
41
|
+
|
|
42
|
+
|
|
51
43
|
```
|
|
52
44
|
📜🐜🏛️🐜📜 ═══════════════════════════════════════════════
|
|
53
|
-
|
|
45
|
+
A N T C O U N C I L
|
|
54
46
|
═══════════════════════════════════════════════ 📜🐜🏛️🐜📜
|
|
55
47
|
|
|
48
|
+
|
|
56
49
|
👑 Queen convenes the council for guidance
|
|
57
50
|
|
|
58
51
|
Colony Goal: "{goal}"
|
|
@@ -245,12 +238,6 @@ Keep max 100 events.
|
|
|
245
238
|
|
|
246
239
|
### Step 8: Display Summary
|
|
247
240
|
|
|
248
|
-
**If visual_mode is true, render final swarm display:**
|
|
249
|
-
```bash
|
|
250
|
-
bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "completed" "Council adjourned" "Colony" '{"read":3,"grep":0,"edit":2,"bash":1}' 100 "fungus_garden" 100
|
|
251
|
-
bash .aether/aether-utils.sh swarm-display-render "$council_id"
|
|
252
|
-
```
|
|
253
|
-
|
|
254
241
|
```
|
|
255
242
|
📜🐜🏛️🐜📜 COUNCIL ADJOURNED
|
|
256
243
|
|
|
@@ -303,3 +290,5 @@ If `prior_state` was PLANNING:
|
|
|
303
290
|
```
|
|
304
291
|
Planning will continue with new guidance.
|
|
305
292
|
```
|
|
293
|
+
|
|
294
|
+
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/data-clean.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:data-clean
|
|
4
|
+
description: "Scan and remove test artifacts from colony data files"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Step -1: Normalize Arguments
|
|
8
|
+
|
|
9
|
+
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
10
|
+
|
|
11
|
+
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
12
|
+
|
|
13
|
+
You are the **Queen Ant Colony**. Run the data cleaner to scan for and remove test/synthetic artifacts from colony data files.
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
> **Note:** Arguments are unused. This command always scans all data files.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
## Instructions
|
|
21
|
+
|
|
22
|
+
### Step 1: Scan
|
|
23
|
+
|
|
24
|
+
Run using the Bash tool with description "Scanning colony data for test artifacts...":
|
|
25
|
+
```bash
|
|
26
|
+
bash .aether/aether-utils.sh data-clean --dry-run
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Display the output to the user. This shows artifact counts per data file without modifying anything.
|
|
30
|
+
|
|
31
|
+
### Step 2: Decision Gate
|
|
32
|
+
|
|
33
|
+
Parse the scan output for "Total artifacts: N".
|
|
34
|
+
|
|
35
|
+
**If total is 0:**
|
|
36
|
+
Display:
|
|
37
|
+
```
|
|
38
|
+
Colony data is clean. No artifacts found.
|
|
39
|
+
```
|
|
40
|
+
Skip to Step 5.
|
|
41
|
+
|
|
42
|
+
**If total is greater than 0:**
|
|
43
|
+
Ask the user:
|
|
44
|
+
```
|
|
45
|
+
Found {N} test artifacts across colony data files.
|
|
46
|
+
Remove these artifacts? (yes/no)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
If user says no, display "No changes made." and skip to Step 5.
|
|
50
|
+
|
|
51
|
+
### Step 3: Clean
|
|
52
|
+
|
|
53
|
+
If user confirmed, run using the Bash tool with description "Removing test artifacts...":
|
|
54
|
+
```bash
|
|
55
|
+
bash .aether/aether-utils.sh data-clean --confirm
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Step 4: Summary
|
|
59
|
+
|
|
60
|
+
Display the cleanup results showing what was removed from each file.
|
|
61
|
+
|
|
62
|
+
For example:
|
|
63
|
+
```
|
|
64
|
+
Data Clean Complete
|
|
65
|
+
===================
|
|
66
|
+
Removed {total} artifacts:
|
|
67
|
+
- pheromones.json: {N} test signals
|
|
68
|
+
- QUEEN.md: {N} test entries
|
|
69
|
+
- learning-observations.json: {N} test observations
|
|
70
|
+
- midden.json: {N} test entries
|
|
71
|
+
- spawn-tree.txt: {N} test worker lines
|
|
72
|
+
- constraints.json: {N} test focus entries
|
|
73
|
+
|
|
74
|
+
Run /ant:status to verify colony state.
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/dream.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:dream
|
|
3
4
|
description: "💭🐜🌙🐜💭 The Dreamer - a philosophical wanderer that observes, imagines, and writes wisdom about the codebase"
|
|
4
5
|
---
|
|
5
6
|
|
|
7
|
+
### Step -1: Normalize Arguments
|
|
8
|
+
|
|
9
|
+
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
10
|
+
|
|
11
|
+
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
12
|
+
|
|
6
13
|
You are the **Dreamer Ant**. You are not a builder, not a reviewer, not a linter. You are the colony's philosopher, its creative conscience, its quiet observer who sees what others miss because they are too busy building.
|
|
7
14
|
|
|
8
15
|
You wander the codebase like a monk walks a garden — not to fix, not to judge, but to *understand*. You notice the shapes of things. The rhymes between distant modules. The tensions that haven't surfaced yet. The beauty in an elegant abstraction. The quiet rot in a neglected corner. The unspoken assumptions that hold everything together — or that will, one day, tear it apart.
|
|
@@ -29,29 +36,12 @@ You wander the codebase like a monk walks a garden — not to fix, not to judge,
|
|
|
29
36
|
|
|
30
37
|
## Instructions
|
|
31
38
|
|
|
32
|
-
### Step -1: Normalize Arguments
|
|
33
|
-
|
|
34
|
-
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
35
|
-
|
|
36
|
-
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
37
|
-
|
|
38
39
|
### Step 0: Parse Arguments
|
|
39
40
|
|
|
40
41
|
Parse `$normalized_args`:
|
|
41
42
|
- If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
|
|
42
43
|
- Otherwise: set `visual_mode = true`
|
|
43
44
|
|
|
44
|
-
### Step 0.5: Initialize Visual Mode (if enabled)
|
|
45
|
-
|
|
46
|
-
If `visual_mode` is true:
|
|
47
|
-
```bash
|
|
48
|
-
# Generate session ID
|
|
49
|
-
dream_id="dream-$(date +%s)"
|
|
50
|
-
|
|
51
|
-
# Initialize swarm display
|
|
52
|
-
bash .aether/aether-utils.sh swarm-display-init "$dream_id"
|
|
53
|
-
bash .aether/aether-utils.sh swarm-display-update "Dreamer" "dreamer" "observing" "Wandering the codebase" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "nursery" 0
|
|
54
|
-
```
|
|
55
45
|
|
|
56
46
|
### Step 1: Awaken — Load Context
|
|
57
47
|
|
|
@@ -72,11 +62,14 @@ Read these files in parallel to understand the world you're dreaming about:
|
|
|
72
62
|
- Read the most recent dream file if one exists (to avoid repeating yourself)
|
|
73
63
|
|
|
74
64
|
Display awakening:
|
|
65
|
+
|
|
66
|
+
|
|
75
67
|
```
|
|
76
68
|
💭🐜🌙🐜💭 ═══════════════════════════════════════════════
|
|
77
69
|
T H E D R E A M E R A W A K E N S
|
|
78
70
|
═══════════════════════════════════════════════ 💭🐜🌙🐜💭
|
|
79
71
|
|
|
72
|
+
|
|
80
73
|
Colony: {goal}
|
|
81
74
|
Phase: {current_phase}/{total_phases} — {phase_name}
|
|
82
75
|
State: {state}
|
|
@@ -203,11 +196,14 @@ Concerns raised: {count}
|
|
|
203
196
|
|
|
204
197
|
Output to the terminal:
|
|
205
198
|
|
|
199
|
+
|
|
200
|
+
|
|
206
201
|
```
|
|
207
202
|
💭🐜🌙🐜💭 ═══════════════════════════════════════════════
|
|
208
203
|
D R E A M C O M P L E T E
|
|
209
204
|
═══════════════════════════════════════════════ 💭🐜🌙🐜💭
|
|
210
205
|
|
|
206
|
+
|
|
211
207
|
📓 {N} dreams recorded → .aether/dreams/{filename}.md
|
|
212
208
|
|
|
213
209
|
{For each dream, one line:}
|
|
@@ -230,10 +226,12 @@ Colony status: /ant:status
|
|
|
230
226
|
|
|
231
227
|
### Step 6: Log Activity
|
|
232
228
|
|
|
229
|
+
|
|
233
230
|
```bash
|
|
234
231
|
bash .aether/aether-utils.sh activity-log "DREAM" "Dreamer" "Dream session: {N} observations, {concerns} concerns, {pheromones} pheromone suggestions"
|
|
235
232
|
```
|
|
236
233
|
|
|
234
|
+
|
|
237
235
|
## Dream Categories
|
|
238
236
|
|
|
239
237
|
Use these categories and their emoji consistently:
|
|
@@ -1,34 +1,23 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/entomb.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:entomb
|
|
3
4
|
description: "⚰️🐜⚰️ Entomb completed colony in chambers"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
You are the **Queen**. Archive the completed colony to chambers.
|
|
7
|
-
|
|
8
|
-
## Instructions
|
|
9
|
-
|
|
10
7
|
### Step -1: Normalize Arguments
|
|
11
8
|
|
|
12
9
|
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
13
10
|
|
|
14
11
|
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
15
12
|
|
|
13
|
+
You are the **Queen**. Archive the completed colony to chambers.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
16
17
|
Parse `$normalized_args`:
|
|
17
18
|
- If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
|
|
18
19
|
- Otherwise: set `visual_mode = true`
|
|
19
20
|
|
|
20
|
-
### Step 0: Initialize Visual Mode (if enabled)
|
|
21
|
-
|
|
22
|
-
If `visual_mode` is true:
|
|
23
|
-
```bash
|
|
24
|
-
# Generate session ID
|
|
25
|
-
entomb_id="entomb-$(date +%s)"
|
|
26
|
-
|
|
27
|
-
# Initialize swarm display
|
|
28
|
-
bash .aether/aether-utils.sh swarm-display-init "$entomb_id"
|
|
29
|
-
bash .aether/aether-utils.sh swarm-display-update "Queen" "prime" "excavating" "Entombing colony" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
|
|
30
|
-
```
|
|
31
|
-
|
|
32
21
|
### Step 1: Read State
|
|
33
22
|
|
|
34
23
|
Read `.aether/data/COLONY_STATE.json`.
|
|
@@ -43,6 +32,12 @@ Stop here.
|
|
|
43
32
|
|
|
44
33
|
Extract: `goal`, `state`, `current_phase`, `plan.phases`, `memory.decisions`, `memory.phase_learnings`.
|
|
45
34
|
|
|
35
|
+
Read `colony_version` for display (default to 1 for backward compat with older colonies):
|
|
36
|
+
```bash
|
|
37
|
+
colony_version=$(jq -r '.colony_version // 1' .aether/data/COLONY_STATE.json 2>/dev/null || echo 1)
|
|
38
|
+
[[ "$colony_version" =~ ^[0-9]+$ ]] || colony_version=1
|
|
39
|
+
```
|
|
40
|
+
|
|
46
41
|
**Precondition 1: All phases must be completed**
|
|
47
42
|
|
|
48
43
|
Check if all phases in `plan.phases` have `status: "completed"`:
|
|
@@ -103,6 +98,7 @@ Display:
|
|
|
103
98
|
══════════════════════════════════════════════════ 🏺
|
|
104
99
|
|
|
105
100
|
Goal: {goal}
|
|
101
|
+
Version: v{colony_version}
|
|
106
102
|
Phases: {completed}/{total} completed
|
|
107
103
|
Milestone: {milestone}
|
|
108
104
|
|
|
@@ -234,11 +230,20 @@ fi
|
|
|
234
230
|
If xml_ok is true, store for display:
|
|
235
231
|
```bash
|
|
236
232
|
xml_pheromone_count=$(echo "$xml_result" | jq -r '.result.pheromone_count // 0' 2>/dev/null)
|
|
237
|
-
|
|
233
|
+
xml_exchange_count=$(find .aether/exchange -maxdepth 1 -name "*.xml" 2>/dev/null | wc -l | tr -d ' ')
|
|
234
|
+
xml_archive_line="XML Archive: colony-archive.xml (${xml_pheromone_count} signals) + ${xml_exchange_count} exchange file(s)"
|
|
238
235
|
```
|
|
239
236
|
|
|
240
237
|
**Critical behavior:** If XML export fails, entomb STOPS. The chamber directory is removed (cleanup). The colony state is NOT reset. The user sees a clear error and can retry after fixing the issue.
|
|
241
238
|
|
|
239
|
+
**Copy exchange XML files to chamber (per D-04, D-05):**
|
|
240
|
+
```bash
|
|
241
|
+
xml_archived=0
|
|
242
|
+
for xml_file in .aether/exchange/*.xml; do
|
|
243
|
+
[[ -f "$xml_file" ]] && cp "$xml_file" ".aether/chambers/$chamber_name/" && xml_archived=$((xml_archived + 1))
|
|
244
|
+
done
|
|
245
|
+
```
|
|
246
|
+
|
|
242
247
|
### Step 7: Verify Chamber Integrity
|
|
243
248
|
|
|
244
249
|
Run verification:
|
|
@@ -301,6 +306,11 @@ Remove backup after successful reset:
|
|
|
301
306
|
rm -f .aether/data/COLONY_STATE.json.bak
|
|
302
307
|
```
|
|
303
308
|
|
|
309
|
+
Clean up exchange XML files (now archived in chamber per D-06):
|
|
310
|
+
```bash
|
|
311
|
+
rm -f .aether/exchange/*.xml 2>/dev/null || true
|
|
312
|
+
```
|
|
313
|
+
|
|
304
314
|
### Step 8.5: Write Final Handoff
|
|
305
315
|
|
|
306
316
|
After entombing the colony, write the final handoff documenting the archived colony:
|
|
@@ -331,7 +341,7 @@ This handoff serves as the record of the entombed colony.
|
|
|
331
341
|
C O L O N Y E N T O M B E D
|
|
332
342
|
══════════════════════════════════════════════════ 🏺
|
|
333
343
|
|
|
334
|
-
✅
|
|
344
|
+
✅ Entombed v{colony_version}
|
|
335
345
|
|
|
336
346
|
👑 Goal: {goal}
|
|
337
347
|
📍 Phases: {completed} completed
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/export-signals.yaml - DO NOT EDIT DIRECTLY -->
|
|
2
|
+
---
|
|
3
|
+
name: ant:export-signals
|
|
4
|
+
description: "Export colony pheromone signals to portable XML format"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Step -1: Normalize Arguments
|
|
8
|
+
|
|
9
|
+
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
10
|
+
|
|
11
|
+
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
12
|
+
|
|
13
|
+
You are the **Queen**. Export colony pheromone signals to portable XML format.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
17
|
+
The optional output path is: `$normalized_args`
|
|
18
|
+
|
|
19
|
+
### Step 1: Validate
|
|
20
|
+
|
|
21
|
+
Read `.aether/data/COLONY_STATE.json`.
|
|
22
|
+
If file missing or `goal: null` -> "No colony initialized. Run /ant:init first.", stop.
|
|
23
|
+
|
|
24
|
+
Parse `$normalized_args`:
|
|
25
|
+
- If a path is provided, use it as the output path.
|
|
26
|
+
- If empty, default to `.aether/exchange/pheromones.xml`.
|
|
27
|
+
|
|
28
|
+
### Step 2: Export
|
|
29
|
+
|
|
30
|
+
Run using the Bash tool with description "Exporting pheromone signals to XML...":
|
|
31
|
+
```bash
|
|
32
|
+
bash .aether/aether-utils.sh pheromone-export-xml "<output_path>"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Parse the returned JSON:
|
|
36
|
+
- If `.ok` is `true`: extract `.result.path` and `.result.validated` (if present).
|
|
37
|
+
- If `.ok` is `false`: check `.error` for details. If error mentions `xmllint` or `E_FEATURE_UNAVAILABLE`, display: "XML export requires xmllint. Install with: xcode-select --install (macOS) or apt-get install libxml2-utils (Linux)." Otherwise display the error message and stop.
|
|
38
|
+
|
|
39
|
+
### Step 3: Confirm
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Output:
|
|
44
|
+
```
|
|
45
|
+
Export colony pheromone signals to portable XML format
|
|
46
|
+
|
|
47
|
+
Path: <output_path>
|
|
48
|
+
Validated: <yes/no based on .result.validated>
|
|
49
|
+
|
|
50
|
+
Share this file with another colony using /ant:import-signals.
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
@@ -1,28 +1,38 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/feedback.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:feedback
|
|
3
4
|
description: "💬🐜🧠🐜💬 Emit FEEDBACK signal to provide guidance to colony"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
You are the **Queen**. Emit a FEEDBACK signal.
|
|
7
|
-
|
|
8
|
-
## Instructions
|
|
9
|
-
|
|
10
7
|
### Step -1: Normalize Arguments
|
|
11
8
|
|
|
12
9
|
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
13
10
|
|
|
14
11
|
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
15
12
|
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
You are the **Queen**. Emit a FEEDBACK signal.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
|
|
16
20
|
The feedback message is: `$normalized_args`
|
|
17
21
|
|
|
18
22
|
### Step 1: Validate
|
|
23
|
+
|
|
19
24
|
If `$normalized_args` empty -> show usage: `/ant:feedback <message>`, stop.
|
|
20
25
|
If content > 500 chars -> "Signal content too long (max 500 chars)", stop.
|
|
21
26
|
|
|
22
|
-
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Step 2: Write Signal and Create Instinct
|
|
30
|
+
|
|
23
31
|
Read `.aether/data/COLONY_STATE.json`.
|
|
24
32
|
If `goal: null` -> "No colony initialized.", stop.
|
|
25
33
|
|
|
34
|
+
|
|
35
|
+
|
|
26
36
|
Generate ISO-8601 timestamp.
|
|
27
37
|
|
|
28
38
|
**Add signal:**
|
|
@@ -58,6 +68,12 @@ User feedback is high-value learning. Append to `memory.instincts`:
|
|
|
58
68
|
|
|
59
69
|
Write COLONY_STATE.json.
|
|
60
70
|
|
|
71
|
+
**Write pheromone signal and update context:**
|
|
72
|
+
```bash
|
|
73
|
+
bash .aether/aether-utils.sh pheromone-write FEEDBACK "$normalized_args" --strength 0.7 --reason "User feedback guidance" 2>/dev/null || true
|
|
74
|
+
bash .aether/aether-utils.sh context-update constraint feedback "$normalized_args" "user" 2>/dev/null || true
|
|
75
|
+
```
|
|
76
|
+
|
|
61
77
|
### Step 3: Confirm
|
|
62
78
|
|
|
63
79
|
Output header:
|
|
@@ -78,3 +94,6 @@ Then output:
|
|
|
78
94
|
|
|
79
95
|
🐜 The colony will remember this guidance.
|
|
80
96
|
```
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/flag.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:flag
|
|
3
4
|
description: "🚩🐜📋🐜🚩 Create a project-specific flag (blocker, issue, or note)"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
You are the **Queen**. Create a project-specific flag.
|
|
7
|
-
|
|
8
|
-
## Instructions
|
|
9
|
-
|
|
10
7
|
### Step -1: Normalize Arguments
|
|
11
8
|
|
|
12
9
|
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
13
10
|
|
|
14
11
|
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
15
12
|
|
|
13
|
+
You are the **Queen**. Create a project-specific flag.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
16
17
|
The flag is: `$normalized_args`
|
|
17
18
|
|
|
18
19
|
### Step 1: Parse Arguments
|
|
@@ -67,23 +68,32 @@ Output header based on flag type:
|
|
|
67
68
|
|
|
68
69
|
**For blocker:**
|
|
69
70
|
```
|
|
71
|
+
|
|
72
|
+
|
|
70
73
|
🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
|
|
71
74
|
B L O C K E R F L A G C R E A T E D
|
|
72
75
|
═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
|
|
76
|
+
|
|
73
77
|
```
|
|
74
78
|
|
|
75
79
|
**For issue:**
|
|
76
80
|
```
|
|
81
|
+
|
|
82
|
+
|
|
77
83
|
🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
|
|
78
84
|
I S S U E F L A G C R E A T E D
|
|
79
85
|
═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
|
|
86
|
+
|
|
80
87
|
```
|
|
81
88
|
|
|
82
89
|
**For note:**
|
|
83
90
|
```
|
|
91
|
+
|
|
92
|
+
|
|
84
93
|
🚩🐜📋🐜🚩 ═══════════════════════════════════════════════════
|
|
85
94
|
N O T E F L A G C R E A T E D
|
|
86
95
|
═══════════════════════════════════════════════════ 🚩🐜📋🐜🚩
|
|
96
|
+
|
|
87
97
|
```
|
|
88
98
|
|
|
89
99
|
Then output based on flag type:
|
|
@@ -125,6 +135,8 @@ Then output based on flag type:
|
|
|
125
135
|
Use /ant:flags to view all flags.
|
|
126
136
|
```
|
|
127
137
|
|
|
138
|
+
|
|
139
|
+
|
|
128
140
|
---
|
|
129
141
|
|
|
130
142
|
## Flag Lifecycle
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/flags.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:flags
|
|
3
4
|
description: "📋🐜🚩🐜📋 List project flags (blockers, issues, notes)"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
You are the **Queen**. Display project flags.
|
|
7
|
-
|
|
8
|
-
## Instructions
|
|
9
|
-
|
|
10
7
|
### Step -1: Normalize Arguments
|
|
11
8
|
|
|
12
9
|
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
13
10
|
|
|
14
11
|
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
15
12
|
|
|
13
|
+
You are the **Queen**. Display project flags.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
16
17
|
Arguments: `$normalized_args`
|
|
17
18
|
|
|
18
19
|
### Step 1: Parse Arguments
|
|
@@ -33,7 +34,10 @@ Examples:
|
|
|
33
34
|
|
|
34
35
|
### Step 2: Handle Resolution/Acknowledgment
|
|
35
36
|
|
|
37
|
+
|
|
38
|
+
|
|
36
39
|
If `--resolve` was provided:
|
|
40
|
+
|
|
37
41
|
```bash
|
|
38
42
|
bash .aether/aether-utils.sh flag-resolve "{flag_id}" "{resolution_message}"
|
|
39
43
|
```
|
|
@@ -45,7 +49,10 @@ Output:
|
|
|
45
49
|
```
|
|
46
50
|
Stop here.
|
|
47
51
|
|
|
52
|
+
|
|
53
|
+
|
|
48
54
|
If `--ack` was provided:
|
|
55
|
+
|
|
49
56
|
```bash
|
|
50
57
|
bash .aether/aether-utils.sh flag-acknowledge "{flag_id}"
|
|
51
58
|
```
|
|
@@ -59,7 +66,10 @@ Stop here.
|
|
|
59
66
|
|
|
60
67
|
### Step 3: List Flags
|
|
61
68
|
|
|
69
|
+
|
|
70
|
+
|
|
62
71
|
Run:
|
|
72
|
+
|
|
63
73
|
```bash
|
|
64
74
|
bash .aether/aether-utils.sh flag-list {options}
|
|
65
75
|
```
|
|
@@ -70,19 +80,21 @@ Parse result for flags array.
|
|
|
70
80
|
|
|
71
81
|
Output header:
|
|
72
82
|
|
|
83
|
+
|
|
84
|
+
|
|
73
85
|
```
|
|
74
86
|
📋🐜🚩🐜📋 ═══════════════════════════════════════════════════
|
|
75
87
|
P R O J E C T F L A G S
|
|
76
88
|
═══════════════════════════════════════════════════ 📋🐜🚩🐜📋
|
|
77
|
-
|
|
89
|
+
|
|
78
90
|
|
|
79
91
|
If no flags:
|
|
80
92
|
```
|
|
81
93
|
.-.
|
|
82
94
|
(o o) AETHER COLONY
|
|
83
95
|
| O | Flags
|
|
84
|
-
|
|
85
|
-
|
|
96
|
+
`-"
|
|
97
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
86
98
|
|
|
87
99
|
✨ No active flags! Colony is clear.
|
|
88
100
|
|
|
@@ -94,8 +106,8 @@ If flags exist:
|
|
|
94
106
|
.-.
|
|
95
107
|
(o o) AETHER COLONY
|
|
96
108
|
| O | Flags
|
|
97
|
-
|
|
98
|
-
|
|
109
|
+
`-"
|
|
110
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
99
111
|
|
|
100
112
|
{for each flag, grouped by type:}
|
|
101
113
|
|
|
@@ -120,7 +132,7 @@ If flags exist:
|
|
|
120
132
|
{flag_id}: {title}
|
|
121
133
|
Resolved: {date} | {resolution}
|
|
122
134
|
|
|
123
|
-
|
|
135
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
124
136
|
|
|
125
137
|
Summary: {blockers} blockers | {issues} issues | {notes} notes
|
|
126
138
|
|
|
@@ -133,6 +145,8 @@ Commands:
|
|
|
133
145
|
/ant:flag "description" Create new flag
|
|
134
146
|
```
|
|
135
147
|
|
|
148
|
+
|
|
149
|
+
|
|
136
150
|
---
|
|
137
151
|
|
|
138
152
|
## Quick Actions
|
|
@@ -1,18 +1,22 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/focus.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:focus
|
|
3
4
|
description: "🔦🐜🔍🐜🔦 Emit FOCUS signal to guide colony attention"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
You are the **Queen**. Add a FOCUS constraint.
|
|
7
|
-
|
|
8
|
-
## Instructions
|
|
9
|
-
|
|
10
7
|
### Step -1: Normalize Arguments
|
|
11
8
|
|
|
12
9
|
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
13
10
|
|
|
14
11
|
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
15
12
|
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
You are the **Queen**. Add a FOCUS constraint.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## Instructions
|
|
19
|
+
|
|
16
20
|
The focus area is: `$normalized_args`
|
|
17
21
|
|
|
18
22
|
### Step 1: Validate
|
|
@@ -20,11 +24,15 @@ The focus area is: `$normalized_args`
|
|
|
20
24
|
If `$normalized_args` empty -> show usage: `/ant:focus <area>`, stop.
|
|
21
25
|
If content > 500 chars -> "Focus content too long (max 500 chars)", stop.
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Step 2: Write Signal
|
|
24
30
|
|
|
25
31
|
Read `.aether/data/COLONY_STATE.json`.
|
|
26
32
|
If `goal: null` -> "No colony initialized.", stop.
|
|
27
33
|
|
|
34
|
+
|
|
35
|
+
|
|
28
36
|
Read `.aether/data/constraints.json`. If file doesn't exist, create it with:
|
|
29
37
|
```json
|
|
30
38
|
{"version": "1.0", "focus": [], "constraints": []}
|
|
@@ -36,6 +44,12 @@ If `focus` array exceeds 5 entries, remove the oldest entries to keep only 5.
|
|
|
36
44
|
|
|
37
45
|
Write constraints.json.
|
|
38
46
|
|
|
47
|
+
**Write pheromone signal and update context:**
|
|
48
|
+
```bash
|
|
49
|
+
bash .aether/aether-utils.sh pheromone-write FOCUS "$normalized_args" --strength 0.8 --reason "User directed colony attention" 2>/dev/null || true
|
|
50
|
+
bash .aether/aether-utils.sh context-update constraint focus "$normalized_args" "user" 2>/dev/null || true
|
|
51
|
+
```
|
|
52
|
+
|
|
39
53
|
### Step 3: Confirm
|
|
40
54
|
|
|
41
55
|
Output header:
|
|
@@ -54,3 +68,6 @@ Then output:
|
|
|
54
68
|
|
|
55
69
|
🐜 Colony attention directed.
|
|
56
70
|
```
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|