aether-colony 5.1.0 → 5.3.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.
Files changed (185) hide show
  1. package/.aether/aether-utils.sh +157 -42
  2. package/.aether/agents/aether-ambassador.md +140 -0
  3. package/.aether/agents/aether-archaeologist.md +108 -0
  4. package/.aether/agents/aether-architect.md +133 -0
  5. package/.aether/agents/aether-auditor.md +144 -0
  6. package/.aether/agents/aether-builder.md +184 -0
  7. package/.aether/agents/aether-chaos.md +115 -0
  8. package/.aether/agents/aether-chronicler.md +122 -0
  9. package/.aether/agents/aether-gatekeeper.md +116 -0
  10. package/.aether/agents/aether-includer.md +117 -0
  11. package/.aether/agents/aether-keeper.md +177 -0
  12. package/.aether/agents/aether-measurer.md +128 -0
  13. package/.aether/agents/aether-oracle.md +137 -0
  14. package/.aether/agents/aether-probe.md +133 -0
  15. package/.aether/agents/aether-queen.md +286 -0
  16. package/.aether/agents/aether-route-setter.md +130 -0
  17. package/.aether/agents/aether-sage.md +106 -0
  18. package/.aether/agents/aether-scout.md +101 -0
  19. package/.aether/agents/aether-surveyor-disciplines.md +391 -0
  20. package/.aether/agents/aether-surveyor-nest.md +329 -0
  21. package/.aether/agents/aether-surveyor-pathogens.md +264 -0
  22. package/.aether/agents/aether-surveyor-provisions.md +334 -0
  23. package/.aether/agents/aether-tracker.md +137 -0
  24. package/.aether/agents/aether-watcher.md +174 -0
  25. package/.aether/agents/aether-weaver.md +130 -0
  26. package/.aether/commands/claude/archaeology.md +334 -0
  27. package/.aether/commands/claude/build.md +65 -0
  28. package/.aether/commands/claude/chaos.md +336 -0
  29. package/.aether/commands/claude/colonize.md +259 -0
  30. package/.aether/commands/claude/continue.md +60 -0
  31. package/.aether/commands/claude/council.md +507 -0
  32. package/.aether/commands/claude/data-clean.md +81 -0
  33. package/.aether/commands/claude/dream.md +268 -0
  34. package/.aether/commands/claude/entomb.md +498 -0
  35. package/.aether/commands/claude/export-signals.md +57 -0
  36. package/.aether/commands/claude/feedback.md +96 -0
  37. package/.aether/commands/claude/flag.md +151 -0
  38. package/.aether/commands/claude/flags.md +169 -0
  39. package/.aether/commands/claude/focus.md +76 -0
  40. package/.aether/commands/claude/help.md +154 -0
  41. package/.aether/commands/claude/history.md +140 -0
  42. package/.aether/commands/claude/import-signals.md +71 -0
  43. package/.aether/commands/claude/init.md +505 -0
  44. package/.aether/commands/claude/insert-phase.md +105 -0
  45. package/.aether/commands/claude/interpret.md +278 -0
  46. package/.aether/commands/claude/lay-eggs.md +210 -0
  47. package/.aether/commands/claude/maturity.md +113 -0
  48. package/.aether/commands/claude/memory-details.md +77 -0
  49. package/.aether/commands/claude/migrate-state.md +171 -0
  50. package/.aether/commands/claude/oracle.md +642 -0
  51. package/.aether/commands/claude/organize.md +232 -0
  52. package/.aether/commands/claude/patrol.md +620 -0
  53. package/.aether/commands/claude/pause-colony.md +233 -0
  54. package/.aether/commands/claude/phase.md +115 -0
  55. package/.aether/commands/claude/pheromones.md +156 -0
  56. package/.aether/commands/claude/plan.md +693 -0
  57. package/.aether/commands/claude/preferences.md +65 -0
  58. package/.aether/commands/claude/quick.md +100 -0
  59. package/.aether/commands/claude/redirect.md +76 -0
  60. package/.aether/commands/claude/resume-colony.md +197 -0
  61. package/.aether/commands/claude/resume.md +388 -0
  62. package/.aether/commands/claude/run.md +231 -0
  63. package/.aether/commands/claude/seal.md +774 -0
  64. package/.aether/commands/claude/skill-create.md +286 -0
  65. package/.aether/commands/claude/status.md +410 -0
  66. package/.aether/commands/claude/swarm.md +349 -0
  67. package/.aether/commands/claude/tunnels.md +426 -0
  68. package/.aether/commands/claude/update.md +132 -0
  69. package/.aether/commands/claude/verify-castes.md +143 -0
  70. package/.aether/commands/claude/watch.md +239 -0
  71. package/.aether/commands/colonize.yaml +4 -0
  72. package/.aether/commands/council.yaml +205 -0
  73. package/.aether/commands/init.yaml +46 -13
  74. package/.aether/commands/insert-phase.yaml +4 -0
  75. package/.aether/commands/opencode/archaeology.md +331 -0
  76. package/.aether/commands/opencode/build.md +1168 -0
  77. package/.aether/commands/opencode/chaos.md +329 -0
  78. package/.aether/commands/opencode/colonize.md +195 -0
  79. package/.aether/commands/opencode/continue.md +1436 -0
  80. package/.aether/commands/opencode/council.md +437 -0
  81. package/.aether/commands/opencode/data-clean.md +77 -0
  82. package/.aether/commands/opencode/dream.md +260 -0
  83. package/.aether/commands/opencode/entomb.md +377 -0
  84. package/.aether/commands/opencode/export-signals.md +54 -0
  85. package/.aether/commands/opencode/feedback.md +99 -0
  86. package/.aether/commands/opencode/flag.md +149 -0
  87. package/.aether/commands/opencode/flags.md +167 -0
  88. package/.aether/commands/opencode/focus.md +73 -0
  89. package/.aether/commands/opencode/help.md +157 -0
  90. package/.aether/commands/opencode/history.md +136 -0
  91. package/.aether/commands/opencode/import-signals.md +68 -0
  92. package/.aether/commands/opencode/init.md +518 -0
  93. package/.aether/commands/opencode/insert-phase.md +111 -0
  94. package/.aether/commands/opencode/interpret.md +272 -0
  95. package/.aether/commands/opencode/lay-eggs.md +213 -0
  96. package/.aether/commands/opencode/maturity.md +108 -0
  97. package/.aether/commands/opencode/memory-details.md +83 -0
  98. package/.aether/commands/opencode/migrate-state.md +165 -0
  99. package/.aether/commands/opencode/oracle.md +593 -0
  100. package/.aether/commands/opencode/organize.md +226 -0
  101. package/.aether/commands/opencode/patrol.md +626 -0
  102. package/.aether/commands/opencode/pause-colony.md +203 -0
  103. package/.aether/commands/opencode/phase.md +113 -0
  104. package/.aether/commands/opencode/pheromones.md +162 -0
  105. package/.aether/commands/opencode/plan.md +684 -0
  106. package/.aether/commands/opencode/preferences.md +71 -0
  107. package/.aether/commands/opencode/quick.md +91 -0
  108. package/.aether/commands/opencode/redirect.md +84 -0
  109. package/.aether/commands/opencode/resume-colony.md +190 -0
  110. package/.aether/commands/opencode/resume.md +394 -0
  111. package/.aether/commands/opencode/run.md +237 -0
  112. package/.aether/commands/opencode/seal.md +452 -0
  113. package/.aether/commands/opencode/skill-create.md +63 -0
  114. package/.aether/commands/opencode/status.md +307 -0
  115. package/.aether/commands/opencode/swarm.md +15 -0
  116. package/.aether/commands/opencode/tunnels.md +400 -0
  117. package/.aether/commands/opencode/update.md +127 -0
  118. package/.aether/commands/opencode/verify-castes.md +139 -0
  119. package/.aether/commands/opencode/watch.md +227 -0
  120. package/.aether/commands/plan.yaml +53 -2
  121. package/.aether/commands/quick.yaml +104 -0
  122. package/.aether/commands/resume-colony.yaml +6 -4
  123. package/.aether/commands/resume.yaml +9 -0
  124. package/.aether/commands/run.yaml +37 -1
  125. package/.aether/commands/seal.yaml +9 -0
  126. package/.aether/commands/status.yaml +45 -1
  127. package/.aether/docs/command-playbooks/build-full.md +3 -2
  128. package/.aether/docs/command-playbooks/build-prep.md +12 -4
  129. package/.aether/docs/command-playbooks/build-verify.md +51 -0
  130. package/.aether/docs/command-playbooks/continue-advance.md +115 -6
  131. package/.aether/docs/command-playbooks/continue-full.md +1 -0
  132. package/.aether/docs/command-playbooks/continue-verify.md +33 -0
  133. package/.aether/utils/clash-detect.sh +239 -0
  134. package/.aether/utils/council.sh +425 -0
  135. package/.aether/utils/error-handler.sh +3 -3
  136. package/.aether/utils/flag.sh +23 -12
  137. package/.aether/utils/hive.sh +2 -2
  138. package/.aether/utils/hooks/clash-pre-tool-use.js +99 -0
  139. package/.aether/utils/immune.sh +508 -0
  140. package/.aether/utils/learning.sh +2 -2
  141. package/.aether/utils/merge-driver-lockfile.sh +35 -0
  142. package/.aether/utils/midden.sh +712 -0
  143. package/.aether/utils/pheromone.sh +1376 -108
  144. package/.aether/utils/queen.sh +31 -21
  145. package/.aether/utils/session.sh +264 -0
  146. package/.aether/utils/spawn-tree.sh +7 -7
  147. package/.aether/utils/spawn.sh +2 -2
  148. package/.aether/utils/state-api.sh +216 -5
  149. package/.aether/utils/swarm.sh +1 -1
  150. package/.aether/utils/worktree.sh +189 -0
  151. package/.claude/commands/ant/colonize.md +2 -0
  152. package/.claude/commands/ant/council.md +205 -0
  153. package/.claude/commands/ant/init.md +53 -14
  154. package/.claude/commands/ant/insert-phase.md +4 -0
  155. package/.claude/commands/ant/plan.md +27 -1
  156. package/.claude/commands/ant/quick.md +100 -0
  157. package/.claude/commands/ant/resume-colony.md +3 -2
  158. package/.claude/commands/ant/resume.md +9 -0
  159. package/.claude/commands/ant/run.md +37 -1
  160. package/.claude/commands/ant/seal.md +9 -0
  161. package/.claude/commands/ant/status.md +45 -1
  162. package/.opencode/commands/ant/colonize.md +2 -0
  163. package/.opencode/commands/ant/council.md +143 -0
  164. package/.opencode/commands/ant/init.md +53 -13
  165. package/.opencode/commands/ant/insert-phase.md +4 -0
  166. package/.opencode/commands/ant/plan.md +26 -1
  167. package/.opencode/commands/ant/quick.md +91 -0
  168. package/.opencode/commands/ant/resume-colony.md +3 -2
  169. package/.opencode/commands/ant/resume.md +9 -0
  170. package/.opencode/commands/ant/run.md +37 -1
  171. package/.opencode/commands/ant/status.md +2 -0
  172. package/CHANGELOG.md +116 -0
  173. package/README.md +34 -8
  174. package/bin/cli.js +103 -61
  175. package/bin/lib/banner.js +14 -0
  176. package/bin/lib/init.js +8 -7
  177. package/bin/lib/interactive-setup.js +251 -0
  178. package/bin/npx-entry.js +21 -0
  179. package/bin/npx-install.js +9 -167
  180. package/bin/validate-package.sh +23 -0
  181. package/package.json +11 -3
  182. package/.aether/docs/plans/pheromone-display-plan.md +0 -257
  183. package/.aether/schemas/example-prompt-builder.xml +0 -234
  184. package/.aether/scripts/incident-test-add.sh +0 -47
  185. package/.aether/scripts/weekly-audit.sh +0 -79
