aether-colony 5.0.0 → 5.2.1
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 +3226 -3345
- 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 +442 -0
- package/.aether/commands/continue.yaml +1484 -0
- package/.aether/commands/council.yaml +509 -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 +502 -0
- package/.aether/commands/insert-phase.yaml +102 -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 +1364 -0
- package/.aether/commands/preferences.yaml +63 -0
- package/.aether/commands/quick.yaml +104 -0
- package/.aether/commands/redirect.yaml +123 -0
- package/.aether/commands/resume-colony.yaml +375 -0
- package/.aether/commands/resume.yaml +407 -0
- package/.aether/commands/run.yaml +229 -0
- package/.aether/commands/seal.yaml +1214 -0
- package/.aether/commands/skill-create.yaml +337 -0
- package/.aether/commands/status.yaml +408 -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 +1683 -0
- package/.aether/docs/command-playbooks/build-prep.md +284 -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 +1725 -0
- package/.aether/docs/command-playbooks/continue-gates.md +686 -0
- package/.aether/docs/command-playbooks/continue-verify.md +407 -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/council.sh +425 -0
- 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 +278 -0
- package/.aether/utils/hive.sh +572 -0
- package/.aether/utils/immune.sh +508 -0
- package/.aether/utils/learning.sh +1928 -0
- package/.aether/utils/midden.sh +520 -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 +1710 -0
- package/.aether/utils/scan.sh +860 -0
- package/.aether/utils/semantic-cli.sh +10 -8
- package/.aether/utils/session.sh +816 -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 +389 -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 +3 -14
- package/.claude/commands/ant/continue.md +40 -1026
- package/.claude/commands/ant/council.md +213 -15
- 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 +349 -191
- package/.claude/commands/ant/insert-phase.md +105 -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 +199 -50
- package/.claude/commands/ant/preferences.md +65 -0
- package/.claude/commands/ant/quick.md +100 -0
- package/.claude/commands/ant/redirect.md +18 -0
- package/.claude/commands/ant/resume-colony.md +37 -22
- package/.claude/commands/ant/resume.md +60 -7
- package/.claude/commands/ant/run.md +231 -0
- package/.claude/commands/ant/seal.md +506 -78
- package/.claude/commands/ant/skill-create.md +286 -0
- package/.claude/commands/ant/status.md +171 -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 +10 -17
- package/.opencode/commands/ant/continue.md +595 -66
- package/.opencode/commands/ant/council.md +150 -18
- 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 +396 -154
- package/.opencode/commands/ant/insert-phase.md +111 -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 +210 -57
- package/.opencode/commands/ant/preferences.md +71 -0
- package/.opencode/commands/ant/quick.md +91 -0
- package/.opencode/commands/ant/redirect.md +22 -5
- package/.opencode/commands/ant/resume-colony.md +41 -29
- package/.opencode/commands/ant/resume.md +80 -20
- package/.opencode/commands/ant/run.md +237 -0
- package/.opencode/commands/ant/seal.md +230 -25
- package/.opencode/commands/ant/skill-create.md +63 -0
- package/.opencode/commands/ant/status.md +125 -30
- 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 +368 -1
- package/README.md +195 -324
- 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 +16 -4
- 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,34 +1,161 @@
|
|
|
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`:
|
|
18
|
+
- If starts with `--deliberate`: set `deliberate_mode = true`, extract proposal text after `--deliberate`
|
|
17
19
|
- If contains `--no-visual`: set `visual_mode = false` (visual is ON by default)
|
|
18
20
|
- Otherwise: set `visual_mode = true`
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
**If `deliberate_mode` is true:** Skip to [Deliberation Mode](#deliberation-mode) and stop after it.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Deliberation Mode
|
|
27
|
+
|
|
28
|
+
When `--deliberate "<proposal>"` is passed, run a structured Advocate/Challenger/Sage deliberation.
|
|
29
|
+
|
|
30
|
+
### Step D1: Check Budget
|
|
31
|
+
|
|
32
|
+
Run using the Bash tool with description "Checking deliberation budget...":
|
|
33
|
+
```bash
|
|
34
|
+
bash .aether/aether-utils.sh council-budget-check
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Parse result. If `allowed` is `false`:
|
|
38
|
+
```
|
|
39
|
+
📜🐜🏛️🐜📜 COUNCIL — BUDGET EXHAUSTED
|
|
40
|
+
|
|
41
|
+
Spawn budget is fully allocated. Complete or close existing deliberations before starting new ones.
|
|
42
|
+
Run /ant:council to review existing deliberations.
|
|
43
|
+
```
|
|
44
|
+
Stop here.
|
|
45
|
+
|
|
46
|
+
### Step D2: Open Deliberation
|
|
47
|
+
|
|
48
|
+
Run using the Bash tool with description "Opening deliberation...":
|
|
49
|
+
```bash
|
|
50
|
+
bash .aether/aether-utils.sh council-deliberate --proposal "<proposal>"
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Capture `deliberation_id` from `result.id`.
|
|
54
|
+
|
|
55
|
+
Display:
|
|
56
|
+
```
|
|
57
|
+
📜🐜🏛️🐜📜 COUNCIL DELIBERATION OPENED
|
|
58
|
+
|
|
59
|
+
Proposal: "<proposal>"
|
|
60
|
+
ID: {deliberation_id}
|
|
61
|
+
Budget: {budget} spawns available
|
|
62
|
+
|
|
63
|
+
Convening Advocate, Challenger, and Sage...
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step D3: Spawn Advocate Scout
|
|
67
|
+
|
|
68
|
+
Spawn an Advocate scout to argue **in favor** of the proposal.
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
Record the argument:
|
|
73
|
+
```bash
|
|
74
|
+
bash .aether/aether-utils.sh council-advocate \
|
|
75
|
+
--deliberation-id "<deliberation_id>" \
|
|
76
|
+
--argument "<advocate_argument>"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Display:
|
|
80
|
+
```
|
|
81
|
+
⚖️ ADVOCATE:
|
|
82
|
+
{advocate_argument}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Step D4: Spawn Challenger Scout
|
|
86
|
+
|
|
87
|
+
Spawn a Challenger scout to argue **against** the proposal.
|
|
88
|
+
|
|
21
89
|
|
|
22
|
-
|
|
90
|
+
|
|
91
|
+
Record the argument:
|
|
92
|
+
```bash
|
|
93
|
+
bash .aether/aether-utils.sh council-challenger \
|
|
94
|
+
--deliberation-id "<deliberation_id>" \
|
|
95
|
+
--argument "<challenger_argument>"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Display:
|
|
99
|
+
```
|
|
100
|
+
⚔️ CHALLENGER:
|
|
101
|
+
{challenger_argument}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Step D5: Spawn Sage Scout
|
|
105
|
+
|
|
106
|
+
Spawn a Sage scout to synthesize both positions and provide a recommendation.
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
Record the sage synthesis:
|
|
23
111
|
```bash
|
|
24
|
-
|
|
25
|
-
|
|
112
|
+
bash .aether/aether-utils.sh council-sage \
|
|
113
|
+
--deliberation-id "<deliberation_id>" \
|
|
114
|
+
--synthesis "<synthesis>" \
|
|
115
|
+
--recommendation "<recommendation>"
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Step D6: Display Result
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
📜🐜🏛️🐜📜 COUNCIL DELIBERATION COMPLETE
|
|
122
|
+
|
|
123
|
+
Proposal: "<proposal>"
|
|
124
|
+
|
|
125
|
+
⚖️ Advocate:
|
|
126
|
+
{advocate_argument}
|
|
127
|
+
|
|
128
|
+
⚔️ Challenger:
|
|
129
|
+
{challenger_argument}
|
|
130
|
+
|
|
131
|
+
🧙 Sage Synthesis:
|
|
132
|
+
{synthesis}
|
|
133
|
+
|
|
134
|
+
Recommendation: {recommendation}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
If recommendation is `adopt` or `adopt-with-conditions`:
|
|
138
|
+
```
|
|
139
|
+
✅ Council recommends proceeding.
|
|
140
|
+
Run /ant:focus "<proposal summary>" to inject guidance for the colony.
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
If recommendation is `reject`:
|
|
144
|
+
```
|
|
145
|
+
❌ Council recommends against this proposal.
|
|
146
|
+
Run /ant:redirect "<proposal summary>" if you want to make this a hard constraint.
|
|
147
|
+
```
|
|
26
148
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
149
|
+
If recommendation is `defer`:
|
|
150
|
+
```
|
|
151
|
+
⏸️ Council recommends deferring this decision.
|
|
152
|
+
Return when more context is available.
|
|
30
153
|
```
|
|
31
154
|
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
32
159
|
### Step 1: Read Current State
|
|
33
160
|
|
|
34
161
|
Read `.aether/data/COLONY_STATE.json`.
|
|
@@ -41,6 +168,12 @@ No colony initialized. Run /ant:init first.
|
|
|
41
168
|
```
|
|
42
169
|
Stop here.
|
|
43
170
|
|
|
171
|
+
If `milestone` == `"Crowned Anthill"`:
|
|
172
|
+
```
|
|
173
|
+
This colony has been sealed. Start a new colony with /ant:init "new goal".
|
|
174
|
+
```
|
|
175
|
+
Stop here.
|
|
176
|
+
|
|
44
177
|
Capture the current state for context:
|
|
45
178
|
- `prior_state` = state field value (READY, EXECUTING, PLANNING, etc.)
|
|
46
179
|
- `current_phase` = current_phase field value
|
|
@@ -48,11 +181,14 @@ Capture the current state for context:
|
|
|
48
181
|
|
|
49
182
|
### Step 2: Display Council Header
|
|
50
183
|
|
|
184
|
+
|
|
185
|
+
|
|
51
186
|
```
|
|
52
187
|
📜🐜🏛️🐜📜 ═══════════════════════════════════════════════
|
|
53
|
-
|
|
188
|
+
A N T C O U N C I L
|
|
54
189
|
═══════════════════════════════════════════════ 📜🐜🏛️🐜📜
|
|
55
190
|
|
|
191
|
+
|
|
56
192
|
👑 Queen convenes the council for guidance
|
|
57
193
|
|
|
58
194
|
Colony Goal: "{goal}"
|
|
@@ -245,12 +381,6 @@ Keep max 100 events.
|
|
|
245
381
|
|
|
246
382
|
### Step 8: Display Summary
|
|
247
383
|
|
|
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
384
|
```
|
|
255
385
|
📜🐜🏛️🐜📜 COUNCIL ADJOURNED
|
|
256
386
|
|
|
@@ -303,3 +433,5 @@ If `prior_state` was PLANNING:
|
|
|
303
433
|
```
|
|
304
434
|
Planning will continue with new guidance.
|
|
305
435
|
```
|
|
436
|
+
|
|
437
|
+
|
|
@@ -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
|