aether-colony 5.3.2 → 5.4.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 +181 -5
- package/.aether/commands/archaeology.yaml +3 -3
- package/.aether/commands/build.yaml +80 -45
- package/.aether/commands/chaos.yaml +7 -7
- package/.aether/commands/colonize.yaml +17 -17
- package/.aether/commands/continue.yaml +40 -40
- package/.aether/commands/council.yaml +6 -6
- package/.aether/commands/data-clean.yaml +3 -3
- package/.aether/commands/dream.yaml +2 -2
- package/.aether/commands/entomb.yaml +12 -12
- package/.aether/commands/export-signals.yaml +2 -2
- package/.aether/commands/feedback.yaml +6 -6
- package/.aether/commands/flag.yaml +2 -2
- package/.aether/commands/flags.yaml +4 -4
- package/.aether/commands/focus.yaml +6 -6
- package/.aether/commands/help.yaml +1 -1
- package/.aether/commands/history.yaml +1 -1
- package/.aether/commands/import-signals.yaml +2 -2
- package/.aether/commands/init.yaml +44 -27
- package/.aether/commands/insert-phase.yaml +1 -1
- package/.aether/commands/interpret.yaml +2 -2
- package/.aether/commands/lay-eggs.yaml +3 -3
- package/.aether/commands/maturity.yaml +2 -2
- package/.aether/commands/memory-details.yaml +1 -1
- package/.aether/commands/migrate-state.yaml +1 -1
- package/.aether/commands/oracle.yaml +147 -82
- package/.aether/commands/organize.yaml +5 -5
- package/.aether/commands/patrol.yaml +8 -8
- package/.aether/commands/pause-colony.yaml +7 -7
- package/.aether/commands/phase.yaml +1 -1
- package/.aether/commands/pheromones.yaml +1 -1
- package/.aether/commands/plan.yaml +14 -14
- package/.aether/commands/quick.yaml +4 -4
- package/.aether/commands/redirect.yaml +6 -6
- package/.aether/commands/resume-colony.yaml +9 -9
- package/.aether/commands/resume.yaml +5 -38
- package/.aether/commands/run.yaml +10 -10
- package/.aether/commands/seal.yaml +33 -33
- package/.aether/commands/skill-create.yaml +4 -4
- package/.aether/commands/status.yaml +14 -14
- package/.aether/commands/swarm.yaml +14 -14
- package/.aether/commands/tunnels.yaml +7 -7
- package/.aether/commands/update.yaml +1 -1
- package/.aether/commands/verify-castes.yaml +3 -3
- package/.aether/commands/watch.yaml +15 -15
- package/.aether/docs/command-playbooks/build-complete.md +48 -15
- package/.aether/docs/command-playbooks/build-context.md +11 -11
- package/.aether/docs/command-playbooks/build-full.md +76 -76
- package/.aether/docs/command-playbooks/build-prep.md +10 -10
- package/.aether/docs/command-playbooks/build-verify.md +27 -27
- package/.aether/docs/command-playbooks/build-wave.md +38 -38
- package/.aether/docs/command-playbooks/continue-advance.md +60 -27
- package/.aether/docs/command-playbooks/continue-finalize.md +25 -11
- package/.aether/docs/command-playbooks/continue-full.md +60 -46
- package/.aether/docs/command-playbooks/continue-gates.md +18 -18
- package/.aether/docs/command-playbooks/continue-verify.md +10 -10
- package/.aether/docs/source-of-truth-map.md +10 -10
- package/.aether/docs/structural-learning-stack.md +283 -0
- package/.aether/templates/colony-state-template.json +1 -0
- package/.aether/utils/consolidation-seal.sh +196 -0
- package/.aether/utils/consolidation.sh +127 -0
- package/.aether/utils/curation-ants/archivist.sh +97 -0
- package/.aether/utils/curation-ants/critic.sh +214 -0
- package/.aether/utils/curation-ants/herald.sh +102 -0
- package/.aether/utils/curation-ants/janitor.sh +121 -0
- package/.aether/utils/curation-ants/librarian.sh +99 -0
- package/.aether/utils/curation-ants/nurse.sh +153 -0
- package/.aether/utils/curation-ants/orchestrator.sh +181 -0
- package/.aether/utils/curation-ants/scribe.sh +164 -0
- package/.aether/utils/curation-ants/sentinel.sh +119 -0
- package/.aether/utils/event-bus.sh +301 -0
- package/.aether/utils/graph.sh +559 -0
- package/.aether/utils/instinct-store.sh +401 -0
- package/.aether/utils/learning.sh +79 -7
- package/.aether/utils/oracle/oracle-stop-hook.sh +896 -0
- package/.aether/utils/session.sh +13 -0
- package/.aether/utils/state-api.sh +1 -1
- package/.aether/utils/trust-scoring.sh +347 -0
- package/.aether/utils/worktree.sh +97 -0
- package/.claude/commands/ant/archaeology.md +2 -2
- package/.claude/commands/ant/chaos.md +4 -4
- package/.claude/commands/ant/colonize.md +9 -9
- package/.claude/commands/ant/council.md +6 -6
- package/.claude/commands/ant/data-clean.md +3 -3
- package/.claude/commands/ant/dream.md +2 -2
- package/.claude/commands/ant/entomb.md +9 -9
- package/.claude/commands/ant/export-signals.md +2 -2
- package/.claude/commands/ant/feedback.md +4 -4
- package/.claude/commands/ant/flag.md +2 -2
- package/.claude/commands/ant/flags.md +4 -4
- package/.claude/commands/ant/focus.md +4 -4
- package/.claude/commands/ant/help.md +1 -1
- package/.claude/commands/ant/history.md +1 -1
- package/.claude/commands/ant/import-signals.md +2 -2
- package/.claude/commands/ant/init.md +44 -27
- package/.claude/commands/ant/insert-phase.md +1 -1
- package/.claude/commands/ant/interpret.md +2 -2
- package/.claude/commands/ant/lay-eggs.md +2 -2
- package/.claude/commands/ant/maturity.md +2 -2
- package/.claude/commands/ant/memory-details.md +1 -1
- package/.claude/commands/ant/migrate-state.md +1 -1
- package/.claude/commands/ant/oracle.md +78 -42
- package/.claude/commands/ant/organize.md +3 -3
- package/.claude/commands/ant/patrol.md +8 -8
- package/.claude/commands/ant/pause-colony.md +5 -5
- package/.claude/commands/ant/phase.md +1 -1
- package/.claude/commands/ant/pheromones.md +1 -1
- package/.claude/commands/ant/plan.md +8 -8
- package/.claude/commands/ant/quick.md +4 -4
- package/.claude/commands/ant/redirect.md +4 -4
- package/.claude/commands/ant/resume-colony.md +5 -5
- package/.claude/commands/ant/resume.md +17 -29
- package/.claude/commands/ant/run.md +10 -10
- package/.claude/commands/ant/seal.md +25 -25
- package/.claude/commands/ant/skill-create.md +2 -2
- package/.claude/commands/ant/status.md +14 -14
- package/.claude/commands/ant/swarm.md +14 -14
- package/.claude/commands/ant/tunnels.md +4 -4
- package/.claude/commands/ant/update.md +1 -1
- package/.claude/commands/ant/verify-castes.md +2 -2
- package/.claude/commands/ant/watch.md +8 -8
- package/.opencode/commands/ant/archaeology.md +1 -1
- package/.opencode/commands/ant/build.md +80 -45
- package/.opencode/commands/ant/chaos.md +3 -3
- package/.opencode/commands/ant/colonize.md +8 -8
- package/.opencode/commands/ant/continue.md +40 -40
- package/.opencode/commands/ant/council.md +5 -5
- package/.opencode/commands/ant/data-clean.md +2 -2
- package/.opencode/commands/ant/dream.md +1 -1
- package/.opencode/commands/ant/entomb.md +3 -3
- package/.opencode/commands/ant/export-signals.md +1 -1
- package/.opencode/commands/ant/feedback.md +2 -2
- package/.opencode/commands/ant/flag.md +1 -1
- package/.opencode/commands/ant/flags.md +3 -3
- package/.opencode/commands/ant/focus.md +2 -2
- package/.opencode/commands/ant/import-signals.md +1 -1
- package/.opencode/commands/ant/init.md +44 -27
- package/.opencode/commands/ant/insert-phase.md +1 -1
- package/.opencode/commands/ant/interpret.md +1 -1
- package/.opencode/commands/ant/lay-eggs.md +2 -2
- package/.opencode/commands/ant/maturity.md +1 -1
- package/.opencode/commands/ant/memory-details.md +1 -1
- package/.opencode/commands/ant/oracle.md +69 -40
- package/.opencode/commands/ant/organize.md +2 -2
- package/.opencode/commands/ant/patrol.md +8 -8
- package/.opencode/commands/ant/pause-colony.md +2 -2
- package/.opencode/commands/ant/pheromones.md +1 -1
- package/.opencode/commands/ant/plan.md +6 -6
- package/.opencode/commands/ant/quick.md +4 -4
- package/.opencode/commands/ant/redirect.md +2 -2
- package/.opencode/commands/ant/resume-colony.md +4 -4
- package/.opencode/commands/ant/resume.md +5 -17
- package/.opencode/commands/ant/run.md +10 -10
- package/.opencode/commands/ant/seal.md +8 -8
- package/.opencode/commands/ant/skill-create.md +2 -2
- package/.opencode/commands/ant/status.md +10 -10
- package/.opencode/commands/ant/tunnels.md +3 -3
- package/.opencode/commands/ant/verify-castes.md +1 -1
- package/.opencode/commands/ant/watch.md +7 -7
- package/CHANGELOG.md +83 -0
- package/README.md +22 -9
- package/bin/cli.js +118 -3
- package/bin/lib/binary-downloader.js +267 -0
- package/bin/lib/update-transaction.js +27 -3
- package/bin/lib/version-gate.js +179 -0
- package/bin/npx-entry.js +0 -0
- package/package.json +1 -1
- package/.aether/agents/aether-ambassador.md +0 -140
- package/.aether/agents/aether-archaeologist.md +0 -108
- package/.aether/agents/aether-architect.md +0 -133
- package/.aether/agents/aether-auditor.md +0 -144
- package/.aether/agents/aether-builder.md +0 -184
- package/.aether/agents/aether-chaos.md +0 -115
- package/.aether/agents/aether-chronicler.md +0 -122
- package/.aether/agents/aether-gatekeeper.md +0 -116
- package/.aether/agents/aether-includer.md +0 -117
- package/.aether/agents/aether-keeper.md +0 -177
- package/.aether/agents/aether-measurer.md +0 -128
- package/.aether/agents/aether-oracle.md +0 -137
- package/.aether/agents/aether-probe.md +0 -133
- package/.aether/agents/aether-queen.md +0 -286
- package/.aether/agents/aether-route-setter.md +0 -130
- package/.aether/agents/aether-sage.md +0 -106
- package/.aether/agents/aether-scout.md +0 -101
- package/.aether/agents/aether-surveyor-disciplines.md +0 -391
- package/.aether/agents/aether-surveyor-nest.md +0 -329
- package/.aether/agents/aether-surveyor-pathogens.md +0 -264
- package/.aether/agents/aether-surveyor-provisions.md +0 -334
- package/.aether/agents/aether-tracker.md +0 -137
- package/.aether/agents/aether-watcher.md +0 -174
- package/.aether/agents/aether-weaver.md +0 -130
- package/.aether/commands/claude/archaeology.md +0 -334
- package/.aether/commands/claude/build.md +0 -65
- package/.aether/commands/claude/chaos.md +0 -336
- package/.aether/commands/claude/colonize.md +0 -259
- package/.aether/commands/claude/continue.md +0 -60
- package/.aether/commands/claude/council.md +0 -507
- package/.aether/commands/claude/data-clean.md +0 -81
- package/.aether/commands/claude/dream.md +0 -268
- package/.aether/commands/claude/entomb.md +0 -498
- package/.aether/commands/claude/export-signals.md +0 -57
- package/.aether/commands/claude/feedback.md +0 -96
- package/.aether/commands/claude/flag.md +0 -151
- package/.aether/commands/claude/flags.md +0 -169
- package/.aether/commands/claude/focus.md +0 -76
- package/.aether/commands/claude/help.md +0 -154
- package/.aether/commands/claude/history.md +0 -140
- package/.aether/commands/claude/import-signals.md +0 -71
- package/.aether/commands/claude/init.md +0 -505
- package/.aether/commands/claude/insert-phase.md +0 -105
- package/.aether/commands/claude/interpret.md +0 -278
- package/.aether/commands/claude/lay-eggs.md +0 -210
- package/.aether/commands/claude/maturity.md +0 -113
- package/.aether/commands/claude/memory-details.md +0 -77
- package/.aether/commands/claude/migrate-state.md +0 -171
- package/.aether/commands/claude/oracle.md +0 -642
- package/.aether/commands/claude/organize.md +0 -232
- package/.aether/commands/claude/patrol.md +0 -620
- package/.aether/commands/claude/pause-colony.md +0 -233
- package/.aether/commands/claude/phase.md +0 -115
- package/.aether/commands/claude/pheromones.md +0 -156
- package/.aether/commands/claude/plan.md +0 -693
- package/.aether/commands/claude/preferences.md +0 -65
- package/.aether/commands/claude/quick.md +0 -100
- package/.aether/commands/claude/redirect.md +0 -76
- package/.aether/commands/claude/resume-colony.md +0 -197
- package/.aether/commands/claude/resume.md +0 -388
- package/.aether/commands/claude/run.md +0 -231
- package/.aether/commands/claude/seal.md +0 -774
- package/.aether/commands/claude/skill-create.md +0 -286
- package/.aether/commands/claude/status.md +0 -410
- package/.aether/commands/claude/swarm.md +0 -349
- package/.aether/commands/claude/tunnels.md +0 -426
- package/.aether/commands/claude/update.md +0 -132
- package/.aether/commands/claude/verify-castes.md +0 -143
- package/.aether/commands/claude/watch.md +0 -239
- package/.aether/commands/opencode/archaeology.md +0 -331
- package/.aether/commands/opencode/build.md +0 -1168
- package/.aether/commands/opencode/chaos.md +0 -329
- package/.aether/commands/opencode/colonize.md +0 -195
- package/.aether/commands/opencode/continue.md +0 -1436
- package/.aether/commands/opencode/council.md +0 -437
- package/.aether/commands/opencode/data-clean.md +0 -77
- package/.aether/commands/opencode/dream.md +0 -260
- package/.aether/commands/opencode/entomb.md +0 -377
- package/.aether/commands/opencode/export-signals.md +0 -54
- package/.aether/commands/opencode/feedback.md +0 -99
- package/.aether/commands/opencode/flag.md +0 -149
- package/.aether/commands/opencode/flags.md +0 -167
- package/.aether/commands/opencode/focus.md +0 -73
- package/.aether/commands/opencode/help.md +0 -157
- package/.aether/commands/opencode/history.md +0 -136
- package/.aether/commands/opencode/import-signals.md +0 -68
- package/.aether/commands/opencode/init.md +0 -518
- package/.aether/commands/opencode/insert-phase.md +0 -111
- package/.aether/commands/opencode/interpret.md +0 -272
- package/.aether/commands/opencode/lay-eggs.md +0 -213
- package/.aether/commands/opencode/maturity.md +0 -108
- package/.aether/commands/opencode/memory-details.md +0 -83
- package/.aether/commands/opencode/migrate-state.md +0 -165
- package/.aether/commands/opencode/oracle.md +0 -593
- package/.aether/commands/opencode/organize.md +0 -226
- package/.aether/commands/opencode/patrol.md +0 -626
- package/.aether/commands/opencode/pause-colony.md +0 -203
- package/.aether/commands/opencode/phase.md +0 -113
- package/.aether/commands/opencode/pheromones.md +0 -162
- package/.aether/commands/opencode/plan.md +0 -684
- package/.aether/commands/opencode/preferences.md +0 -71
- package/.aether/commands/opencode/quick.md +0 -91
- package/.aether/commands/opencode/redirect.md +0 -84
- package/.aether/commands/opencode/resume-colony.md +0 -190
- package/.aether/commands/opencode/resume.md +0 -394
- package/.aether/commands/opencode/run.md +0 -237
- package/.aether/commands/opencode/seal.md +0 -452
- package/.aether/commands/opencode/skill-create.md +0 -63
- package/.aether/commands/opencode/status.md +0 -307
- package/.aether/commands/opencode/swarm.md +0 -15
- package/.aether/commands/opencode/tunnels.md +0 -400
- package/.aether/commands/opencode/update.md +0 -127
- package/.aether/commands/opencode/verify-castes.md +0 -139
- package/.aether/commands/opencode/watch.md +0 -227
|
@@ -37,7 +37,7 @@ Extract: `goal`, `state`, `current_phase`, `plan.phases`, `errors`, `memory`, `e
|
|
|
37
37
|
|
|
38
38
|
### Step 1.5: Load State and Show Resumption Context
|
|
39
39
|
|
|
40
|
-
Run using Bash tool: `
|
|
40
|
+
Run using Bash tool: `aether load-state`
|
|
41
41
|
|
|
42
42
|
If successful and goal is not null:
|
|
43
43
|
1. Extract current_phase from state
|
|
@@ -52,7 +52,7 @@ If .aether/HANDOFF.md exists (detected in load-state output):
|
|
|
52
52
|
- Read .aether/HANDOFF.md for additional context
|
|
53
53
|
- Remove .aether/HANDOFF.md after display (cleanup)
|
|
54
54
|
|
|
55
|
-
Run: `
|
|
55
|
+
Run: `aether unload-state` to release lock.
|
|
56
56
|
|
|
57
57
|
**Error handling:**
|
|
58
58
|
- If E_FILE_NOT_FOUND: "No colony initialized. Run /ant:init first." and stop
|
|
@@ -78,7 +78,7 @@ If `state != "EXECUTING"`:
|
|
|
78
78
|
|
|
79
79
|
Run:
|
|
80
80
|
```bash
|
|
81
|
-
survey_check=$(
|
|
81
|
+
survey_check=$(aether survey-verify 2>/dev/null || true)
|
|
82
82
|
survey_docs=$(ls -1 .aether/data/survey/*.md 2>/dev/null | wc -l | tr -d ' ')
|
|
83
83
|
survey_latest=$(ls -t .aether/data/survey/*.md 2>/dev/null | head -1)
|
|
84
84
|
if [[ -n "$survey_latest" ]]; then
|
|
@@ -187,7 +187,7 @@ Continue to Phase 5: Secrets Scan.
|
|
|
187
187
|
3. **If spawning Probe:**
|
|
188
188
|
|
|
189
189
|
a. Generate Probe name and dispatch:
|
|
190
|
-
Run using the Bash tool with description "Generating Probe name...": `probe_name=$(
|
|
190
|
+
Run using the Bash tool with description "Generating Probe name...": `probe_name=$(aether generate-ant-name --caste "probe") && aether spawn-log --name "Queen" --caste "probe" --id "$probe_name" --description "Coverage improvement: ${coverage_percent}%" && echo "{\"name\":\"$probe_name\"}"`
|
|
191
191
|
|
|
192
192
|
b. Display:
|
|
193
193
|
```
|
|
@@ -217,10 +217,10 @@ Continue to Phase 5: Secrets Scan.
|
|
|
217
217
|
f. Parse Probe JSON output and log completion:
|
|
218
218
|
Extract: `tests_added`, `coverage.lines`, `coverage.branches`, `coverage.functions`, `edge_cases_discovered`
|
|
219
219
|
|
|
220
|
-
Run using the Bash tool with description "Logging Probe completion...": `
|
|
220
|
+
Run using the Bash tool with description "Logging Probe completion...": `aether spawn-complete --id "$probe_name" --status "completed" --summary "{probe_summary}"`
|
|
221
221
|
|
|
222
222
|
g. Log findings to midden:
|
|
223
|
-
Run using the Bash tool with description "Logging Probe findings to midden...": `
|
|
223
|
+
Run using the Bash tool with description "Logging Probe findings to midden...": `aether midden-write "coverage" "Probe generated tests, coverage: ${coverage_lines}%/${coverage_branches}%/${coverage_functions}%" "probe"`
|
|
224
224
|
|
|
225
225
|
4. **NON-BLOCKING continuation:**
|
|
226
226
|
Display Probe findings summary:
|
|
@@ -369,8 +369,8 @@ The phase will NOT advance until spawning occurs.
|
|
|
369
369
|
**CRITICAL:** Do NOT proceed to Step 1.7. Do NOT advance the phase.
|
|
370
370
|
Log the violation:
|
|
371
371
|
```bash
|
|
372
|
-
|
|
373
|
-
|
|
372
|
+
aether activity-log "BLOCKED" "colony" "Spawn gate failed: {task_count} tasks, 0 spawns"
|
|
373
|
+
aether error-flag-pattern "no-spawn-violation" "Prime Worker completed phase without spawning specialists" "critical"
|
|
374
374
|
```
|
|
375
375
|
|
|
376
376
|
**HARD REJECTION - If watcher_count == 0 (no testing separation):**
|
|
@@ -411,7 +411,7 @@ Continue to Step 1.7.
|
|
|
411
411
|
Scan all modified/created files for known anti-patterns. This catches recurring bugs before they reach production.
|
|
412
412
|
|
|
413
413
|
```bash
|
|
414
|
-
|
|
414
|
+
aether check-antipattern "{file_path}"
|
|
415
415
|
```
|
|
416
416
|
|
|
417
417
|
Run for each file in `files_created` and `files_modified` from Prime Worker output.
|
|
@@ -520,7 +520,7 @@ If no CRITICAL issues, continue to Step 1.7.1.
|
|
|
520
520
|
Run using the Bash tool with description "Establishing test baseline...": `test_output_before=$(npm test 2>&1 || echo "TEST_FAILED") && tests_passing_before=$(echo "$test_output_before" | grep -oE '[0-9]+ passing' | grep -oE '[0-9]+' || echo "0") && echo "Baseline: $tests_passing_before tests passing"`
|
|
521
521
|
|
|
522
522
|
b. **Generate Weaver name and dispatch:**
|
|
523
|
-
Run using the Bash tool with description "Generating Weaver name...": `weaver_name=$(
|
|
523
|
+
Run using the Bash tool with description "Generating Weaver name...": `weaver_name=$(aether generate-ant-name --caste "weaver") && aether spawn-log --name "Queen" --caste "weaver" --id "$weaver_name" --description "Proactive refactoring" && echo "{\"name\":\"$weaver_name\"}"`
|
|
524
524
|
|
|
525
525
|
c. **Display:**
|
|
526
526
|
```
|
|
@@ -566,10 +566,10 @@ If no CRITICAL issues, continue to Step 1.7.1.
|
|
|
566
566
|
```
|
|
567
567
|
|
|
568
568
|
g. **Log completion:**
|
|
569
|
-
Run using the Bash tool with description "Logging Weaver completion...": `
|
|
569
|
+
Run using the Bash tool with description "Logging Weaver completion...": `aether spawn-complete --id "$weaver_name" --status "$weaver_status" --summary "Refactoring $weaver_status"`
|
|
570
570
|
|
|
571
571
|
h. **Log to midden:**
|
|
572
|
-
Run using the Bash tool with description "Logging refactoring activity to midden...": `
|
|
572
|
+
Run using the Bash tool with description "Logging refactoring activity to midden...": `aether midden-write "refactoring" "Weaver refactored files, complexity before/after: ${complexity_before}/${complexity_after}" "weaver"`
|
|
573
573
|
|
|
574
574
|
5. **Display completion:**
|
|
575
575
|
```
|
|
@@ -598,7 +598,7 @@ Continue to Step 1.9.
|
|
|
598
598
|
**If package.json exists:**
|
|
599
599
|
|
|
600
600
|
1. Generate Gatekeeper name and log spawn:
|
|
601
|
-
Run using the Bash tool with description "Generating Gatekeeper name...": `gatekeeper_name=$(
|
|
601
|
+
Run using the Bash tool with description "Generating Gatekeeper name...": `gatekeeper_name=$(aether generate-ant-name --caste "gatekeeper") && aether spawn-log --name "Queen" --caste "gatekeeper" --id "$gatekeeper_name" --description "Supply chain security audit" && echo "{\"name\":\"$gatekeeper_name\"}"`
|
|
602
602
|
|
|
603
603
|
2. Display:
|
|
604
604
|
```
|
|
@@ -620,7 +620,7 @@ Gatekeeper mission: Perform supply chain security audit on this codebase.
|
|
|
620
620
|
5. Parse Gatekeeper JSON output and log completion:
|
|
621
621
|
Extract: `security.critical`, `security.high`, `status`
|
|
622
622
|
|
|
623
|
-
Run using the Bash tool with description "Logging Gatekeeper completion...": `
|
|
623
|
+
Run using the Bash tool with description "Logging Gatekeeper completion...": `aether spawn-complete --id "$gatekeeper_name" --status "completed" --summary "{gatekeeper_summary}"`
|
|
624
624
|
|
|
625
625
|
**Gate Decision Logic:**
|
|
626
626
|
|
|
@@ -648,7 +648,7 @@ Gatekeeper: {high_count} high-severity issues found
|
|
|
648
648
|
Security warnings logged to midden for later review.
|
|
649
649
|
Proceeding with caution...
|
|
650
650
|
```
|
|
651
|
-
Run using the Bash tool with description "Logging high-severity warnings...": `
|
|
651
|
+
Run using the Bash tool with description "Logging high-severity warnings...": `aether midden-write "security" "High CVEs found: $high_count" "gatekeeper"`
|
|
652
652
|
Continue to Step 1.9.
|
|
653
653
|
|
|
654
654
|
- **If clean (no critical or high):**
|
|
@@ -662,7 +662,7 @@ Continue to Step 1.9.
|
|
|
662
662
|
**Code quality audit -- runs on every `/ant:continue` for consistent coverage.**
|
|
663
663
|
|
|
664
664
|
1. Generate Auditor name and log spawn:
|
|
665
|
-
Run using the Bash tool with description "Generating Auditor name...": `auditor_name=$(
|
|
665
|
+
Run using the Bash tool with description "Generating Auditor name...": `auditor_name=$(aether generate-ant-name --caste "auditor") && aether spawn-log --name "Queen" --caste "auditor" --id "$auditor_name" --description "Code quality audit" && echo "{\"name\":\"$auditor_name\"}"`
|
|
666
666
|
|
|
667
667
|
2. Display:
|
|
668
668
|
```
|
|
@@ -687,7 +687,7 @@ Auditor mission: Perform comprehensive code quality audit on this codebase.
|
|
|
687
687
|
6. Parse Auditor JSON output and log completion:
|
|
688
688
|
Extract: `findings.critical`, `findings.high`, `findings.medium`, `findings.low`, `findings.info`, `overall_score`, `dimensions_audited`
|
|
689
689
|
|
|
690
|
-
Run using the Bash tool with description "Logging Auditor completion...": `
|
|
690
|
+
Run using the Bash tool with description "Logging Auditor completion...": `aether spawn-complete --id "$auditor_name" --status "completed" --summary "{auditor_summary}"`
|
|
691
691
|
|
|
692
692
|
**Gate Decision Logic:**
|
|
693
693
|
|
|
@@ -709,7 +709,7 @@ Critical Findings:
|
|
|
709
709
|
|
|
710
710
|
The phase will NOT advance with critical quality issues.
|
|
711
711
|
```
|
|
712
|
-
Run using the Bash tool with description "Logging critical quality block...": `
|
|
712
|
+
Run using the Bash tool with description "Logging critical quality block...": `aether error-flag-pattern "auditor-critical-findings" "$critical_count critical quality issues found" "critical"`
|
|
713
713
|
**CRITICAL:** Do NOT proceed to Step 1.10. Stop here.
|
|
714
714
|
|
|
715
715
|
- **Else if `overall_score < 60`:**
|
|
@@ -727,7 +727,7 @@ Required Actions:
|
|
|
727
727
|
|
|
728
728
|
The phase will NOT advance with quality score below 60.
|
|
729
729
|
```
|
|
730
|
-
Run using the Bash tool with description "Logging quality score block...": `
|
|
730
|
+
Run using the Bash tool with description "Logging quality score block...": `aether error-flag-pattern "auditor-quality-score" "Score $overall_score below threshold 60" "critical"`
|
|
731
731
|
**CRITICAL:** Do NOT proceed to Step 1.10. Stop here.
|
|
732
732
|
|
|
733
733
|
- **Else if `findings.high > 0`:**
|
|
@@ -740,7 +740,7 @@ Auditor: Quality score {overall_score}/100 -- PASSED with warnings
|
|
|
740
740
|
Quality warnings logged to midden for later review.
|
|
741
741
|
Proceeding with caution...
|
|
742
742
|
```
|
|
743
|
-
Run using the Bash tool with description "Logging high-quality warnings...": `
|
|
743
|
+
Run using the Bash tool with description "Logging high-quality warnings...": `aether midden-write "quality" "High severity issues: $high_count (score: $overall_score)" "auditor"`
|
|
744
744
|
Continue to Step 1.10.
|
|
745
745
|
|
|
746
746
|
- **If clean (score >= 60, no critical):**
|
|
@@ -786,7 +786,7 @@ The phase will NOT advance with fabricated metrics.
|
|
|
786
786
|
|
|
787
787
|
**CRITICAL:** Do NOT proceed. Log the violation:
|
|
788
788
|
```bash
|
|
789
|
-
|
|
789
|
+
aether error-flag-pattern "fabricated-tdd" "Prime Worker reported TDD metrics without creating test files" "critical"
|
|
790
790
|
```
|
|
791
791
|
|
|
792
792
|
**If tests_added == 0 or test files exist matching claims:**
|
|
@@ -832,7 +832,7 @@ Please describe the issues so they can be addressed:
|
|
|
832
832
|
|
|
833
833
|
Use AskUserQuestion to get issue details. Log to errors.records:
|
|
834
834
|
```bash
|
|
835
|
-
|
|
835
|
+
aether error-add "runtime" "critical" "{user_description}" {phase}
|
|
836
836
|
```
|
|
837
837
|
|
|
838
838
|
Do NOT proceed to Step 2.
|
|
@@ -868,12 +868,12 @@ Continue to Step 1.12.
|
|
|
868
868
|
|
|
869
869
|
First, auto-resolve any flags eligible for resolution now that verification has passed:
|
|
870
870
|
```bash
|
|
871
|
-
|
|
871
|
+
aether flag-auto-resolve "build_pass"
|
|
872
872
|
```
|
|
873
873
|
|
|
874
874
|
Then check for remaining blocking flags:
|
|
875
875
|
```bash
|
|
876
|
-
|
|
876
|
+
aether flag-check-blockers {current_phase}
|
|
877
877
|
```
|
|
878
878
|
|
|
879
879
|
Parse result for `blockers`, `issues`, and `notes` counts.
|
|
@@ -975,7 +975,7 @@ Update COLONY_STATE.json:
|
|
|
975
975
|
|
|
976
976
|
Run using the Bash tool with description "Recording learning observations...":
|
|
977
977
|
```bash
|
|
978
|
-
colony_name=$(
|
|
978
|
+
colony_name=$(aether colony-name 2>/dev/null | jq -r '.result.name // ""')
|
|
979
979
|
[[ -z "$colony_name" ]] && colony_name="unknown"
|
|
980
980
|
|
|
981
981
|
# Get learnings from the current phase
|
|
@@ -985,7 +985,7 @@ Update COLONY_STATE.json:
|
|
|
985
985
|
echo "$current_phase_learnings" | jq -r '.learnings[]?.claim // empty' 2>/dev/null | while read -r claim; do
|
|
986
986
|
if [[ -n "$claim" ]]; then
|
|
987
987
|
# Default wisdom_type to "pattern" (threshold: 3 observations)
|
|
988
|
-
|
|
988
|
+
aether memory-capture "learning" "$claim" "pattern" "worker:continue" 2>/dev/null || true
|
|
989
989
|
fi
|
|
990
990
|
done
|
|
991
991
|
echo "Recorded observations for threshold tracking"
|
|
@@ -1061,7 +1061,7 @@ Update COLONY_STATE.json:
|
|
|
1061
1061
|
Write COLONY_STATE.json.
|
|
1062
1062
|
|
|
1063
1063
|
Validate the state file:
|
|
1064
|
-
Run using the Bash tool with description "Validating colony state...": `
|
|
1064
|
+
Run using the Bash tool with description "Validating colony state...": `aether validate-state colony`
|
|
1065
1065
|
|
|
1066
1066
|
### Step 2.1: Auto-Emit Phase Pheromones (SILENT)
|
|
1067
1067
|
|
|
@@ -1079,7 +1079,7 @@ After learning extraction completes in Step 2, auto-emit a FEEDBACK signal summa
|
|
|
1079
1079
|
phase_feedback="Phase $phase_id ($phase_name) completed. Key patterns: {brief summary of 1-3 learnings from Step 2}"
|
|
1080
1080
|
# Fallback if no learnings: "Phase $phase_id ($phase_name) completed without notable patterns."
|
|
1081
1081
|
|
|
1082
|
-
|
|
1082
|
+
aether pheromone-write --type FEEDBACK --content "$phase_feedback" \
|
|
1083
1083
|
--strength 0.6 \
|
|
1084
1084
|
--source "worker:continue" \
|
|
1085
1085
|
--reason "Auto-emitted on phase advance: captures what worked and what was learned" \
|
|
@@ -1099,7 +1099,7 @@ flagged_patterns=$(jq -r '.errors.flagged_patterns[]? | select(.count >= 2) | .p
|
|
|
1099
1099
|
For each pattern returned by the above query, emit a REDIRECT signal:
|
|
1100
1100
|
|
|
1101
1101
|
```bash
|
|
1102
|
-
|
|
1102
|
+
aether pheromone-write --type REDIRECT --content "$pattern_text" \
|
|
1103
1103
|
--strength 0.7 \
|
|
1104
1104
|
--source "system" \
|
|
1105
1105
|
--reason "Auto-emitted: error pattern recurred across 2+ phases" \
|
|
@@ -1109,7 +1109,7 @@ bash .aether/aether-utils.sh pheromone-write REDIRECT "$pattern_text" \
|
|
|
1109
1109
|
Also capture each recurring pattern as a resolution candidate:
|
|
1110
1110
|
|
|
1111
1111
|
```bash
|
|
1112
|
-
|
|
1112
|
+
aether memory-capture \
|
|
1113
1113
|
"resolution" \
|
|
1114
1114
|
"$pattern_text" \
|
|
1115
1115
|
"pattern" \
|
|
@@ -1122,7 +1122,7 @@ If `errors.flagged_patterns` doesn't exist or is empty, skip silently.
|
|
|
1122
1122
|
|
|
1123
1123
|
After auto-emission, expire all signals with `expires_at == "phase_end"`:
|
|
1124
1124
|
|
|
1125
|
-
Run using the Bash tool with description "Maintaining pheromone memory...": `
|
|
1125
|
+
Run using the Bash tool with description "Maintaining pheromone memory...": `aether pheromone-expire --phase-end-only 2>/dev/null && aether eternal-init 2>/dev/null`
|
|
1126
1126
|
|
|
1127
1127
|
### Step 2.1.5: Check for Promotion Proposals
|
|
1128
1128
|
|
|
@@ -1132,7 +1132,7 @@ After extracting learnings, check for observations that have met promotion thres
|
|
|
1132
1132
|
|
|
1133
1133
|
1. **Check for proposals:**
|
|
1134
1134
|
```bash
|
|
1135
|
-
proposals=$(
|
|
1135
|
+
proposals=$(aether learning-check-promotion 2>/dev/null || echo '{"proposals":[]}')
|
|
1136
1136
|
proposal_count=$(echo "$proposals" | jq '.proposals | length')
|
|
1137
1137
|
```
|
|
1138
1138
|
|
|
@@ -1142,7 +1142,7 @@ After extracting learnings, check for observations that have met promotion thres
|
|
|
1142
1142
|
|
|
1143
1143
|
```bash
|
|
1144
1144
|
if [[ "$proposal_count" -gt 0 ]]; then
|
|
1145
|
-
|
|
1145
|
+
aether learning-approve-proposals
|
|
1146
1146
|
fi
|
|
1147
1147
|
# If no proposals, silently skip without notice
|
|
1148
1148
|
```
|
|
@@ -1211,7 +1211,7 @@ If no `CHANGELOG.md` exists, `changelog-append` creates one automatically.
|
|
|
1211
1211
|
**Step 2.3.1: Collect plan data**
|
|
1212
1212
|
|
|
1213
1213
|
```bash
|
|
1214
|
-
|
|
1214
|
+
aether changelog-collect-plan-data "{phase_identifier}" "{plan_number}"
|
|
1215
1215
|
```
|
|
1216
1216
|
|
|
1217
1217
|
Parse the returned JSON to extract `files`, `decisions`, `worked`, and `requirements` arrays.
|
|
@@ -1227,7 +1227,7 @@ If the command fails (e.g., no plan file found), fall back to collecting data ma
|
|
|
1227
1227
|
**Step 2.3.2: Append changelog entry**
|
|
1228
1228
|
|
|
1229
1229
|
```bash
|
|
1230
|
-
|
|
1230
|
+
aether changelog-append \
|
|
1231
1231
|
"$(date +%Y-%m-%d)" \
|
|
1232
1232
|
"{phase_identifier}" \
|
|
1233
1233
|
"{plan_number}" \
|
|
@@ -1249,7 +1249,7 @@ After the phase is advanced and changelog updated, suggest a commit to preserve
|
|
|
1249
1249
|
|
|
1250
1250
|
1. **Generate the commit message:**
|
|
1251
1251
|
```bash
|
|
1252
|
-
|
|
1252
|
+
aether generate-commit-message --type "milestone" --phase {phase_id} --subject "{phase_name}" "{one_line_summary}"
|
|
1253
1253
|
```
|
|
1254
1254
|
Parse the returned JSON to extract `message` and `files_changed`.
|
|
1255
1255
|
|
|
@@ -1350,18 +1350,18 @@ After phase advancement is complete, update `.aether/CONTEXT.md`:
|
|
|
1350
1350
|
|
|
1351
1351
|
**Log the activity:**
|
|
1352
1352
|
```bash
|
|
1353
|
-
|
|
1353
|
+
aether context-update activity "continue" "Phase {prev_id} completed, advanced to {next_id}" "---"
|
|
1354
1354
|
```
|
|
1355
1355
|
|
|
1356
1356
|
**Update the phase:**
|
|
1357
1357
|
```bash
|
|
1358
|
-
|
|
1358
|
+
aether context-update update-phase {next_id} "{next_phase_name}" "YES" "Phase advanced, ready to build"
|
|
1359
1359
|
```
|
|
1360
1360
|
|
|
1361
1361
|
**Log any decisions from this session:**
|
|
1362
1362
|
If any architectural decisions were made during verification, also run:
|
|
1363
1363
|
```bash
|
|
1364
|
-
|
|
1364
|
+
aether context-update decision "{decision_description}" "{rationale}" "Queen"
|
|
1365
1365
|
```
|
|
1366
1366
|
|
|
1367
1367
|
### Step 2.7: Project Completion
|
|
@@ -1433,4 +1433,4 @@ Output:
|
|
|
1433
1433
|
|
|
1434
1434
|
Update the session tracking file to enable `/ant:resume` after context clear:
|
|
1435
1435
|
|
|
1436
|
-
Run using the Bash tool with description "Saving session state...": `
|
|
1436
|
+
Run using the Bash tool with description "Saving session state...": `aether session-update --command "/ant:continue" --worker "/ant:build {next_id}" --summary "Phase {prev_id} completed, advanced to Phase {next_id}"`
|
|
@@ -31,7 +31,7 @@ When `--deliberate "<proposal>"` is passed, run a structured Advocate/Challenger
|
|
|
31
31
|
|
|
32
32
|
Run using the Bash tool with description "Checking deliberation budget...":
|
|
33
33
|
```bash
|
|
34
|
-
|
|
34
|
+
aether council-budget-check
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
Parse result. If `allowed` is `false`:
|
|
@@ -47,7 +47,7 @@ Stop here.
|
|
|
47
47
|
|
|
48
48
|
Run using the Bash tool with description "Opening deliberation...":
|
|
49
49
|
```bash
|
|
50
|
-
|
|
50
|
+
aether council-deliberate --proposal "<proposal>"
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
Capture `deliberation_id` from `result.id`.
|
|
@@ -71,7 +71,7 @@ Spawn an Advocate scout to argue **in favor** of the proposal.
|
|
|
71
71
|
|
|
72
72
|
Record the argument:
|
|
73
73
|
```bash
|
|
74
|
-
|
|
74
|
+
aether council-advocate \
|
|
75
75
|
--deliberation-id "<deliberation_id>" \
|
|
76
76
|
--argument "<advocate_argument>"
|
|
77
77
|
```
|
|
@@ -90,7 +90,7 @@ Spawn a Challenger scout to argue **against** the proposal.
|
|
|
90
90
|
|
|
91
91
|
Record the argument:
|
|
92
92
|
```bash
|
|
93
|
-
|
|
93
|
+
aether council-challenger \
|
|
94
94
|
--deliberation-id "<deliberation_id>" \
|
|
95
95
|
--argument "<challenger_argument>"
|
|
96
96
|
```
|
|
@@ -109,7 +109,7 @@ Spawn a Sage scout to synthesize both positions and provide a recommendation.
|
|
|
109
109
|
|
|
110
110
|
Record the sage synthesis:
|
|
111
111
|
```bash
|
|
112
|
-
|
|
112
|
+
aether council-sage \
|
|
113
113
|
--deliberation-id "<deliberation_id>" \
|
|
114
114
|
--synthesis "<synthesis>" \
|
|
115
115
|
--recommendation "<recommendation>"
|
|
@@ -23,7 +23,7 @@ You are the **Queen Ant Colony**. Run the data cleaner to scan for and remove te
|
|
|
23
23
|
|
|
24
24
|
Run using the Bash tool with description "Scanning colony data for test artifacts...":
|
|
25
25
|
```bash
|
|
26
|
-
|
|
26
|
+
aether data-clean --dry-run
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
Display the output to the user. This shows artifact counts per data file without modifying anything.
|
|
@@ -52,7 +52,7 @@ If user says no, display "No changes made." and skip to Step 5.
|
|
|
52
52
|
|
|
53
53
|
If user confirmed, run using the Bash tool with description "Removing test artifacts...":
|
|
54
54
|
```bash
|
|
55
|
-
|
|
55
|
+
aether data-clean --confirm
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
### Step 4: Summary
|
|
@@ -228,7 +228,7 @@ Colony status: /ant:status
|
|
|
228
228
|
|
|
229
229
|
|
|
230
230
|
```bash
|
|
231
|
-
|
|
231
|
+
aether activity-log "DREAM" "Dreamer" "Dream session: {N} observations, {concerns} concerns, {pheromones} pheromone suggestions"
|
|
232
232
|
```
|
|
233
233
|
|
|
234
234
|
|
|
@@ -194,7 +194,7 @@ version=$(jq -r '.version // "3.0"' .aether/data/COLONY_STATE.json)
|
|
|
194
194
|
|
|
195
195
|
Create the chamber:
|
|
196
196
|
```bash
|
|
197
|
-
|
|
197
|
+
aether chamber-create \
|
|
198
198
|
".aether/chambers/{chamber_name}" \
|
|
199
199
|
".aether/data/COLONY_STATE.json" \
|
|
200
200
|
"{goal}" \
|
|
@@ -212,7 +212,7 @@ Export combined XML archive to the chamber. This is a HARD REQUIREMENT — entom
|
|
|
212
212
|
|
|
213
213
|
```bash
|
|
214
214
|
chamber_dir=".aether/chambers/$chamber_name"
|
|
215
|
-
xml_result=$(
|
|
215
|
+
xml_result=$(aether colony-archive-xml --output "$chamber_dir/colony-archive.xml" 2>&1)
|
|
216
216
|
xml_ok=$(echo "$xml_result" | jq -r '.ok // false' 2>/dev/null)
|
|
217
217
|
|
|
218
218
|
if [[ "$xml_ok" != "true" ]]; then
|
|
@@ -248,7 +248,7 @@ done
|
|
|
248
248
|
|
|
249
249
|
Run verification:
|
|
250
250
|
```bash
|
|
251
|
-
|
|
251
|
+
aether chamber-verify --path ".aether/chambers/{chamber_name}"
|
|
252
252
|
```
|
|
253
253
|
|
|
254
254
|
If verification fails, display error and stop:
|
|
@@ -29,7 +29,7 @@ Parse `$normalized_args`:
|
|
|
29
29
|
|
|
30
30
|
Run using the Bash tool with description "Exporting pheromone signals to XML...":
|
|
31
31
|
```bash
|
|
32
|
-
|
|
32
|
+
aether pheromone-export-xml --output "<output_path>"
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
Parse the returned JSON:
|
|
@@ -70,8 +70,8 @@ Write COLONY_STATE.json.
|
|
|
70
70
|
|
|
71
71
|
**Write pheromone signal and update context:**
|
|
72
72
|
```bash
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
aether pheromone-write --type FEEDBACK --content "$normalized_args" --strength 0.7 --reason "User feedback guidance" 2>/dev/null || true
|
|
74
|
+
aether context-update --section constraint --key feedback --content "$normalized_args" "user" 2>/dev/null || true
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
### Step 3: Confirm
|
|
@@ -57,7 +57,7 @@ Stop here.
|
|
|
57
57
|
|
|
58
58
|
Run:
|
|
59
59
|
```bash
|
|
60
|
-
|
|
60
|
+
aether flag-add --severity "{type}" --title "{title}" --description "{description}" --source "manual" --phase {phase_or_null}
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
Parse the result for the flag ID.
|
|
@@ -39,7 +39,7 @@ Examples:
|
|
|
39
39
|
If `--resolve` was provided:
|
|
40
40
|
|
|
41
41
|
```bash
|
|
42
|
-
|
|
42
|
+
aether flag-resolve --id "{flag_id}" --message "{resolution_message}"
|
|
43
43
|
```
|
|
44
44
|
Output:
|
|
45
45
|
```
|
|
@@ -54,7 +54,7 @@ Stop here.
|
|
|
54
54
|
If `--ack` was provided:
|
|
55
55
|
|
|
56
56
|
```bash
|
|
57
|
-
|
|
57
|
+
aether flag-acknowledge --id "{flag_id}"
|
|
58
58
|
```
|
|
59
59
|
Output:
|
|
60
60
|
```
|
|
@@ -71,7 +71,7 @@ Stop here.
|
|
|
71
71
|
Run:
|
|
72
72
|
|
|
73
73
|
```bash
|
|
74
|
-
|
|
74
|
+
aether flag-list {options}
|
|
75
75
|
```
|
|
76
76
|
|
|
77
77
|
Parse result for flags array.
|
|
@@ -46,8 +46,8 @@ Write constraints.json.
|
|
|
46
46
|
|
|
47
47
|
**Write pheromone signal and update context:**
|
|
48
48
|
```bash
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
aether pheromone-write --type FOCUS --content "$normalized_args" --strength 0.8 --reason "User directed colony attention" 2>/dev/null || true
|
|
50
|
+
aether context-update --section constraint --key focus --content "$normalized_args" "user" 2>/dev/null || true
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
### Step 3: Confirm
|
|
@@ -42,7 +42,7 @@ Verify the XML file exists. If not -> "File not found: <path>", stop.
|
|
|
42
42
|
|
|
43
43
|
Run using the Bash tool with description "Importing pheromone signals from XML...":
|
|
44
44
|
```bash
|
|
45
|
-
|
|
45
|
+
aether pheromone-import-xml --input "<xml_path>" --colony "<colony_prefix>"
|
|
46
46
|
```
|
|
47
47
|
|
|
48
48
|
Parse the returned JSON:
|