@@ -0,0 +1,136 @@
1
+ <!-- Generated from .aether/commands/history.yaml - DO NOT EDIT DIRECTLY -->
2
+ ---
3
+ name: ant:history
4
+ description: "📜🐜📜 Show colony event history"
5
+ ---
6
+
7
+ ### Step -1: Normalize Arguments
8
+
9
+ Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
10
+
11
+ This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
12
+
13
+ You are the **Queen**. Show colony history.
14
+
15
+ ## Instructions
16
+
17
+ ### Step 1: Read State
18
+
19
+ Read `.aether/data/COLONY_STATE.json`.
20
+
21
+ If file missing or `goal: null`:
22
+ ```
23
+ No colony initialized. Run /ant:init first.
24
+ ```
25
+ Stop here.
26
+
27
+ ### Step 2: Parse Events
28
+
29
+ Extract the `events` array from the state.
30
+
31
+ Each event is in format: `timestamp|type|source|description`
32
+
33
+ Parse each event into components:
34
+ - timestamp: before first `|`
35
+ - type: between first and second `|`
36
+ - source: between second and third `|`
37
+ - description: after third `|`
38
+
39
+ ### Step 3: Parse Filter Arguments
40
+
41
+ Parse optional filter arguments:
42
+
43
+ **Event Type Filter:**
44
+ - `--type TYPE` or `-t TYPE`: Filter by event type
45
+ - Multiple types can be specified (comma-separated)
46
+ - Valid types: `colony_initialized`, `phase_started`, `phase_advanced`, `plan_generated`, `milestone_reached`, `state_upgraded`
47
+
48
+ **Date Range Filter:**
49
+ - `--since DATE`: Show events since DATE
50
+ - ISO format: `2026-02-13`, `2026-02-13T14:30:00`
51
+ - Relative: `1d` (1 day ago), `2h` (2 hours ago), `30m` (30 minutes ago)
52
+ - `--until DATE`: Show events until DATE
53
+ - Same format options as `--since`
54
+
55
+ ### Step 4: Apply Limit
56
+
57
+ Parse optional `--limit N` argument (default: 10).
58
+
59
+ If `--limit` is provided, only show N events.
60
+
61
+ ### Step 5: Filter Events
62
+
63
+ Apply filters to the events array:
64
+
65
+ **Type Filtering:**
66
+ - If `--type` is provided, split by comma to get list of types
67
+ - Filter events to only include those where type matches any of the specified types (case-insensitive)
68
+
69
+ **Date Range Filtering:**
70
+ - For `--since`: Parse the date value
71
+ - If relative (e.g., "1d", "2h", "30m"), calculate timestamp by subtracting from current time
72
+ - If ISO format, parse directly
73
+ - Filter events with timestamp >= since date
74
+ - For `--until`: Same parsing logic
75
+ - Filter events with timestamp <= until date
76
+
77
+ **Track Active Filters:**
78
+ - Record which filters are active for display indicator
79
+
80
+ ### Step 6: Sort and Display
81
+
82
+ Sort events in reverse chronological order (most recent first).
83
+
84
+ If events array is empty:
85
+ ```
86
+ No colony events recorded yet.
87
+ ```
88
+
89
+ **Filter Indicators:**
90
+ - If any filters are active, show at the top:
91
+ - Type filter: `Filters: type=<TYPE>[,<TYPE>...]`
92
+ - Since filter: `Filters: since=<DATE>`
93
+ - Until filter: `Filters: until=<DATE>`
94
+ - Multiple filters: Combine on same line (e.g., `Filters: type=phase_started,phase_advanced since=1d`)
95
+ - Show filtered count: "Showing X of Y events (filtered from Z total)"
96
+
97
+ Otherwise, display in format:
98
+ ```
99
+ ━━━ Colony History (most recent first) ━━━
100
+
101
+ [TIMESTAMP] [TYPE] from [SOURCE]
102
+ Description: [description]
103
+
104
+ [TIMESTAMP] [TYPE] from [SOURCE]
105
+ Description: [description]
106
+
107
+ ... (up to limit)
108
+ ```
109
+
110
+ **Format:**
111
+ - Timestamp: Show in readable format (e.g., "2026-02-13 14:30:00")
112
+ - Type: Uppercase event type
113
+ - Source: Italics for source
114
+ - Description: Plain text
115
+
116
+ **Event type icons:**
117
+ - `colony_initialized`: 🏠
118
+ - `phase_started`: 🚀
119
+ - `phase_advanced`: ➡️
120
+ - `plan_generated`: 📋
121
+ - `milestone_reached`: 🏆
122
+ - `state_upgraded`: 🔄
123
+ - `default`: 📌
124
+
125
+ **Limit display:**
126
+ - If filtering is active, show: "Showing X of Y events (filtered from Z total)"
127
+ - If only limit is applied (no filters), show: "Showing X of Y events"
128
+
129
+ ### Step 7: Display Summary
130
+
131
+ Show total event count at the end:
132
+ ```
133
+ Total events recorded: <count>
134
+ ```
135
+
136
+
@@ -0,0 +1,68 @@
1
+ <!-- Generated from .aether/commands/import-signals.yaml - DO NOT EDIT DIRECTLY -->
2
+ ---
3
+ name: ant:import-signals
4
+ description: "Import pheromone signals from another colony's XML export"
5
+ ---
6
+
7
+ ### Step -1: Normalize Arguments
8
+
9
+ Run: `normalized_args=$(bash .aether/aether-utils.sh normalize-args "$@")`
10
+
11
+ This ensures arguments work correctly in both Claude Code and OpenCode. Use `$normalized_args` throughout this command.
12
+
13
+ You are the **Queen**. Import pheromone signals from another colony's XML export.
14
+
15
+ ## Instructions
16
+
17
+ The arguments are: `$normalized_args`
18
+
19
+ ### Step 1: Validate
20
+
21
+ Read `.aether/data/COLONY_STATE.json`.
22
+ If file missing or `goal: null` -> "No colony initialized. Run /ant:init first.", stop.
23
+
24
+ Parse `$normalized_args`:
25
+ - First argument: path to XML file (required).
26
+ - Second argument: colony name/prefix (optional; default: derive from XML filename without extension, or use "imported").
27
+
28
+ If no arguments provided, show usage and stop:
29
+ ```
30
+ Usage: /ant:import-signals <path-to-signals.xml> [colony-name]
31
+
32
+ <path-to-signals.xml> Path to an exported pheromone XML file
33
+ [colony-name] Optional prefix for imported signal IDs (prevents collisions)
34
+
35
+ Example:
36
+ /ant:import-signals .aether/exchange/pheromones.xml partner-colony
37
+ ```
38
+
39
+ Verify the XML file exists. If not -> "File not found: <path>", stop.
40
+
41
+ ### Step 2: Import
42
+
43
+ Run using the Bash tool with description "Importing pheromone signals from XML...":
44
+ ```bash
45
+ bash .aether/aether-utils.sh pheromone-import-xml "<xml_path>" "<colony_prefix>"
46
+ ```
47
+
48
+ Parse the returned JSON:
49
+ - If `.ok` is `true`: extract `.result.signal_count` and `.result.source`.
50
+ - If `.ok` is `false`: check `.error` for details. If error mentions `xmllint` or `E_FEATURE_UNAVAILABLE`, display: "XML import requires xmllint. Install with: xcode-select --install (macOS) or apt-get install libxml2-utils (Linux)." Otherwise display the error message and stop.
51
+
52
+ ### Step 3: Confirm
53
+
54
+
55
+
56
+ Output:
57
+ ```
58
+ Pheromone signals imported
59
+
60
+ Source: <xml_path>
61
+ Signals imported: <signal_count>
62
+ Colony prefix: <colony_prefix>
63
+
64
+ Note: On signal ID collision, current colony signals take priority.
65
+ ```
66
+
67
+
68
+