aether-colony 3.1.17 → 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 +5354 -0
- 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 +211 -0
- package/.aether/docs/README.md +98 -0
- package/.aether/docs/caste-system.md +48 -0
- 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/{runtime → .aether/docs/disciplines}/DISCIPLINES.md +13 -11
- package/.aether/docs/error-codes.md +268 -0
- package/.aether/docs/known-issues.md +94 -0
- package/{runtime → .aether}/docs/pheromones.md +86 -6
- package/.aether/docs/plans/pheromone-display-plan.md +257 -0
- package/.aether/docs/queen-commands.md +98 -0
- package/.aether/docs/source-of-truth-map.md +132 -0
- package/.aether/docs/xml-utilities.md +47 -0
- package/{runtime → .aether}/exchange/pheromone-xml.sh +2 -1
- package/{runtime → .aether}/exchange/registry-xml.sh +7 -3
- package/{runtime → .aether}/exchange/wisdom-xml.sh +11 -4
- package/.aether/rules/aether-colony.md +144 -0
- package/.aether/schemas/example-prompt-builder.xml +234 -0
- 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 +61 -0
- package/.aether/templates/colony-state-reset.jq.template +23 -0
- package/.aether/templates/colony-state.template.json +39 -0
- package/.aether/templates/constraints.template.json +9 -0
- package/.aether/templates/crowned-anthill.template.md +36 -0
- package/.aether/templates/handoff-build-error.template.md +30 -0
- package/.aether/templates/handoff-build-success.template.md +39 -0
- package/.aether/templates/handoff.template.md +40 -0
- package/.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/{runtime → .aether}/utils/atomic-write.sh +68 -22
- package/{runtime → .aether}/utils/chamber-compare.sh +23 -10
- package/.aether/utils/chamber-utils.sh +440 -0
- package/.aether/utils/emoji-audit.sh +166 -0
- package/{runtime → .aether}/utils/error-handler.sh +34 -8
- package/.aether/utils/file-lock.sh +313 -0
- 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 +415 -0
- package/.aether/utils/session.sh +552 -0
- package/.aether/utils/skills.sh +509 -0
- package/.aether/utils/spawn-tree.sh +260 -0
- package/.aether/utils/spawn.sh +260 -0
- package/.aether/utils/state-api.sh +199 -0
- package/{runtime → .aether}/utils/state-loader.sh +8 -6
- package/.aether/utils/suggest.sh +611 -0
- package/{runtime → .aether}/utils/swarm-display.sh +10 -1
- package/.aether/utils/swarm.sh +1004 -0
- package/{runtime → .aether}/utils/watch-spawn-tree.sh +11 -2
- package/{runtime → .aether}/utils/xml-compose.sh +9 -3
- package/.aether/utils/xml-convert.sh +277 -0
- package/{runtime → .aether}/utils/xml-core.sh +5 -9
- package/.aether/utils/xml-query.sh +201 -0
- package/.aether/utils/xml-utils.sh +110 -0
- package/{runtime → .aether}/workers.md +97 -81
- package/.claude/agents/ant/aether-ambassador.md +265 -0
- package/.claude/agents/ant/aether-archaeologist.md +327 -0
- package/.claude/agents/ant/aether-architect.md +236 -0
- package/.claude/agents/ant/aether-auditor.md +271 -0
- package/.claude/agents/ant/aether-builder.md +224 -0
- package/.claude/agents/ant/aether-chaos.md +269 -0
- package/.claude/agents/ant/aether-chronicler.md +305 -0
- package/.claude/agents/ant/aether-gatekeeper.md +330 -0
- package/.claude/agents/ant/aether-includer.md +374 -0
- package/.claude/agents/ant/aether-keeper.md +272 -0
- package/.claude/agents/ant/aether-measurer.md +322 -0
- package/.claude/agents/ant/aether-oracle.md +237 -0
- package/.claude/agents/ant/aether-probe.md +211 -0
- package/.claude/agents/ant/aether-queen.md +330 -0
- package/.claude/agents/ant/aether-route-setter.md +178 -0
- package/.claude/agents/ant/aether-sage.md +418 -0
- package/.claude/agents/ant/aether-scout.md +179 -0
- package/.claude/agents/ant/aether-surveyor-disciplines.md +417 -0
- package/.claude/agents/ant/aether-surveyor-nest.md +355 -0
- package/.claude/agents/ant/aether-surveyor-pathogens.md +289 -0
- package/.claude/agents/ant/aether-surveyor-provisions.md +360 -0
- package/.claude/agents/ant/aether-tracker.md +270 -0
- package/.claude/agents/ant/aether-watcher.md +280 -0
- package/.claude/agents/ant/aether-weaver.md +248 -0
- package/.claude/commands/ant/archaeology.md +16 -14
- package/.claude/commands/ant/build.md +43 -1028
- package/.claude/commands/ant/chaos.md +19 -23
- package/.claude/commands/ant/colonize.md +52 -31
- package/.claude/commands/ant/continue.md +40 -1016
- package/.claude/commands/ant/council.md +21 -18
- package/.claude/commands/ant/data-clean.md +81 -0
- package/.claude/commands/ant/dream.md +27 -15
- package/.claude/commands/ant/entomb.md +317 -225
- package/.claude/commands/ant/export-signals.md +57 -0
- package/.claude/commands/ant/feedback.md +48 -26
- package/.claude/commands/ant/flag.md +30 -10
- package/.claude/commands/ant/flags.md +34 -12
- package/.claude/commands/ant/focus.md +45 -19
- package/.claude/commands/ant/help.md +50 -8
- package/.claude/commands/ant/history.md +13 -0
- package/.claude/commands/ant/import-signals.md +71 -0
- package/.claude/commands/ant/init.md +345 -194
- package/.claude/commands/ant/insert-phase.md +101 -0
- package/.claude/commands/ant/interpret.md +26 -4
- package/.claude/commands/ant/lay-eggs.md +184 -127
- package/.claude/commands/ant/maturity.md +32 -11
- package/.claude/commands/ant/memory-details.md +77 -0
- package/.claude/commands/ant/migrate-state.md +20 -2
- package/.claude/commands/ant/oracle.md +337 -74
- package/.claude/commands/ant/organize.md +39 -25
- package/.claude/commands/ant/patrol.md +620 -0
- package/.claude/commands/ant/pause-colony.md +23 -27
- package/.claude/commands/ant/phase.md +40 -42
- package/.claude/commands/ant/pheromones.md +156 -0
- package/.claude/commands/ant/plan.md +185 -51
- package/.claude/commands/ant/preferences.md +65 -0
- package/.claude/commands/ant/redirect.md +45 -30
- package/.claude/commands/ant/resume-colony.md +51 -27
- package/.claude/commands/ant/resume.md +314 -94
- package/.claude/commands/ant/run.md +195 -0
- package/.claude/commands/ant/seal.md +650 -221
- package/.claude/commands/ant/skill-create.md +286 -0
- package/.claude/commands/ant/status.md +196 -31
- package/.claude/commands/ant/swarm.md +16 -46
- package/.claude/commands/ant/tunnels.md +280 -105
- package/.claude/commands/ant/update.md +73 -89
- package/.claude/commands/ant/verify-castes.md +100 -42
- package/.claude/commands/ant/watch.md +14 -12
- package/.opencode/agents/aether-ambassador.md +63 -20
- package/.opencode/agents/aether-archaeologist.md +29 -12
- package/.opencode/agents/aether-architect.md +103 -36
- package/.opencode/agents/aether-auditor.md +51 -18
- package/.opencode/agents/aether-builder.md +70 -20
- package/.opencode/agents/aether-chaos.md +29 -12
- package/.opencode/agents/aether-chronicler.md +60 -18
- package/.opencode/agents/aether-gatekeeper.md +27 -18
- package/.opencode/agents/aether-includer.md +27 -18
- package/.opencode/agents/aether-keeper.md +89 -18
- package/.opencode/agents/aether-measurer.md +27 -18
- package/.opencode/agents/aether-oracle.md +137 -0
- package/.opencode/agents/aether-probe.md +60 -18
- package/.opencode/agents/aether-queen.md +172 -24
- package/.opencode/agents/aether-route-setter.md +57 -12
- package/.opencode/agents/aether-sage.md +26 -18
- package/.opencode/agents/aether-scout.md +28 -20
- package/.opencode/agents/aether-surveyor-disciplines.md +59 -2
- package/.opencode/agents/aether-surveyor-nest.md +59 -2
- package/.opencode/agents/aether-surveyor-pathogens.md +57 -2
- package/.opencode/agents/aether-surveyor-provisions.md +59 -2
- package/.opencode/agents/aether-tracker.md +64 -18
- package/.opencode/agents/aether-watcher.md +66 -19
- package/.opencode/agents/aether-weaver.md +61 -18
- package/.opencode/commands/ant/archaeology.md +7 -14
- package/.opencode/commands/ant/build.md +437 -257
- package/.opencode/commands/ant/chaos.md +7 -24
- package/.opencode/commands/ant/colonize.md +8 -17
- package/.opencode/commands/ant/continue.md +661 -142
- 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 +133 -62
- 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 +374 -167
- 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 +18 -16
- 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 +385 -0
- package/.opencode/commands/ant/run.md +201 -0
- package/.opencode/commands/ant/seal.md +259 -45
- package/.opencode/commands/ant/skill-create.md +63 -0
- package/.opencode/commands/ant/status.md +135 -31
- package/.opencode/commands/ant/swarm.md +3 -345
- package/.opencode/commands/ant/tunnels.md +152 -9
- package/.opencode/commands/ant/update.md +70 -91
- package/.opencode/commands/ant/verify-castes.md +96 -42
- package/.opencode/commands/ant/watch.md +7 -0
- package/CHANGELOG.md +356 -0
- package/README.md +203 -573
- package/bin/cli.js +455 -527
- package/bin/generate-commands.js +186 -0
- package/bin/generate-commands.sh +127 -88
- package/bin/lib/init.js +13 -3
- package/bin/lib/spawn-logger.js +0 -15
- package/bin/lib/update-transaction.js +392 -140
- package/bin/npx-install.js +178 -0
- package/bin/sync-to-runtime.sh +5 -137
- package/bin/validate-package.sh +166 -0
- package/package.json +14 -7
- package/.opencode/agents/aether-guardian.md +0 -107
- package/.opencode/agents/workers.md +0 -1034
- 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
- package/runtime/CONTEXT.md +0 -160
- package/runtime/QUEEN_ANT_ARCHITECTURE.md +0 -402
- package/runtime/aether-utils.sh +0 -3879
- package/runtime/data/signatures.json +0 -41
- package/runtime/docs/AETHER-2.0-IMPLEMENTATION-PLAN.md +0 -1343
- package/runtime/docs/AETHER-PHEROMONE-SYSTEM-MASTER-SPEC.md +0 -2642
- package/runtime/docs/PHEROMONE-INJECTION.md +0 -240
- package/runtime/docs/PHEROMONE-INTEGRATION.md +0 -192
- package/runtime/docs/PHEROMONE-SYSTEM-DESIGN.md +0 -426
- package/runtime/docs/README.md +0 -94
- package/runtime/docs/VISUAL-OUTPUT-SPEC.md +0 -219
- package/runtime/docs/biological-reference.md +0 -272
- package/runtime/docs/codebase-review.md +0 -399
- package/runtime/docs/command-sync.md +0 -164
- package/runtime/docs/constraints.md +0 -116
- package/runtime/docs/implementation-learnings.md +0 -89
- package/runtime/docs/known-issues.md +0 -217
- package/runtime/docs/namespace.md +0 -148
- package/runtime/docs/pathogen-schema-example.json +0 -36
- package/runtime/docs/pathogen-schema.md +0 -111
- package/runtime/docs/planning-discipline.md +0 -159
- package/runtime/docs/progressive-disclosure.md +0 -184
- package/runtime/lib/queen-utils.sh +0 -729
- package/runtime/model-profiles.yaml +0 -100
- package/runtime/planning.md +0 -159
- package/runtime/recover.sh +0 -136
- package/runtime/templates/QUEEN.md.template +0 -79
- package/runtime/utils/chamber-utils.sh +0 -285
- package/runtime/utils/file-lock.sh +0 -122
- package/runtime/utils/spawn-tree.sh +0 -428
- package/runtime/utils/spawn-with-model.sh +0 -56
- package/runtime/utils/xml-utils.sh +0 -2196
- package/runtime/workers-new-castes.md +0 -516
- /package/{runtime → .aether/docs/disciplines}/coding-standards.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/debugging.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/learning.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/tdd.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/verification-loop.md +0 -0
- /package/{runtime → .aether/docs/disciplines}/verification.md +0 -0
- /package/{runtime → .aether}/schemas/aether-types.xsd +0 -0
- /package/{runtime → .aether}/schemas/colony-registry.xsd +0 -0
- /package/{runtime → .aether}/schemas/pheromone.xsd +0 -0
- /package/{runtime → .aether}/schemas/prompt.xsd +0 -0
- /package/{runtime → .aether}/schemas/queen-wisdom.xsd +0 -0
- /package/{runtime → .aether}/schemas/worker-priming.xsd +0 -0
- /package/{runtime → .aether}/utils/colorize-log.sh +0 -0
- /package/{runtime → .aether}/utils/queen-to-md.xsl +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- Generated from .aether/commands/migrate-state.yaml - DO NOT EDIT DIRECTLY -->
|
|
1
2
|
---
|
|
2
3
|
name: ant:migrate-state
|
|
3
4
|
description: "🚚🐜📦🐜🚚 One-time state migration from v1 to v2.0 format"
|
|
@@ -113,12 +114,15 @@ Format the JSON with 2-space indentation for readability.
|
|
|
113
114
|
|
|
114
115
|
Output header:
|
|
115
116
|
|
|
117
|
+
|
|
116
118
|
```
|
|
117
|
-
🚚🐜📦🐜🚚
|
|
119
|
+
🚚🐜📦🐜🚚 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
118
120
|
S T A T E M I G R A T I O N C O M P L E T E
|
|
119
|
-
|
|
121
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🚚🐜📦🐜🚚
|
|
120
122
|
```
|
|
121
123
|
|
|
124
|
+
|
|
125
|
+
|
|
122
126
|
Then output a migration summary:
|
|
123
127
|
|
|
124
128
|
```
|
|
@@ -151,3 +155,17 @@ All commands now use consolidated state format.
|
|
|
151
155
|
- After v5.1 ships, this command can be removed
|
|
152
156
|
- All 12+ ant commands will be updated to use the new single-file format
|
|
153
157
|
- The backup directory preserves original files for rollback if needed
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Step 7: Next Up
|
|
163
|
+
|
|
164
|
+
Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
|
|
165
|
+
```bash
|
|
166
|
+
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
167
|
+
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
168
|
+
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
169
|
+
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
170
|
+
```
|
|
171
|
+
|
|
@@ -1,3 +1,4 @@
|
|
|
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"
|
|
@@ -25,25 +26,16 @@ Parse `$ARGUMENTS` to determine the action:
|
|
|
25
26
|
|
|
26
27
|
2. **If remaining arguments is exactly `stop`** — go to **Step 0b: Stop Oracle**
|
|
27
28
|
3. **If remaining arguments is exactly `status`** — go to **Step 0c: Show Status**
|
|
28
|
-
4. **
|
|
29
|
+
4. **If remaining arguments is exactly `promote`** — go to **Step 0d: Promote Findings**
|
|
30
|
+
5. **Otherwise** — go to **Step 0.5: Initialize Visual Mode** then **Step 1: Research Wizard**
|
|
29
31
|
|
|
30
32
|
### Step 0.5: Initialize Visual Mode (if enabled)
|
|
31
33
|
|
|
32
|
-
If `visual_mode` is true:
|
|
33
|
-
```bash
|
|
34
|
-
# Generate session ID
|
|
35
|
-
oracle_id="oracle-$(date +%s)"
|
|
36
|
-
|
|
37
|
-
# Initialize swarm display
|
|
38
|
-
bash .aether/aether-utils.sh swarm-display-init "$oracle_id"
|
|
39
|
-
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
|
|
40
|
-
```
|
|
41
|
-
|
|
42
34
|
Display visual header:
|
|
43
35
|
```
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
36
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
37
|
+
🔮🐜🧠🐜🔮 O R A C L E — R e s e a r c h M o d e
|
|
38
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
47
39
|
|
|
48
40
|
Oracle peering into the depths...
|
|
49
41
|
```
|
|
@@ -52,7 +44,7 @@ Oracle peering into the depths...
|
|
|
52
44
|
|
|
53
45
|
### Step 0b: Stop Oracle
|
|
54
46
|
|
|
55
|
-
Create the stop signal file:
|
|
47
|
+
Create the stop signal file by running using the Bash tool with description "Stopping oracle research...":
|
|
56
48
|
|
|
57
49
|
```bash
|
|
58
50
|
mkdir -p .aether/oracle && touch .aether/oracle/.stop
|
|
@@ -75,36 +67,32 @@ Stop here. Do not proceed.
|
|
|
75
67
|
|
|
76
68
|
### Step 0c: Show Status
|
|
77
69
|
|
|
78
|
-
Check if `.aether/oracle/
|
|
70
|
+
Check if `.aether/oracle/research-plan.md` exists using the Read tool.
|
|
79
71
|
|
|
80
72
|
**If it does NOT exist**, output:
|
|
81
73
|
|
|
82
74
|
```
|
|
83
75
|
🔮🐜 Oracle Status: No Research In Progress
|
|
84
76
|
|
|
85
|
-
No
|
|
77
|
+
No active research session. Start one:
|
|
86
78
|
/ant:oracle
|
|
87
79
|
```
|
|
88
80
|
|
|
89
81
|
Stop here.
|
|
90
82
|
|
|
91
|
-
**If it exists**, read `.aether/oracle/
|
|
92
|
-
|
|
93
|
-
Count the number of `## Iteration` headings in progress.md to determine iterations completed.
|
|
83
|
+
**If it exists**, read `.aether/oracle/research-plan.md` and `.aether/oracle/state.json` (if present).
|
|
94
84
|
|
|
95
85
|
Output:
|
|
96
86
|
|
|
97
87
|
```
|
|
98
88
|
🔮🐜 Oracle Status
|
|
99
|
-
|
|
100
|
-
Topic: {topic from
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
Started: {started_at}
|
|
89
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
90
|
+
Topic: {topic from state.json, or "unknown"}
|
|
91
|
+
Iteration: {iteration} of {max_iterations}
|
|
92
|
+
Status: {status}
|
|
104
93
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
94
|
+
{contents of research-plan.md}
|
|
95
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
108
96
|
|
|
109
97
|
/ant:oracle stop Halt the loop
|
|
110
98
|
/ant:oracle Start new research
|
|
@@ -114,6 +102,143 @@ Stop here.
|
|
|
114
102
|
|
|
115
103
|
---
|
|
116
104
|
|
|
105
|
+
### Step 0d: Promote Findings to Colony
|
|
106
|
+
|
|
107
|
+
Check if `.aether/oracle/state.json` exists. If it does NOT exist, or if the status is "active", output:
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
🔮🐜 Oracle Promote: No Completed Research
|
|
111
|
+
|
|
112
|
+
No completed research to promote. Run /ant:oracle first, then wait for completion.
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Stop here.
|
|
116
|
+
|
|
117
|
+
**If state.json exists and status is "complete" or "stopped":**
|
|
118
|
+
|
|
119
|
+
Read `.aether/oracle/plan.json` and extract high-confidence findings. Run using the Bash tool with description "Reading oracle findings for promotion...":
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
ORACLE_DIR=".aether/oracle"
|
|
123
|
+
topic=$(jq -r '.topic // "unknown"' "$ORACLE_DIR/state.json")
|
|
124
|
+
status=$(jq -r '.status // "active"' "$ORACLE_DIR/state.json")
|
|
125
|
+
count=$(jq '[.questions[] | select(.status == "answered" and .confidence >= 80)] | length' "$ORACLE_DIR/plan.json" 2>/dev/null || echo "0")
|
|
126
|
+
total=$(jq '[.questions[]] | length' "$ORACLE_DIR/plan.json" 2>/dev/null || echo "0")
|
|
127
|
+
echo "TOPIC=$topic"
|
|
128
|
+
echo "STATUS=$status"
|
|
129
|
+
echo "QUALIFYING=$count"
|
|
130
|
+
echo "TOTAL=$total"
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
If qualifying count is 0, output:
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
🔮🐜 Oracle Promote: No Qualifying Findings
|
|
137
|
+
|
|
138
|
+
Topic: {topic}
|
|
139
|
+
Status: {status}
|
|
140
|
+
Findings: 0 of {total} questions meet the threshold (answered + 80%+ confidence)
|
|
141
|
+
|
|
142
|
+
Lower-confidence findings remain in .aether/oracle/synthesis.md for reference.
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Stop here.
|
|
146
|
+
|
|
147
|
+
**If qualifying count > 0**, display the summary and ask for confirmation:
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
🔮🐜 Oracle Promote: Colony Knowledge Integration
|
|
151
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
152
|
+
|
|
153
|
+
Oracle Research: {topic}
|
|
154
|
+
Status: {status}
|
|
155
|
+
High-confidence findings: {count} (answering {count} of {total} questions)
|
|
156
|
+
|
|
157
|
+
These findings will be promoted to:
|
|
158
|
+
- Colony instincts (COLONY_STATE.json)
|
|
159
|
+
- Colony learnings (learnings.json)
|
|
160
|
+
- Observation pipeline (for queen-promote)
|
|
161
|
+
|
|
162
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Use AskUserQuestion to ask:
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
Promote these findings to colony knowledge?
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Options:
|
|
172
|
+
1. **Yes, promote all high-confidence findings** -- Push qualifying findings to colony instincts, learnings, and observations
|
|
173
|
+
2. **No, skip promotion** -- Findings remain in .aether/oracle/ for reference only
|
|
174
|
+
|
|
175
|
+
**If user selects Yes:**
|
|
176
|
+
|
|
177
|
+
Run promotion using the Bash tool with description "Promoting oracle findings to colony knowledge...". For each qualifying question, call the colony APIs directly:
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
ORACLE_DIR=".aether/oracle"
|
|
181
|
+
UTILS=".aether/aether-utils.sh"
|
|
182
|
+
topic=$(jq -r '.topic // "unknown"' "$ORACLE_DIR/state.json")
|
|
183
|
+
promoted=0
|
|
184
|
+
|
|
185
|
+
while IFS= read -r question; do
|
|
186
|
+
q_text=$(echo "$question" | jq -r '.text')
|
|
187
|
+
q_confidence=$(echo "$question" | jq -r '.confidence')
|
|
188
|
+
findings_text=$(echo "$question" | jq -r '[.key_findings[].text // .key_findings[]] | join("; ")' 2>/dev/null | head -c 200)
|
|
189
|
+
first_finding=$(echo "$question" | jq -r '[.key_findings[].text // .key_findings[]] | first // "No findings"' 2>/dev/null)
|
|
190
|
+
|
|
191
|
+
bash "$UTILS" instinct-create \
|
|
192
|
+
--trigger "researching: $q_text" \
|
|
193
|
+
--action "Oracle found (${q_confidence}% confidence): $findings_text" \
|
|
194
|
+
--confidence "$(echo "scale=2; $q_confidence / 100" | bc)" \
|
|
195
|
+
--domain "research" \
|
|
196
|
+
--source "oracle:$topic" \
|
|
197
|
+
--evidence "Oracle research: $q_text" 2>/dev/null || true
|
|
198
|
+
|
|
199
|
+
bash "$UTILS" learning-promote \
|
|
200
|
+
"Oracle: $q_text -- $first_finding" \
|
|
201
|
+
"oracle" \
|
|
202
|
+
"oracle-research" \
|
|
203
|
+
"oracle,research" 2>/dev/null || true
|
|
204
|
+
|
|
205
|
+
bash "$UTILS" memory-capture learning \
|
|
206
|
+
"Oracle research finding: $q_text (${q_confidence}%)" \
|
|
207
|
+
"pattern" \
|
|
208
|
+
"oracle:promote" 2>/dev/null || true
|
|
209
|
+
|
|
210
|
+
promoted=$((promoted + 1))
|
|
211
|
+
done < <(jq -c '[.questions[] | select(.status == "answered" and .confidence >= 80)] | .[]' "$ORACLE_DIR/plan.json")
|
|
212
|
+
|
|
213
|
+
echo "Promoted $promoted findings"
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Output:
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
🔮🐜 Oracle Promote: Complete
|
|
220
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
221
|
+
|
|
222
|
+
Promoted {count} findings to colony knowledge:
|
|
223
|
+
- Instincts created in COLONY_STATE.json
|
|
224
|
+
- Learnings stored in learnings.json
|
|
225
|
+
- Observations tracked for wisdom promotion
|
|
226
|
+
|
|
227
|
+
Run /ant:status to see colony knowledge updates.
|
|
228
|
+
|
|
229
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
**If user selects No:**
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
🔮🐜 Promotion skipped. Findings remain in .aether/oracle/synthesis.md.
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
Stop here.
|
|
239
|
+
|
|
240
|
+
---
|
|
241
|
+
|
|
117
242
|
### Step 1: Research Wizard
|
|
118
243
|
|
|
119
244
|
This is the setup phase. The Oracle asks questions to configure the research before launching.
|
|
@@ -121,9 +246,9 @@ This is the setup phase. The Oracle asks questions to configure the research bef
|
|
|
121
246
|
Output the header:
|
|
122
247
|
|
|
123
248
|
```
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
249
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
250
|
+
🔮🐜🧠🐜🔮 O R A C L E A N T — R E S E A R C H W I Z A R D
|
|
251
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
127
252
|
```
|
|
128
253
|
|
|
129
254
|
**If `$ARGUMENTS` is not empty and not a subcommand**, use it as the initial topic suggestion. Otherwise, the topic will be asked in Question 1.
|
|
@@ -153,7 +278,22 @@ Describe the research topic in detail. The more specific, the better the Oracle'
|
|
|
153
278
|
|
|
154
279
|
(The user will type their topic via the "Other" free-text option.)
|
|
155
280
|
|
|
156
|
-
**Question 2: Research
|
|
281
|
+
**Question 2: Research Template**
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
What type of research is this?
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Options:
|
|
288
|
+
1. **Technology evaluation** -- Compare and evaluate a technology, library, or tool
|
|
289
|
+
2. **Architecture review** -- Analyze system design, components, and dependencies
|
|
290
|
+
3. **Bug investigation** -- Track down and understand a specific bug or issue
|
|
291
|
+
4. **Best practices** -- Research recommended approaches for a domain or technique
|
|
292
|
+
5. **Custom research** -- Free-form research (Oracle decomposes the topic as it sees fit)
|
|
293
|
+
|
|
294
|
+
Map selection to template value: 1->tech-eval, 2->architecture-review, 3->bug-investigation, 4->best-practices, 5->custom
|
|
295
|
+
|
|
296
|
+
**Question 3: Research Depth**
|
|
157
297
|
|
|
158
298
|
```
|
|
159
299
|
How deep should the Oracle go?
|
|
@@ -165,7 +305,7 @@ Options:
|
|
|
165
305
|
3. **Deep dive (30 iterations)** — Exhaustive research, leaves no stone unturned
|
|
166
306
|
4. **Marathon (50 iterations)** — Maximum depth, may take hours
|
|
167
307
|
|
|
168
|
-
**Question
|
|
308
|
+
**Question 4: Confidence Target**
|
|
169
309
|
|
|
170
310
|
```
|
|
171
311
|
When should the Oracle consider the research complete?
|
|
@@ -177,7 +317,7 @@ Options:
|
|
|
177
317
|
3. **95% confidence (recommended)** — Thorough, few gaps remaining
|
|
178
318
|
4. **99% confidence** — Near-exhaustive, won't stop until almost everything is known
|
|
179
319
|
|
|
180
|
-
**Question
|
|
320
|
+
**Question 5: Research Scope** (only if topic involves codebase)
|
|
181
321
|
|
|
182
322
|
```
|
|
183
323
|
Should the Oracle also search the web, or stay within the codebase?
|
|
@@ -188,6 +328,37 @@ Options:
|
|
|
188
328
|
2. **Codebase + web** — Also use WebSearch and WebFetch for docs, best practices, prior art
|
|
189
329
|
3. **Web only** — Focus on external research (libraries, concepts, techniques)
|
|
190
330
|
|
|
331
|
+
**Question 6: Search Strategy**
|
|
332
|
+
|
|
333
|
+
(Ask this question for all research types.)
|
|
334
|
+
|
|
335
|
+
```
|
|
336
|
+
How should the Oracle approach the research?
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
Options:
|
|
340
|
+
1. **Adaptive (recommended)** -- Oracle decides when to go broad vs deep based on research progress
|
|
341
|
+
2. **Breadth-first** -- Cover all questions with initial findings before going deep on any single one
|
|
342
|
+
3. **Depth-first** -- Pick the most important question and investigate it exhaustively before moving on
|
|
343
|
+
|
|
344
|
+
**Question 7: Focus Areas** (optional)
|
|
345
|
+
|
|
346
|
+
```
|
|
347
|
+
Are there specific aspects you want the Oracle to prioritize?
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
Options:
|
|
351
|
+
1. **No specific focus** -- Let the Oracle decide what to investigate first
|
|
352
|
+
2. **Yes, I have focus areas** -- I want to steer the research toward specific aspects
|
|
353
|
+
|
|
354
|
+
If the user selects option 2, ask a follow-up AskUserQuestion with free-text:
|
|
355
|
+
|
|
356
|
+
```
|
|
357
|
+
List your focus areas (comma-separated). Example: "security implications, performance under load, migration path"
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Parse the comma-separated response into individual focus area strings.
|
|
361
|
+
|
|
191
362
|
After collecting all answers, proceed to Step 2.
|
|
192
363
|
|
|
193
364
|
---
|
|
@@ -201,7 +372,7 @@ Capture session start time:
|
|
|
201
372
|
ORACLE_START=$(date +%s)
|
|
202
373
|
```
|
|
203
374
|
|
|
204
|
-
Check for stale files:
|
|
375
|
+
Check for stale files by running using the Bash tool with description "Checking for stale oracle session...":
|
|
205
376
|
```bash
|
|
206
377
|
stale_check=$(bash .aether/aether-utils.sh session-verify-fresh --command oracle "" "$ORACLE_START")
|
|
207
378
|
has_stale=$(echo "$stale_check" | jq -r '.stale | length')
|
|
@@ -228,7 +399,7 @@ fi
|
|
|
228
399
|
|
|
229
400
|
### Step 2: Configure Research
|
|
230
401
|
|
|
231
|
-
Create the oracle directory structure:
|
|
402
|
+
Create the oracle directory structure by running using the Bash tool with description "Setting up oracle research...":
|
|
232
403
|
|
|
233
404
|
```bash
|
|
234
405
|
mkdir -p .aether/oracle/archive .aether/oracle/discoveries
|
|
@@ -238,66 +409,147 @@ Generate an ISO-8601 UTC timestamp.
|
|
|
238
409
|
|
|
239
410
|
**Archive previous research if it exists:**
|
|
240
411
|
|
|
241
|
-
Check if `.aether/oracle/
|
|
412
|
+
Check if `.aether/oracle/state.json` exists. If it does, run using the Bash tool with description "Archiving previous research...":
|
|
242
413
|
|
|
243
414
|
```bash
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
cp .aether/oracle
|
|
248
|
-
|
|
415
|
+
ARCHIVE_TS=$(date +%Y-%m-%d-%H%M%S)
|
|
416
|
+
mkdir -p .aether/oracle/archive/$ARCHIVE_TS
|
|
417
|
+
for f in state.json plan.json gaps.md synthesis.md research-plan.md; do
|
|
418
|
+
[ -f ".aether/oracle/$f" ] && cp ".aether/oracle/$f" ".aether/oracle/archive/$ARCHIVE_TS/"
|
|
419
|
+
done
|
|
249
420
|
```
|
|
250
421
|
|
|
251
|
-
**Write research.json
|
|
422
|
+
**Write state.json** (replaces research.json):
|
|
252
423
|
|
|
253
|
-
Use the Write tool to
|
|
424
|
+
Use the Write tool to create `.aether/oracle/state.json`:
|
|
254
425
|
|
|
255
426
|
```json
|
|
256
427
|
{
|
|
428
|
+
"version": "1.1",
|
|
257
429
|
"topic": "<the research topic>",
|
|
258
430
|
"scope": "<codebase|web|both>",
|
|
259
|
-
"
|
|
260
|
-
|
|
261
|
-
|
|
431
|
+
"template": "<template from Question 2: tech-eval|architecture-review|bug-investigation|best-practices|custom>",
|
|
432
|
+
"phase": "survey",
|
|
433
|
+
"iteration": 0,
|
|
262
434
|
"max_iterations": <number from depth choice>,
|
|
263
435
|
"target_confidence": <number from confidence choice>,
|
|
264
|
-
"
|
|
436
|
+
"overall_confidence": 0,
|
|
437
|
+
"started_at": "<ISO-8601 UTC timestamp>",
|
|
438
|
+
"last_updated": "<ISO-8601 UTC timestamp>",
|
|
439
|
+
"status": "active",
|
|
440
|
+
"strategy": "<strategy from Question 6: adaptive|breadth-first|depth-first>",
|
|
441
|
+
"focus_areas": [<array of focus area strings from Question 7, or empty array if no focus>]
|
|
265
442
|
}
|
|
266
443
|
```
|
|
267
444
|
|
|
268
|
-
|
|
445
|
+
**Emit focus area pheromones** (if any focus areas were set):
|
|
446
|
+
|
|
447
|
+
For each focus area string from Question 7, run using the Bash tool with description "Emitting focus area pheromones...":
|
|
448
|
+
|
|
449
|
+
```bash
|
|
450
|
+
bash .aether/aether-utils.sh pheromone-write FOCUS "$focus_area" \
|
|
451
|
+
--strength 0.8 --source "oracle:wizard" \
|
|
452
|
+
--reason "Focus area set in oracle wizard" --ttl "24h" 2>/dev/null || true
|
|
453
|
+
```
|
|
269
454
|
|
|
270
|
-
**Write
|
|
455
|
+
**Write plan.json:**
|
|
271
456
|
|
|
272
|
-
|
|
457
|
+
**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).
|
|
458
|
+
|
|
459
|
+
Template default questions:
|
|
460
|
+
|
|
461
|
+
- **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?"
|
|
462
|
+
- **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?"
|
|
463
|
+
- **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?"
|
|
464
|
+
- **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?"
|
|
465
|
+
|
|
466
|
+
Use the Write tool to create `.aether/oracle/plan.json`:
|
|
467
|
+
|
|
468
|
+
```json
|
|
469
|
+
{
|
|
470
|
+
"version": "1.1",
|
|
471
|
+
"sources": {},
|
|
472
|
+
"questions": [
|
|
473
|
+
{
|
|
474
|
+
"id": "q1",
|
|
475
|
+
"text": "<question text from template or AI-decomposed>",
|
|
476
|
+
"status": "open",
|
|
477
|
+
"confidence": 0,
|
|
478
|
+
"key_findings": [],
|
|
479
|
+
"iterations_touched": []
|
|
480
|
+
}
|
|
481
|
+
],
|
|
482
|
+
"created_at": "<ISO-8601 UTC timestamp>",
|
|
483
|
+
"last_updated": "<ISO-8601 UTC timestamp>"
|
|
484
|
+
}
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
**Write gaps.md** (initial empty structure):
|
|
488
|
+
|
|
489
|
+
Use the Write tool to create `.aether/oracle/gaps.md`:
|
|
273
490
|
|
|
274
491
|
```markdown
|
|
275
|
-
#
|
|
492
|
+
# Knowledge Gaps
|
|
276
493
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
**Target Confidence:** <N>%
|
|
280
|
-
**Max Iterations:** <N>
|
|
281
|
-
**Scope:** <codebase|web|both>
|
|
494
|
+
## Open Questions
|
|
495
|
+
(No research conducted yet)
|
|
282
496
|
|
|
283
|
-
##
|
|
284
|
-
|
|
285
|
-
2. <question 2>
|
|
286
|
-
3. <question 3>
|
|
287
|
-
...
|
|
497
|
+
## Contradictions
|
|
498
|
+
(None identified)
|
|
288
499
|
|
|
289
|
-
|
|
500
|
+
## Last Updated
|
|
501
|
+
Iteration 0 -- <ISO-8601 UTC timestamp>
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
**Write synthesis.md** (initial empty structure):
|
|
290
505
|
|
|
506
|
+
Use the Write tool to create `.aether/oracle/synthesis.md`:
|
|
507
|
+
|
|
508
|
+
```markdown
|
|
509
|
+
# Research Synthesis
|
|
510
|
+
|
|
511
|
+
## Topic
|
|
512
|
+
<the research topic>
|
|
513
|
+
|
|
514
|
+
## Findings by Question
|
|
515
|
+
(No findings yet -- research has not started)
|
|
516
|
+
|
|
517
|
+
## Last Updated
|
|
518
|
+
Iteration 0 -- <ISO-8601 UTC timestamp>
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
**Generate research-plan.md:**
|
|
522
|
+
|
|
523
|
+
After writing plan.json, generate research-plan.md as the executive summary. Use the Write tool to create `.aether/oracle/research-plan.md`:
|
|
524
|
+
|
|
525
|
+
```markdown
|
|
526
|
+
# Research Plan
|
|
527
|
+
|
|
528
|
+
**Topic:** <topic>
|
|
529
|
+
**Status:** active | **Iteration:** 0 of <max>
|
|
530
|
+
**Overall Confidence:** 0%
|
|
531
|
+
|
|
532
|
+
## Questions
|
|
533
|
+
| # | Question | Status | Confidence |
|
|
534
|
+
|---|----------|--------|------------|
|
|
535
|
+
| q1 | <question text> | open | 0% |
|
|
536
|
+
| q2 | ... | open | 0% |
|
|
537
|
+
|
|
538
|
+
## Next Steps
|
|
539
|
+
Next investigation: <text of q1, the first question>
|
|
540
|
+
|
|
541
|
+
---
|
|
542
|
+
*Generated from plan.json -- do not edit directly*
|
|
291
543
|
```
|
|
292
544
|
|
|
293
545
|
#### Step 2.5: Verify Oracle Files Are Fresh
|
|
294
546
|
|
|
295
|
-
Verify that
|
|
547
|
+
Verify that state.json, plan.json, gaps.md, synthesis.md, and research-plan.md were created successfully by running using the Bash tool with description "Verifying oracle files...":
|
|
296
548
|
```bash
|
|
297
549
|
verify_result=$(bash .aether/aether-utils.sh session-verify-fresh --command oracle "" "$ORACLE_START")
|
|
298
550
|
fresh_count=$(echo "$verify_result" | jq -r '.fresh | length')
|
|
299
551
|
|
|
300
|
-
if [[ "$fresh_count" -lt
|
|
552
|
+
if [[ "$fresh_count" -lt 5 ]]; then
|
|
301
553
|
echo "Warning: Oracle files not properly initialized"
|
|
302
554
|
fi
|
|
303
555
|
```
|
|
@@ -308,31 +560,34 @@ Proceed to Step 3.
|
|
|
308
560
|
|
|
309
561
|
### Step 3: Launch
|
|
310
562
|
|
|
311
|
-
Output the research configuration summary:
|
|
563
|
+
Output the research configuration summary, showing the sub-questions from plan.json:
|
|
312
564
|
|
|
313
565
|
```
|
|
314
566
|
🔮 Research Configured
|
|
315
567
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
316
568
|
|
|
317
569
|
📍 Topic: <topic>
|
|
570
|
+
📐 Template: <template type, e.g. "tech-eval" or "custom">
|
|
318
571
|
🔄 Iterations: <max_iterations>
|
|
319
572
|
🎯 Confidence: <target_confidence>%
|
|
320
573
|
🔍 Scope: <scope>
|
|
574
|
+
📐 Strategy: <strategy>
|
|
575
|
+
🎯 Focus: <focus areas comma-separated, or "None">
|
|
321
576
|
|
|
322
|
-
📋
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
577
|
+
📋 Sub-Questions:
|
|
578
|
+
q1. <question text from plan.json>
|
|
579
|
+
q2. <question text from plan.json>
|
|
580
|
+
q3. <question text from plan.json>
|
|
326
581
|
|
|
327
582
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
328
583
|
```
|
|
329
584
|
|
|
330
585
|
Now launch the loop. Try tmux first, fall back to manual.
|
|
331
586
|
|
|
332
|
-
**Try tmux
|
|
587
|
+
**Try tmux** by running using the Bash tool with description "Launching oracle in tmux...":
|
|
333
588
|
|
|
334
589
|
```bash
|
|
335
|
-
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"
|
|
590
|
+
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"
|
|
336
591
|
```
|
|
337
592
|
|
|
338
593
|
**If TMUX_OK:**
|
|
@@ -347,7 +602,7 @@ tmux new-session -d -s oracle "cd $(pwd) && bash .aether/oracle/oracle.sh; echo
|
|
|
347
602
|
📊 Check status: /ant:oracle status
|
|
348
603
|
🛑 Stop early: /ant:oracle stop
|
|
349
604
|
|
|
350
|
-
|
|
605
|
+
Research progress visible at .aether/oracle/research-plan.md
|
|
351
606
|
The Oracle will stop when it reaches {target_confidence}% confidence
|
|
352
607
|
or completes {max_iterations} iterations.
|
|
353
608
|
|
|
@@ -367,7 +622,7 @@ Stop here.
|
|
|
367
622
|
tmux not available. Run this in a separate terminal:
|
|
368
623
|
|
|
369
624
|
cd {current_working_directory}
|
|
370
|
-
bash .aether/oracle/oracle.sh
|
|
625
|
+
bash .aether/utils/oracle/oracle.sh
|
|
371
626
|
|
|
372
627
|
Then come back here:
|
|
373
628
|
📊 Check status: /ant:oracle status
|
|
@@ -376,4 +631,12 @@ Stop here.
|
|
|
376
631
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
377
632
|
```
|
|
378
633
|
|
|
634
|
+
Generate the state-based Next Up block by running using the Bash tool with description "Generating Next Up suggestions...":
|
|
635
|
+
```bash
|
|
636
|
+
state=$(jq -r '.state // "IDLE"' .aether/data/COLONY_STATE.json)
|
|
637
|
+
current_phase=$(jq -r '.current_phase // 0' .aether/data/COLONY_STATE.json)
|
|
638
|
+
total_phases=$(jq -r '.plan.phases | length' .aether/data/COLONY_STATE.json)
|
|
639
|
+
bash .aether/aether-utils.sh print-next-up "$state" "$current_phase" "$total_phases"
|
|
640
|
+
```
|
|
641
|
+
|
|
379
642
|
Stop here.
|