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,8 +1,15 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/oracle.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:oracle
|
|
3
4
|
description: "๐ฎ๐๐ง ๐๐ฎ Oracle Ant - deep research agent using RALF iterative loop pattern"
|
|
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 **Oracle Ant** command handler. You configure and launch a deep research loop that runs autonomously in a separate process.
|
|
7
14
|
|
|
8
15
|
The user's input is: `$normalized_args`
|
|
@@ -13,12 +20,6 @@ Oracle NEVER touches COLONY_STATE.json, constraints.json, activity.log, or any c
|
|
|
13
20
|
|
|
14
21
|
## Instructions
|
|
15
22
|
|
|
16
|
-
### Step -1: Normalize Arguments
|
|
17
|
-
|
|
18
|
-
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
19
|
-
|
|
20
|
-
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
21
|
-
|
|
22
23
|
### Step 0: Parse Arguments and Route
|
|
23
24
|
|
|
24
25
|
Parse `$normalized_args` to determine the action:
|
|
@@ -30,19 +31,10 @@ Parse `$normalized_args` to determine the action:
|
|
|
30
31
|
|
|
31
32
|
2. **If remaining arguments is exactly `stop`** โ go to **Step 0b: Stop Oracle**
|
|
32
33
|
3. **If remaining arguments is exactly `status`** โ go to **Step 0c: Show Status**
|
|
33
|
-
4. **
|
|
34
|
+
4. **If remaining arguments is exactly `promote`** โ go to **Step 0d: Promote Findings**
|
|
35
|
+
5. **Otherwise** โ go to **Step 0.5: Initialize Visual Mode** then **Step 1: Research Wizard**
|
|
34
36
|
|
|
35
|
-
### Step 0.5:
|
|
36
|
-
|
|
37
|
-
If `visual_mode` is true:
|
|
38
|
-
```bash
|
|
39
|
-
# Generate session ID
|
|
40
|
-
oracle_id="oracle-$(date +%s)"
|
|
41
|
-
|
|
42
|
-
# Initialize swarm display
|
|
43
|
-
bash .aether/aether-utils.sh swarm-display-init "$oracle_id"
|
|
44
|
-
bash .aether/aether-utils.sh swarm-display-update "Oracle" "oracle" "researching" "Deep research in progress" "Colony" '{"read":0,"grep":0,"edit":0,"bash":0}' 0 "fungus_garden" 0
|
|
45
|
-
```
|
|
37
|
+
### Step 0.5: Display Header
|
|
46
38
|
|
|
47
39
|
Display visual header:
|
|
48
40
|
```
|
|
@@ -80,35 +72,31 @@ Stop here. Do not proceed.
|
|
|
80
72
|
|
|
81
73
|
### Step 0c: Show Status
|
|
82
74
|
|
|
83
|
-
Check if `.aether/oracle/
|
|
75
|
+
Check if `.aether/oracle/research-plan.md` exists using the Read tool.
|
|
84
76
|
|
|
85
77
|
**If it does NOT exist**, output:
|
|
86
78
|
|
|
87
79
|
```
|
|
88
80
|
๐ฎ Oracle Status: No Research In Progress
|
|
89
81
|
|
|
90
|
-
No
|
|
82
|
+
No active research session. Start one:
|
|
91
83
|
/ant:oracle
|
|
92
84
|
```
|
|
93
85
|
|
|
94
86
|
Stop here.
|
|
95
87
|
|
|
96
|
-
**If it exists**, read `.aether/oracle/
|
|
97
|
-
|
|
98
|
-
Count the number of `## Iteration` headings in progress.md to determine iterations completed.
|
|
88
|
+
**If it exists**, read `.aether/oracle/research-plan.md` and `.aether/oracle/state.json` (if present).
|
|
99
89
|
|
|
100
90
|
Output:
|
|
101
91
|
|
|
102
92
|
```
|
|
103
93
|
๐ฎ Oracle Status
|
|
104
94
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
105
|
-
Topic: {topic from
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
Started: {started_at}
|
|
95
|
+
Topic: {topic from state.json, or "unknown"}
|
|
96
|
+
Iteration: {iteration} of {max_iterations}
|
|
97
|
+
Status: {status}
|
|
109
98
|
|
|
110
|
-
|
|
111
|
-
{last 50 lines of progress.md}
|
|
99
|
+
{contents of research-plan.md}
|
|
112
100
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
113
101
|
|
|
114
102
|
/ant:oracle stop Halt the loop
|
|
@@ -119,6 +107,143 @@ Stop here.
|
|
|
119
107
|
|
|
120
108
|
---
|
|
121
109
|
|
|
110
|
+
### Step 0d: Promote Findings to Colony
|
|
111
|
+
|
|
112
|
+
Check if `.aether/oracle/state.json` exists. If it does NOT exist, or if the status is "active", output:
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
๐ฎ Oracle Promote: No Completed Research
|
|
116
|
+
|
|
117
|
+
No completed research to promote. Run /ant:oracle first, then wait for completion.
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
Stop here.
|
|
121
|
+
|
|
122
|
+
**If state.json exists and status is "complete" or "stopped":**
|
|
123
|
+
|
|
124
|
+
Read `.aether/oracle/plan.json` and extract high-confidence findings:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
ORACLE_DIR=".aether/oracle"
|
|
128
|
+
topic=$(jq -r '.topic // "unknown"' "$ORACLE_DIR/state.json")
|
|
129
|
+
status=$(jq -r '.status // "active"' "$ORACLE_DIR/state.json")
|
|
130
|
+
count=$(jq '[.questions[] | select(.status == "answered" and .confidence >= 80)] | length' "$ORACLE_DIR/plan.json" 2>/dev/null || echo "0")
|
|
131
|
+
total=$(jq '[.questions[]] | length' "$ORACLE_DIR/plan.json" 2>/dev/null || echo "0")
|
|
132
|
+
echo "TOPIC=$topic"
|
|
133
|
+
echo "STATUS=$status"
|
|
134
|
+
echo "QUALIFYING=$count"
|
|
135
|
+
echo "TOTAL=$total"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
If qualifying count is 0, output:
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
๐ฎ Oracle Promote: No Qualifying Findings
|
|
142
|
+
|
|
143
|
+
Topic: {topic}
|
|
144
|
+
Status: {status}
|
|
145
|
+
Findings: 0 of {total} questions meet the threshold (answered + 80%+ confidence)
|
|
146
|
+
|
|
147
|
+
Lower-confidence findings remain in .aether/oracle/synthesis.md for reference.
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Stop here.
|
|
151
|
+
|
|
152
|
+
**If qualifying count > 0**, display the summary and ask for confirmation:
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
๐ฎ Oracle Promote: Colony Knowledge Integration
|
|
156
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
157
|
+
|
|
158
|
+
Oracle Research: {topic}
|
|
159
|
+
Status: {status}
|
|
160
|
+
High-confidence findings: {count} (answering {count} of {total} questions)
|
|
161
|
+
|
|
162
|
+
These findings will be promoted to:
|
|
163
|
+
- Colony instincts (COLONY_STATE.json)
|
|
164
|
+
- Colony learnings (learnings.json)
|
|
165
|
+
- Observation pipeline (for queen-promote)
|
|
166
|
+
|
|
167
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Use AskUserQuestion to ask:
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
Promote these findings to colony knowledge?
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Options:
|
|
177
|
+
1. **Yes, promote all high-confidence findings** -- Push qualifying findings to colony instincts, learnings, and observations
|
|
178
|
+
2. **No, skip promotion** -- Findings remain in .aether/oracle/ for reference only
|
|
179
|
+
|
|
180
|
+
**If user selects Yes:**
|
|
181
|
+
|
|
182
|
+
Run promotion. For each qualifying question, call the colony APIs directly:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
ORACLE_DIR=".aether/oracle"
|
|
186
|
+
UTILS=".aether/aether-utils.sh"
|
|
187
|
+
topic=$(jq -r '.topic // "unknown"' "$ORACLE_DIR/state.json")
|
|
188
|
+
promoted=0
|
|
189
|
+
|
|
190
|
+
while IFS= read -r question; do
|
|
191
|
+
q_text=$(echo "$question" | jq -r '.text')
|
|
192
|
+
q_confidence=$(echo "$question" | jq -r '.confidence')
|
|
193
|
+
findings_text=$(echo "$question" | jq -r '[.key_findings[].text // .key_findings[]] | join("; ")' 2>/dev/null | head -c 200)
|
|
194
|
+
first_finding=$(echo "$question" | jq -r '[.key_findings[].text // .key_findings[]] | first // "No findings"' 2>/dev/null)
|
|
195
|
+
|
|
196
|
+
bash "$UTILS" instinct-create \
|
|
197
|
+
--trigger "researching: $q_text" \
|
|
198
|
+
--action "Oracle found (${q_confidence}% confidence): $findings_text" \
|
|
199
|
+
--confidence "$(echo "scale=2; $q_confidence / 100" | bc)" \
|
|
200
|
+
--domain "research" \
|
|
201
|
+
--source "oracle:$topic" \
|
|
202
|
+
--evidence "Oracle research: $q_text" 2>/dev/null || true
|
|
203
|
+
|
|
204
|
+
bash "$UTILS" learning-promote \
|
|
205
|
+
"Oracle: $q_text -- $first_finding" \
|
|
206
|
+
"oracle" \
|
|
207
|
+
"oracle-research" \
|
|
208
|
+
"oracle,research" 2>/dev/null || true
|
|
209
|
+
|
|
210
|
+
bash "$UTILS" memory-capture learning \
|
|
211
|
+
"Oracle research finding: $q_text (${q_confidence}%)" \
|
|
212
|
+
"pattern" \
|
|
213
|
+
"oracle:promote" 2>/dev/null || true
|
|
214
|
+
|
|
215
|
+
promoted=$((promoted + 1))
|
|
216
|
+
done < <(jq -c '[.questions[] | select(.status == "answered" and .confidence >= 80)] | .[]' "$ORACLE_DIR/plan.json")
|
|
217
|
+
|
|
218
|
+
echo "Promoted $promoted findings"
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
Output:
|
|
222
|
+
|
|
223
|
+
```
|
|
224
|
+
๐ฎ Oracle Promote: Complete
|
|
225
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
226
|
+
|
|
227
|
+
Promoted {count} findings to colony knowledge:
|
|
228
|
+
- Instincts created in COLONY_STATE.json
|
|
229
|
+
- Learnings stored in learnings.json
|
|
230
|
+
- Observations tracked for wisdom promotion
|
|
231
|
+
|
|
232
|
+
Run /ant:status to see colony knowledge updates.
|
|
233
|
+
|
|
234
|
+
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
**If user selects No:**
|
|
238
|
+
|
|
239
|
+
```
|
|
240
|
+
๐ฎ Promotion skipped. Findings remain in .aether/oracle/synthesis.md.
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
Stop here.
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
122
247
|
### Step 1: Research Wizard
|
|
123
248
|
|
|
124
249
|
This is the setup phase. The Oracle asks questions to configure the research before launching.
|
|
@@ -158,7 +283,22 @@ Describe the research topic in detail. The more specific, the better the Oracle'
|
|
|
158
283
|
|
|
159
284
|
(The user will type their topic via the "Other" free-text option.)
|
|
160
285
|
|
|
161
|
-
**Question 2: Research
|
|
286
|
+
**Question 2: Research Template**
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
What type of research is this?
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
Options:
|
|
293
|
+
1. **Technology evaluation** -- Compare and evaluate a technology, library, or tool
|
|
294
|
+
2. **Architecture review** -- Analyze system design, components, and dependencies
|
|
295
|
+
3. **Bug investigation** -- Track down and understand a specific bug or issue
|
|
296
|
+
4. **Best practices** -- Research recommended approaches for a domain or technique
|
|
297
|
+
5. **Custom research** -- Free-form research (Oracle decomposes the topic as it sees fit)
|
|
298
|
+
|
|
299
|
+
Map selection to template value: 1->tech-eval, 2->architecture-review, 3->bug-investigation, 4->best-practices, 5->custom
|
|
300
|
+
|
|
301
|
+
**Question 3: Research Depth**
|
|
162
302
|
|
|
163
303
|
```
|
|
164
304
|
How deep should the Oracle go?
|
|
@@ -170,7 +310,7 @@ Options:
|
|
|
170
310
|
3. **Deep dive (30 iterations)** โ Exhaustive research, leaves no stone unturned
|
|
171
311
|
4. **Marathon (50 iterations)** โ Maximum depth, may take hours
|
|
172
312
|
|
|
173
|
-
**Question
|
|
313
|
+
**Question 4: Confidence Target**
|
|
174
314
|
|
|
175
315
|
```
|
|
176
316
|
When should the Oracle consider the research complete?
|
|
@@ -182,7 +322,7 @@ Options:
|
|
|
182
322
|
3. **95% confidence (recommended)** โ Thorough, few gaps remaining
|
|
183
323
|
4. **99% confidence** โ Near-exhaustive, won't stop until almost everything is known
|
|
184
324
|
|
|
185
|
-
**Question
|
|
325
|
+
**Question 5: Research Scope** (only if topic involves codebase)
|
|
186
326
|
|
|
187
327
|
```
|
|
188
328
|
Should the Oracle also search the web, or stay within the codebase?
|
|
@@ -193,6 +333,37 @@ Options:
|
|
|
193
333
|
2. **Codebase + web** โ Also use WebSearch and WebFetch for docs, best practices, prior art
|
|
194
334
|
3. **Web only** โ Focus on external research (libraries, concepts, techniques)
|
|
195
335
|
|
|
336
|
+
**Question 6: Search Strategy**
|
|
337
|
+
|
|
338
|
+
(Ask this question for all research types.)
|
|
339
|
+
|
|
340
|
+
```
|
|
341
|
+
How should the Oracle approach the research?
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
Options:
|
|
345
|
+
1. **Adaptive (recommended)** -- Oracle decides when to go broad vs deep based on research progress
|
|
346
|
+
2. **Breadth-first** -- Cover all questions with initial findings before going deep on any single one
|
|
347
|
+
3. **Depth-first** -- Pick the most important question and investigate it exhaustively before moving on
|
|
348
|
+
|
|
349
|
+
**Question 7: Focus Areas** (optional)
|
|
350
|
+
|
|
351
|
+
```
|
|
352
|
+
Are there specific aspects you want the Oracle to prioritize?
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
Options:
|
|
356
|
+
1. **No specific focus** -- Let the Oracle decide what to investigate first
|
|
357
|
+
2. **Yes, I have focus areas** -- I want to steer the research toward specific aspects
|
|
358
|
+
|
|
359
|
+
If the user selects option 2, ask a follow-up AskUserQuestion with free-text:
|
|
360
|
+
|
|
361
|
+
```
|
|
362
|
+
List your focus areas (comma-separated). Example: "security implications, performance under load, migration path"
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
Parse the comma-separated response into individual focus area strings.
|
|
366
|
+
|
|
196
367
|
After collecting all answers, proceed to Step 2.
|
|
197
368
|
|
|
198
369
|
---
|
|
@@ -209,56 +380,137 @@ Generate an ISO-8601 UTC timestamp.
|
|
|
209
380
|
|
|
210
381
|
**Archive previous research if it exists:**
|
|
211
382
|
|
|
212
|
-
Check if `.aether/oracle/
|
|
383
|
+
Check if `.aether/oracle/state.json` exists. If it does:
|
|
213
384
|
|
|
214
385
|
```bash
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
cp .aether/oracle
|
|
219
|
-
|
|
386
|
+
ARCHIVE_TS=$(date +%Y-%m-%d-%H%M%S)
|
|
387
|
+
mkdir -p .aether/oracle/archive/$ARCHIVE_TS
|
|
388
|
+
for f in state.json plan.json gaps.md synthesis.md research-plan.md; do
|
|
389
|
+
[ -f ".aether/oracle/$f" ] && cp ".aether/oracle/$f" ".aether/oracle/archive/$ARCHIVE_TS/"
|
|
390
|
+
done
|
|
220
391
|
```
|
|
221
392
|
|
|
222
|
-
**Write research.json
|
|
393
|
+
**Write state.json** (replaces research.json):
|
|
223
394
|
|
|
224
|
-
Use the Write tool to
|
|
395
|
+
Use the Write tool to create `.aether/oracle/state.json`:
|
|
225
396
|
|
|
226
397
|
```json
|
|
227
398
|
{
|
|
399
|
+
"version": "1.1",
|
|
228
400
|
"topic": "<the research topic>",
|
|
229
401
|
"scope": "<codebase|web|both>",
|
|
230
|
-
"
|
|
231
|
-
|
|
232
|
-
|
|
402
|
+
"template": "<template from Question 2: tech-eval|architecture-review|bug-investigation|best-practices|custom>",
|
|
403
|
+
"phase": "survey",
|
|
404
|
+
"iteration": 0,
|
|
233
405
|
"max_iterations": <number from depth choice>,
|
|
234
406
|
"target_confidence": <number from confidence choice>,
|
|
235
|
-
"
|
|
407
|
+
"overall_confidence": 0,
|
|
408
|
+
"started_at": "<ISO-8601 UTC timestamp>",
|
|
409
|
+
"last_updated": "<ISO-8601 UTC timestamp>",
|
|
410
|
+
"status": "active",
|
|
411
|
+
"strategy": "<strategy from Question 6: adaptive|breadth-first|depth-first>",
|
|
412
|
+
"focus_areas": [<array of focus area strings from Question 7, or empty array if no focus>]
|
|
236
413
|
}
|
|
237
414
|
```
|
|
238
415
|
|
|
239
|
-
|
|
416
|
+
**Emit focus area pheromones** (if any focus areas were set):
|
|
240
417
|
|
|
241
|
-
|
|
418
|
+
For each focus area string from Question 7:
|
|
242
419
|
|
|
243
|
-
|
|
420
|
+
```bash
|
|
421
|
+
bash .aether/aether-utils.sh pheromone-write FOCUS "$focus_area" \
|
|
422
|
+
--strength 0.8 --source "oracle:wizard" \
|
|
423
|
+
--reason "Focus area set in oracle wizard" --ttl "24h" 2>/dev/null || true
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
**Write plan.json:**
|
|
427
|
+
|
|
428
|
+
**If template is NOT `custom`**, pre-populate plan.json with the template's default questions. **If template IS `custom`**, break the topic into 3-8 sub-questions (adapt to topic complexity -- broader topics get more questions, focused topics fewer).
|
|
429
|
+
|
|
430
|
+
Template default questions:
|
|
431
|
+
|
|
432
|
+
- **tech-eval**: q1 "What problem does this technology solve and what are its core capabilities?", q2 "How does it compare to alternative solutions?", q3 "What are its known limitations and tradeoffs?", q4 "What is the adoption and community status?", q5 "What is the migration or integration path?"
|
|
433
|
+
- **architecture-review**: q1 "What are the main components and their responsibilities?", q2 "What are the dependency relationships between components?", q3 "Where are the risk areas (coupling, complexity, single points of failure)?", q4 "How does it handle scale and growth?", q5 "What would an expert change about this architecture?"
|
|
434
|
+
- **bug-investigation**: q1 "What is the exact failure behavior?", q2 "What are the reproduction conditions?", q3 "What is the root cause?", q4 "What are possible fixes and their tradeoffs?", q5 "Are there related issues or regression risks?"
|
|
435
|
+
- **best-practices**: q1 "What is current industry best practice for this domain?", q2 "How does our implementation compare to best practice?", q3 "What gaps exist between our approach and best practice?", q4 "What is the recommended improvement path?"
|
|
436
|
+
|
|
437
|
+
Use the Write tool to create `.aether/oracle/plan.json`:
|
|
438
|
+
|
|
439
|
+
```json
|
|
440
|
+
{
|
|
441
|
+
"version": "1.1",
|
|
442
|
+
"sources": {},
|
|
443
|
+
"questions": [
|
|
444
|
+
{
|
|
445
|
+
"id": "q1",
|
|
446
|
+
"text": "<question text from template or AI-decomposed>",
|
|
447
|
+
"status": "open",
|
|
448
|
+
"confidence": 0,
|
|
449
|
+
"key_findings": [],
|
|
450
|
+
"iterations_touched": []
|
|
451
|
+
}
|
|
452
|
+
],
|
|
453
|
+
"created_at": "<ISO-8601 UTC timestamp>",
|
|
454
|
+
"last_updated": "<ISO-8601 UTC timestamp>"
|
|
455
|
+
}
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
**Write gaps.md** (initial empty structure):
|
|
459
|
+
|
|
460
|
+
Use the Write tool to create `.aether/oracle/gaps.md`:
|
|
244
461
|
|
|
245
462
|
```markdown
|
|
246
|
-
#
|
|
463
|
+
# Knowledge Gaps
|
|
247
464
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
**Target Confidence:** <N>%
|
|
251
|
-
**Max Iterations:** <N>
|
|
252
|
-
**Scope:** <codebase|web|both>
|
|
465
|
+
## Open Questions
|
|
466
|
+
(No research conducted yet)
|
|
253
467
|
|
|
254
|
-
##
|
|
255
|
-
|
|
256
|
-
2. <question 2>
|
|
257
|
-
3. <question 3>
|
|
258
|
-
...
|
|
468
|
+
## Contradictions
|
|
469
|
+
(None identified)
|
|
259
470
|
|
|
260
|
-
|
|
471
|
+
## Last Updated
|
|
472
|
+
Iteration 0 -- <ISO-8601 UTC timestamp>
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
**Write synthesis.md** (initial empty structure):
|
|
476
|
+
|
|
477
|
+
Use the Write tool to create `.aether/oracle/synthesis.md`:
|
|
478
|
+
|
|
479
|
+
```markdown
|
|
480
|
+
# Research Synthesis
|
|
481
|
+
|
|
482
|
+
## Topic
|
|
483
|
+
<the research topic>
|
|
484
|
+
|
|
485
|
+
## Findings by Question
|
|
486
|
+
(No findings yet -- research has not started)
|
|
487
|
+
|
|
488
|
+
## Last Updated
|
|
489
|
+
Iteration 0 -- <ISO-8601 UTC timestamp>
|
|
490
|
+
```
|
|
261
491
|
|
|
492
|
+
**Generate research-plan.md:**
|
|
493
|
+
|
|
494
|
+
After writing plan.json, generate research-plan.md as the executive summary. Use the Write tool to create `.aether/oracle/research-plan.md`:
|
|
495
|
+
|
|
496
|
+
```markdown
|
|
497
|
+
# Research Plan
|
|
498
|
+
|
|
499
|
+
**Topic:** <topic>
|
|
500
|
+
**Status:** active | **Iteration:** 0 of <max>
|
|
501
|
+
**Overall Confidence:** 0%
|
|
502
|
+
|
|
503
|
+
## Questions
|
|
504
|
+
| # | Question | Status | Confidence |
|
|
505
|
+
|---|----------|--------|------------|
|
|
506
|
+
| q1 | <question text> | open | 0% |
|
|
507
|
+
| q2 | ... | open | 0% |
|
|
508
|
+
|
|
509
|
+
## Next Steps
|
|
510
|
+
Next investigation: <text of q1, the first question>
|
|
511
|
+
|
|
512
|
+
---
|
|
513
|
+
*Generated from plan.json -- do not edit directly*
|
|
262
514
|
```
|
|
263
515
|
|
|
264
516
|
Proceed to Step 3.
|
|
@@ -267,21 +519,24 @@ Proceed to Step 3.
|
|
|
267
519
|
|
|
268
520
|
### Step 3: Launch
|
|
269
521
|
|
|
270
|
-
Output the research configuration summary:
|
|
522
|
+
Output the research configuration summary, showing the sub-questions from plan.json:
|
|
271
523
|
|
|
272
524
|
```
|
|
273
525
|
๐ฎ Research Configured
|
|
274
526
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
275
527
|
|
|
276
528
|
๐ Topic: <topic>
|
|
529
|
+
๐ Template: <template type, e.g. "tech-eval" or "custom">
|
|
277
530
|
๐ Iterations: <max_iterations>
|
|
278
531
|
๐ฏ Confidence: <target_confidence>%
|
|
279
532
|
๐ Scope: <scope>
|
|
533
|
+
๐ Strategy: <strategy>
|
|
534
|
+
๐ฏ Focus: <focus areas comma-separated, or "None">
|
|
280
535
|
|
|
281
|
-
๐
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
536
|
+
๐ Sub-Questions:
|
|
537
|
+
q1. <question text from plan.json>
|
|
538
|
+
q2. <question text from plan.json>
|
|
539
|
+
q3. <question text from plan.json>
|
|
285
540
|
|
|
286
541
|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
287
542
|
```
|
|
@@ -291,7 +546,7 @@ Now launch the loop. Try tmux first, fall back to manual.
|
|
|
291
546
|
**Try tmux:**
|
|
292
547
|
|
|
293
548
|
```bash
|
|
294
|
-
tmux new-session -d -s oracle "cd $(pwd) && bash .aether/oracle/oracle.sh; echo ''; echo '๐ฎ Oracle loop finished. Press any key to close.'; read -n1" 2>/dev/null && echo "TMUX_OK" || echo "TMUX_FAIL"
|
|
549
|
+
tmux new-session -d -s oracle "cd $(pwd) && bash .aether/utils/oracle/oracle.sh; echo ''; echo '๐ฎ Oracle loop finished. Press any key to close.'; read -n1" 2>/dev/null && echo "TMUX_OK" || echo "TMUX_FAIL"
|
|
295
550
|
```
|
|
296
551
|
|
|
297
552
|
**If TMUX_OK:**
|
|
@@ -306,7 +561,7 @@ tmux new-session -d -s oracle "cd $(pwd) && bash .aether/oracle/oracle.sh; echo
|
|
|
306
561
|
๐ Check status: /ant:oracle status
|
|
307
562
|
๐ Stop early: /ant:oracle stop
|
|
308
563
|
|
|
309
|
-
|
|
564
|
+
Research progress visible at .aether/oracle/research-plan.md
|
|
310
565
|
The Oracle will stop when it reaches {target_confidence}% confidence
|
|
311
566
|
or completes {max_iterations} iterations.
|
|
312
567
|
|
|
@@ -326,7 +581,7 @@ Stop here.
|
|
|
326
581
|
tmux not available. Run this in a separate terminal:
|
|
327
582
|
|
|
328
583
|
cd {current_working_directory}
|
|
329
|
-
bash .aether/oracle/oracle.sh
|
|
584
|
+
bash .aether/utils/oracle/oracle.sh
|
|
330
585
|
|
|
331
586
|
Then come back here:
|
|
332
587
|
๐ Check status: /ant:oracle status
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/organize.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:organize
|
|
3
4
|
description: "๐งน๐๐๏ธ๐๐งน Run codebase hygiene report - archivist ant scans for stale files, dead code, orphaned configs (report-only)"
|
|
4
5
|
---
|
|
5
6
|
|
|
6
|
-
You are the **Queen Ant Colony**. Spawn an archivist to analyze codebase hygiene.
|
|
7
|
-
|
|
8
|
-
> **Note:** `$normalized_args` is unused. Future extensions could accept a path scope argument.
|
|
9
|
-
|
|
10
|
-
## Instructions
|
|
11
|
-
|
|
12
7
|
### Step -1: Normalize Arguments
|
|
13
8
|
|
|
14
9
|
Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
|
|
15
10
|
|
|
16
11
|
This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
|
|
17
12
|
|
|
13
|
+
You are the **Queen Ant Colony**. Spawn an archivist to analyze codebase hygiene.
|
|
14
|
+
|
|
15
|
+
> **Note:** `$normalized_args` is unused. Future extensions could accept a path scope argument.
|
|
16
|
+
|
|
17
|
+
## Instructions
|
|
18
|
+
|
|
18
19
|
### Step 1: Read State
|
|
19
20
|
|
|
20
21
|
Use the Read tool to read these files (in parallel):
|
|
@@ -33,11 +34,12 @@ From COLONY_STATE.json, extract:
|
|
|
33
34
|
|
|
34
35
|
### Step 2: Compute Active Pheromones
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
Run using the Bash tool:
|
|
38
|
+
```bash
|
|
39
|
+
bash .aether/aether-utils.sh pheromone-read
|
|
40
|
+
```
|
|
37
41
|
|
|
38
|
-
|
|
39
|
-
- `expires_at` is null (permanent signals like INIT), OR
|
|
40
|
-
- `expires_at` > current timestamp (not expired)
|
|
42
|
+
Use `.result.signals` as the active signal list (already decay-filtered by runtime logic).
|
|
41
43
|
|
|
42
44
|
Format as the standard ACTIVE PHEROMONES block:
|
|
43
45
|
```
|
|
@@ -54,8 +56,8 @@ If no active signals after filtering:
|
|
|
54
56
|
|
|
55
57
|
Read `.aether/workers.md` and extract the `## Keeper` section.
|
|
56
58
|
|
|
57
|
-
Spawn via **Task tool** with `subagent_type="
|
|
58
|
-
# NOTE: Claude Code uses aether-keeper; OpenCode uses
|
|
59
|
+
Spawn via **Task tool** with `subagent_type="aether-keeper"`:
|
|
60
|
+
# NOTE: Claude Code uses aether-keeper; OpenCode now uses same specialist agent
|
|
59
61
|
|
|
60
62
|
```
|
|
61
63
|
--- WORKER SPEC ---
|