All notable changes to the Aether Colony project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- AGENTS.md: add Runtime Lifecycle mermaid diagram (under Architecture Overview) and Wisdom Pipeline mermaid diagram (under Wisdom Pipeline). Model-agnostic, shows both
in-repoandworktreeparallel modes, and contains theskill-matchsub-graph.
Truth recovery and platform parity checkpoint release.
- FakeInvoker blocked from production paths; real invoker requires honest platform dispatch (R045)
- DispatchBatch error propagation ensures dispatch errors surface to callers (R046)
- Four continue bypass paths closed for verified_partial, watcher timeout, reconcile, and git claims (R047, R048)
- In-repo build claims are now git-verified for ALL completed workers (R049)
- Environmental dismissal removed from verification -- all failures produce honest summaries (R050)
- Colony state advancement is atomic via UpdateJSONAtomically; state saved before side effects (R051)
- Continue detects abandoned builds (all dispatches stuck at "spawned" >10 min) and returns blocked with recovery commands
- Stale report files cleared before continue verification runs
- 523 stale worktrees and 259 orphaned branches cleaned up
- All 18 unresolved blocker flags archived (issues fixed by phases 31-33)
- All 25 OpenCode agents synced from Claude masters (zero drift)
- All 25 Codex agents updated with Phase 31-33 runtime concepts
- Medic does not detect "functionally stuck" deadlocks where colony state is structurally valid but all forward paths are blocked. A dedicated fix is planned for a future release.
Bootstrap asset-name compatibility for published npm installs.
- the npm bootstrap now requests the real GitHub release archive names (
Aether_<version>_<os>_<arch>.tar.gz) instead of the old lowercaseaether_v...pattern - checksum downloads now follow the actual release asset name
checksums.txt - Windows bootstrap extraction now matches the shipped tar.gz release archives instead of assuming zip assets
Unified release versioning, npm bootstrap publishing, and operator documentation.
- the public Aether version is now treated as a single release number across
.aether/version.json,npm/package.json, README badges, platform guides, and release runbooks - the npm bootstrap package page now tracks the same product framing as the GitHub README, including who Aether is for and how the bootstrap hands off to the Go runtime
- OpenCode and architecture docs now describe the real source-checkout publish path (
aether install --package-dir "$PWD") instead of the old npm-global packaging flow
- the npm package page can now be updated intentionally through the documented release path instead of drifting behind the repo README with no operator guidance
- Medic and the platform guides now recognize release-integrity failures as a coordinated Go binary, hub publish, npm publish, and downstream update problem
- stale version references across README, AGENTS, CLAUDE, CODEX, and roadmap surfaces no longer disagree about the current Aether release
Shared dispatch-truth completion and recovery continuity across runtime surfaces.
aether status,aether watch,aether resume-dashboard, andprint-next-upnow reuse the same blocked-recovery guidance instead of falling back to genericaether continue- blocked continue flow now persists the targeted recovery command into session, context, and handoff artifacts so recovery survives context clears and resumed sessions
- Claude/OpenCode blocked continue guidance now follows runtime-surfaced recovery commands first, keeping the wrapper beautiful but honest
- blocked phases no longer strand the right redispatch or reconcile command inside the immediate
aether continueoutput - watch/status/resume surfaces now point at the same recovery doorway the runtime already computed, rather than drifting into stale or generic next steps
- the completed
v1.2dispatch-truth and recovery work is now packaged as a clean patch release for cross-repo testing
Legacy colony-state compatibility hardening for cross-repo updates.
- The shared Go colony-state loader now accepts legacy JSON-encoded array strings for
memory.phase_learnings,memory.decisions, andmemory.instinctsinstead of failing at unmarshal time - Repos with older
COLONY_STATE.jsonsnapshots like"phase_learnings":"[]"can now load through the runtime normally across Codex, Claude Code, and OpenCode - Cross-repo updates no longer require manual JSON surgery just to recover old colonies after moving to the latest Aether patch release
Versioning cleanup, cross-platform parity hardening, and restored pheromone visibility.
- Claude/OpenCode build and continue wrappers now expose pheromone strength and remaining-life context more clearly while keeping the Go runtime authoritative
aether pheromonesandaether statusnow share compact lifetime semantics so active steering signals are easier to interpret- Maintainer-facing version surfaces are now aligned again across
.aether/version.json,README.md,AGENTS.md,CLAUDE.md, and the roadmap snapshot doc
ant:pheromonesno longer teaches direct pheromone-file mutation and instead routes back through runtime-owned commands- Colony scope separation, restored build/continue ceremony, and living watch/status surfaces are now all included in the shipped
v1.0baseline together - Other repos can consume the latest Aether bundle cleanly after a local install or release update without version-number drift between platform docs
Codex wrapper rollback with visuals and worker spawning preserved.
- Codex guidance now routes literal
aether ...commands back through the direct CLI path instead of trying to recreate Claude-style pre-command wrapper flows in repo instructions and skill text - Codex repo templates and project instructions keep
AETHER_OUTPUT_MODE=visualguidance so the CLI still owns banners, caste visuals, and workflow ceremony
aether init,aether plan,aether build,aether continue,aether run, andaether sealin Codex no longer trigger large repo archaeology passes or approval theater before the real CLI command- Codex guidance tests now enforce the minimal-wrapper contract again, reducing the chance of another instruction-layer regression like
v1.0.13
Codex command-class parity restore for colony-shaping commands.
- Codex guidance now splits literal
aether ...commands into direct pass-through versus mediated workflow commands instead of flattening every command into the same fast path aether initguidance once again performs a short foundation pass and approval checkpoint before the real colony initialization, matching the older Claude-style experience more closely
- Codex no longer auto-runs colony-shaping commands like
init,plan,build,continue,run, andsealas if they were read-only status commands - Repo-level Codex instructions, generated templates, and platform command docs now consistently tell the model to say plainly when a requested command such as
aether dreamis not actually exposed by the binary aether init-researchnow returns basic repo shape data (file_count,top_level_dirs,is_git_repo) so approval prompts can stay grounded in the Aether runtime instead of ad hoc shell probing
Codex command-wrapper simplification and visual no-colony status.
- Codex-specific colony skills and generated repo templates now tell Codex to stop wrapping literal
aether ...commands with repo archaeology, skill narration, and long post-command summaries
aether statuswith no active colony now renders through the Aether visual layer instead of falling back to plain text- Updated Codex repos now get stronger guidance to let Aether’s own banners, caste emoji output, and next-step blocks speak for themselves
- Literal
aether ...commands in Codex are now documented to use a near-zero wrapper instead of the current play-by-play commentary
Update error visibility fix.
- JSON error envelopes now preserve structured
details, so commands likeaether updateexpose the actual sync failures instead of only reporting a count - Codex can now see file-level update errors directly instead of guessing at hidden causes from a generic
"update failed with N sync error(s)"message
Colony lifecycle restore and Codex runtime hardening.
- Real
parallel-mode worktreeexecution for Codex builds, with isolated git worktrees, sync-back, and regression coverage - A real
aether swarminvestigate/fix/verify flow with structured results and worker-wave coverage - Legacy colony-state compatibility tests covering paused and broken idle colonies
- Paused colonies now resume through a recoverable pause flag instead of leaving the colony trapped in an unusable lifecycle state
- Claude and OpenCode lifecycle wrappers now stay shorter and route users back into the runtime CLI without long conversational detours
- Build, plan, and colonize consistently inject dedicated pheromone sections into Codex worker prompts
aether resume,aether status, and next-step routing now restore older paused colonies into a runnable state instead of dead-ending onPAUSED- Paused colonies no longer show ghost active workers, and interrupted phases route back to the correct current build
- Nested Codex workers now receive access to the Codex home/session directory, so real worker dispatches can create session state reliably
- Poisoned
BUILTphases can be retried instead of wedging behind "already built" errors - Large repos no longer spend excessive time rescanning the workspace on every Codex skill match
continuecan verify a valid build packet from persisted manifest data even whenBuildStartedAtis missing
Codex orchestration hardening, autonomous Oracle execution, and parity-doc cleanup.
- Autonomous Oracle RALF loop execution through
aether oracle, including watchdogs, heartbeat state, controller-led response merging, and stop/process-tree cleanup - Regression coverage for platform doc hygiene across the main Claude/OpenCode lifecycle surfaces and all OpenCode agent docs
- Codex workflow docs, Claude command wrappers, and OpenCode command wrappers now consistently treat the Go
aetherCLI as the runtime source of truth - OpenCode agent guidance now reports progress and blockers through structured returns instead of legacy
.aether/aether-utils.shhelper calls - Release CI now enforces stronger validation for the Codex-oriented runtime path and packaging flow
aether oracleno longer behaves like a workspace stub; it launches and manages a real iterative research loop- Oracle runs no longer get stuck rereading their own workspace without producing findings; controller-led question packets now drive progress and persist concrete blocker reasons
- Remaining Claude/OpenCode lifecycle docs no longer teach direct colony-state mutation, stale shell-session behavior, or outdated council/update flows
- Codex parity guidance now aligns more closely with the actual worker-dispatch behavior for
colonize,plan,build,run,continue,seal,entomb, andupdate
Legacy colony-state compatibility and clearer update guidance.
aether updateno longer implies thataether statusis the required next step when nothing changed- Colony load failures now report as state-load errors instead of always collapsing into "No colony initialized"
- Legacy colonies that store
plan.confidenceas a structured object now load correctly in the Go CLI again status,continue,build,plan,seal,entomb,resume, and compatibility flows no longer misreport a parse failure as a missing colony
Codex session-reload guidance for repo setup and updates.
aether setupandaether updatenow report when refreshed Codex repo files require a new Codex chat before the changes take effect- Codex-facing setup and update visuals now route the user to reopen Codex first whenever repo instructions, Codex agents, or Codex skills changed
- Updated repos no longer look "broken" to non-technical users after
aether update; the CLI now explicitly explains that Codex must be reopened to load refreshedAGENTS.md,.codex/CODEX.md, agents, or skills
Codex repo-update delivery fix for lifecycle orchestration and visual output.
- Managed
.codex/CODEX.mdtemplate generation for Aether-enabled repos - Regression coverage for Codex project-doc refresh during
setupandupdate
aether setupandaether updatenow refresh Aether-managedAGENTS.mdand.codex/CODEX.mdin target repos- Codex repo guidance and lifecycle skills now tell Codex to run lifecycle commands as
AETHER_OUTPUT_MODE=visual aether ...unless JSON is explicitly requested
- Updated repos now receive the repo-level Codex instructions needed to execute
aether build,aether continue, and related lifecycle commands directly instead of roleplaying them - Codex lifecycle commands executed through the shell now default to Aether’s own visual renderer, restoring caste emojis and ANSI ceremony in non-TTY execution
Codex CLI workflow hardening for real updated repos.
aether entombandaether tunnelsfor sealing follow-through and archived chamber browsing in the Go CLI- Regression coverage for entomb, legacy session recovery, and completed-colony status rendering
- Codex lifecycle skills and generated AGENTS guidance now treat literal
aether ...input as an exact CLI command, not a vague workflow request - Updated repos now restore the top-level
session.jsonmirror from legacy colony-scoped sessions more reliably duringupdateandresume
- Sealed colonies now route to
aether entombconsistently across status, seal, resume, and next-step guidance - Completed colonies no longer show stale incomplete task counts in the final phase display
- Entomb now archives legacy colony-scoped session state before clearing active runtime files
Final release packaging pass for the Codex parity rollout.
go mod tidynormalization is now committed sogoreleaser release --cleanno longer fails on a dirtygo.mod- Release metadata, docs, and hub versioning now point at the final
v1.0.4patch tag for Codex CLI support
Codex CLI release hardening and parity update. This release closes the remaining runtime gaps between the Codex workflow and the established colony lifecycle, and fixes clean-checkout packaging for the GoReleaser path.
- Native Codex compatibility commands:
aether run,aether watch, andaether oracle - Regression coverage for Codex compatibility flows, compact colony-prime worker context, mirror synchronization, and prompt budgeting
- Codex workers now receive compact colony-prime context with hive wisdom, user preferences, blockers, decisions, and phase learnings
- README, AGENTS.md, and
.codex/CODEX.mdnow describe Codex as a supported release workflow, including autopilot, live watch, and oracle workspace entrypoints - Public command counts were corrected to 46 slash commands for Claude Code and OpenCode
- Expired and decayed pheromone signals no longer leak into normal worker prompt reads
- Final Codex worker prompts now enforce a global end-to-end budget instead of only budgeting individual sections
- Packaged agent mirrors for Claude and Codex were resynchronized with canonical agent definitions
- Codex worker schema serialization now returns errors instead of panicking on marshal failure
- Clean-source GoReleaser builds now succeed because
.aether/commands/ships with a tracked placeholder file forgo:embed - Full validation stayed clean for release:
go test ./...,go vet ./..., andgo test ./... -race
Aether v2.7 — PR Workflow + Stability. Six phases (39-44) adding multi-branch safety, clash detection, and release hardening.
- Pheromone propagation — Signals flow across git branches via
pheromone-snapshot-injectandpheromone-merge-back; worktree creation auto-copies active pheromones - Midden collection — Failure records from merged branches collected into main via
midden-collectwith idempotent dedup; cross-PR pattern detection viamidden-cross-pr-analysis; revert-aware tagging viamidden-handle-revert - Clash detection — PreToolUse hook (
clash-pre-tool-use.js) blocks edits to files modified in other active worktrees;.aether/data/files allowlisted (branch-local state) - Worktree utilities —
_worktree_createauto-copies colony context (COLONY_STATE.json, pheromones.json) and runs pheromone-snapshot-inject - Merge driver —
.gitattributesmerge driver resolves package-lock.json conflicts by keeping "ours" viamerge-driver-lockfile.sh - Midden wiring —
midden-collectandmidden-cross-pr-analysiswired into/ant-continueplaybooks (non-blocking, follows pheromone merge-back pattern) - Interactive installer —
npx aether-colonynow shows a 3-option menu (Full setup / Global only / Repo only) with environment detection and context-sensitive defaults; supports--global,--repo,--yesflags for scripting aether setupcommand — CLI equivalent of/ant-lay-eggsfor setting up Aether in a repo without Claude Code open
- Package validation —
validate-package.shexpanded from 15 to 38+ required file entries (100% coverage of packaged utils) - NPX installer — Replaced
npx-install.jswith interactivenpx-entry.js; old installer kept as deprecation redirect - Package cleanliness — 8 dev-only files excluded from npm tarball (scripts/, design docs, example schemas)
- CLAUDE.md — Full accuracy audit: version bumped to v2.7.0, all counts verified (5,500 lines, 35 utils, 45 commands, 509 tests)
- README.md — Architecture counts updated (35 utils, 45 commands, ~5,500 lines)
- YAML commands — 6 stale command files regenerated from YAML sources (init, plan, seal for Claude and OpenCode)
- Clash detection dispatcher —
clash-detect.shandworktree.shwired intoaether-utils.shdispatcher (source lines, dispatch cases, help JSON) - Init command — Clash detection hook verification and read-only worktree list integrated into
/ant-initStep 7.6
Six phases of production hardening (Phases 9-14) targeting reliability, maintainability, and developer experience.
- State API facade (
state-api.sh) -- centralized COLONY_STATE.json access with lock/validate/migrate pattern - Builder output verification (
verify-claims) -- cross-references builder file claims against filesystem to catch fabrication - Error handling infrastructure (
_aether_log_error) -- structured error logging across all modules with[error]prefix - SUPPRESS:OK convention -- intentional error suppressions annotated for auditability (cleanup, read-default, existence-test, cross-platform, idempotent, validation)
- Per-phase research -- scouts investigate domain knowledge before task decomposition (
/ant-planStep 3.6) - Research context injection -- builder and watcher prompts receive domain research during builds (16K character budget)
- Deprecation warning system (
_deprecation_warning) -- 18 dead subcommands emit stderr warnings with[deprecated]prefix - Rolling state checkpoints -- COLONY_STATE.json backed up before every build-wave (3 max retained)
- Context trimming notification -- colony-prime emits visible notice when context is trimmed to stay within budget
- Monolith modularization -- aether-utils.sh reduced from ~11,600 to ~5,200 lines (55% reduction)
- 9 domain modules extracted: flag, spawn, session, suggest, queen, swarm, learning, pheromone, state-api
- ~72 subcommands moved to domain modules, sourced on demand
- All 580+ tests passing with modularized structure
- Error handling overhaul -- ~110 lazy error suppressions replaced with proper fallbacks, ~48 dangerous suppressions on state-mutation paths fixed with explicit error handling
- Continue-advance state writes -- now go through locked subcommand (prevents concurrent corruption)
- Help JSON -- updated with deprecation markers and Deprecated section
- Documentation accuracy -- all docs/ files swept for stale counts, line numbers, and dates; comprehensive v2.1 changelog added
- Hive wisdom type coercion -- retrieval works regardless of string/number confidence format
- Midden race condition -- PID-scoped temp files prevent concurrent write data loss
- Learning recovery -- corrupted learning-observations.json auto-recovers from template
- Date-sensitive test failures -- dynamic dates (futureISO) prevent recurring expiration failures
- Context-continuity test -- pre-existing failure fixed (QUAL-09)
- Hive Brain — cross-colony wisdom sharing with domain-scoped retrieval, 200-entry LRU, multi-repo confidence boosting
- Autopilot (
/ant-run) — automated build-verify-advance loop with smart pausing - User Preferences — colony adapts to user communication style via QUEEN.md
- Quality gate agents — Probe (coverage), Auditor (quality), Gatekeeper (security), Measurer (performance)
instinct-applysubcommand — tracks instinct usage with confidence adjustmentmidden-reviewsubcommand — lists unacknowledged failures grouped by categorymidden-acknowledgesubcommand — marks midden entries as addressed- Pheromone content deduplication — SHA-256 hashing prevents duplicate signals
- Pheromone prompt injection sanitization — blocks LLM instruction override attempts
- Colony-prime token budget — 8000/4000 char budget with priority-based truncation
/ant-patrol— comprehensive pre-seal audit of work against plan- Colony pheromone exchange — XML export/import for cross-colony signal sharing
- Monolith decomposition — extracted hive-* (561 lines) and midden-* (260 lines) from aether-utils.sh to .aether/utils/
- Instinct trigger format — triggers stored without "When" prefix; display/promotion adds it
- Learning-promote-auto — recurrence-calibrated confidence formula
- "When when" stutter — fixed across 4 locations (seal.md, prompt-print, learning-promote-auto, oracle)
- Seal hive promotion — jq path
.instincts[]corrected to.memory.instincts[] - instinct-create locking — added trap-based lock to prevent concurrent write corruption
- midden-recent-failures limit — positional parameter fix after extraction
midden-recent-failuresnow reads.entries[]from midden.json instead of querying non-existent.signals[]— builders can finally see past failures
instinct-createsubcommand with deduplication and 30-instinct cap — programmatic instinct management replaces manual JSON manipulation- Midden context injected into builder prompts during build waves — workers avoid repeating past mistakes
- Decisions auto-emit FEEDBACK pheromones (strength 0.65, TTL 30d) so builders see architectural choices
context-update constraintnow handlesfeedbacktype alongsideredirectandfocus- Context-update calls added to Claude Code pheromone commands (focus, redirect, feedback)
- OpenCode pheromone commands brought to parity with pheromone-write + context-update calls
continue-advance.mdinstinct extraction simplified to useinstinct-createinstead of inline JSONlearning-promote-autonow also creates instincts from promoted learnings
lay-eggsis now a pure bootstrap command — sets up.aether/in a repo from the global hub without starting a colonyinitnow assumes Aether is already set up and focuses only on starting a colony with a goal- All help files, rules, and workflow documentation updated to reflect the lay-eggs/init separation
validate-worker-responsecommand with caste-aware schema checks for builder/watcher/probe/scout payloads, wired into build playbooks and OpenCode build flow.queen-thresholds,spawn-efficiency,entropy-score,incident-rule-add, andeternal-storecommands.- Incident/self-evolution artifacts:
.aether/docs/INCIDENT_TEMPLATE.md,.aether/scripts/weekly-audit.sh,.aether/scripts/incident-test-add.sh. - Additional regression coverage for spawn enforcement, state lock failure handling, threshold output, worker validation, spawn efficiency, eternal memory promotion, and entropy scoring.
- Spawn guard now supports hard enforcement via
spawn-can-spawn [depth] --enforce; worker and playbook guidance updated to use enforced mode. - Build orchestration guidance now refreshes
colony-prime --compactbefore each worker dispatch so new pheromones/memory are visible mid-build. - Promotion thresholds consolidated behind a single source of truth and reused by learning promotion/proposal/memory metric paths.
midden.template.jsonextended withspawn_metrics.
- Locked + atomic state writes for critical mutation paths in
COLONY_STATE.jsonhandling (error-add, failure event append inspawn-complete,grave-add, schema migration, and lock-aware state-loader validation handoff). - Pheromone write path now sanitizes content, validates strength bounds, and uses lock + atomic write semantics.
pheromone-expirenow promotes high-strength expired signals (>0.8) into eternal memory instead of silently decaying.detectDirtyReponow preserves porcelain status columns for the first line (prevents staged/unstaged misclassification when parsing git status output).
Major milestone: Every ant caste is now a real Claude Code subagent. 22 agents ship through the hub, ready for resolution via the Task tool.
- 22 Claude Code subagents: Every ant caste is now a first-class subagent resolvable via the Task tool
- Core: Builder, Watcher
- Orchestration: Queen, Scout, Route-Setter, 4 Surveyors (nest, disciplines, pathogens, provisions)
- Specialists: Keeper, Tracker, Probe, Weaver, Auditor
- Niche: Chaos, Archaeologist, Gatekeeper, Includer, Measurer, Sage, Ambassador, Chronicler
- Agent distribution pipeline:
npm install -g .syncs agents to hub at~/.aether/system/agents-claude/,aether updatedelivers to target repos - 6 AVA tests for agent quality: Frontmatter validation, tool restrictions, naming conventions, content standards
- repo-structure.md: Quick re-orientation guide for the codebase
- Bash line wrapping bug: Fixed 58 instances across 7 command files where description text was inside code blocks causing "with: command not found" errors
- Lint regression test: CLEAN-03 test scans both Claude and OpenCode command directories
- .aether/docs/ curated: 8 keepers at root, 6 archived for reference
- README.md updated: Action-oriented tone, v5.0 agent capabilities featured, caste table by tier
- ROADMAP.md and STATE.md: v5.0 marked shipped, all 31 phases complete at 100%
- Phase 27: Distribution Infrastructure + First Core Agents (4 plans)
- Phase 28: Orchestration Layer + Surveyor Variants (3 plans)
- Phase 29: Specialist Agents + Agent Tests (3 plans)
- Phase 30: Niche Agents (3 plans)
- Phase 31: Integration Verification + Cleanup (3 plans)
- Old planning phases 10-19 archived to docs/plans/ (completed phases)
- Orphaned worktree salvage files moved to docs/worktree-salvage/
Breaking change: The runtime/ staging directory has been removed. The npm package now reads directly from .aether/, with private directories (data/, dreams/, oracle/, etc.) excluded by .aether/.npmignore.
.aether/is now directly included in the npm package (private dirs excluded by.aether/.npmignore)bin/validate-package.shreplacesbin/sync-to-runtime.sh— validates required files, no copying- Hub sync uses exclude-based approach instead of triplicate 59-62 file allowlists
- Pre-commit hook repurposed for validation (no more runtime/ sync)
aether updateusessyncAetherToRepo(exclude-based) for all system file distribution- All three distribution paths (system files, commands, agents) unified in
setupHub()
runtime/staging directory — eliminated entirelybin/sync-to-runtime.sh— replaced by validation-only scriptSYSTEM_FILESallowlist arrays in cli.js and update-transaction.jscopySystemFiles()andsyncSystemFilesWithCleanup()functions
bin/validate-package.sh— pre-packaging validation with--dry-runmode- Private data exposure guard — blocks packaging if .npmignore doesn't cover private dirs
- Migration message for users upgrading from v3.x
npm pack --dry-runrecommended for verifying package contents
- ISSUE-004: Template path hardcoded to runtime/ — resolved by eliminating runtime/ entirely
- Run
npm install -g aether-colonyto get v4.0 - Your colony state and data are unaffected
- The only change is how the package is built — distributed content is identical
- Agent Type Correction — Changed all occurrences of
subagent_type="general"tosubagent_type="general-purpose"across all command files. The error "Agent type 'general' not found" was occurring because the correct agent type name isgeneral-purpose. Fixed in: build.md, plan.md, organize.md, and workers.md (both Claude and OpenCode versions, plus runtime copy). (.claude/commands/ant/build.md,.claude/commands/ant/plan.md,.claude/commands/ant/organize.md,.opencode/commands/ant/build.md,.opencode/commands/ant/plan.md,.opencode/commands/ant/organize.md,.aether/workers.md,runtime/workers.md)
- Archaeologist Visualization — Added swarm display integration for the Archaeologist scout (Step 4.5). The archaeologist now appears in the visual display with proper emoji (🏺), progress tracking (15% → 100%), and tool usage stats when spawned during pre-build scans. (
.claude/commands/ant/build.md,.opencode/commands/ant/build.md)
- Nested Spawn Visualization — When builders or watchers spawn sub-workers, the swarm display now updates to show those nested spawns with colors and emojis. Added
swarm-display-updatecalls to workers.md spawn protocol (Step 3 and Step 5), builder prompts, and watcher prompts. (.aether/workers.md,.claude/commands/ant/build.md,.opencode/commands/ant/build.md)
- Swarm Display Integration in Build Command — The visualization system was fully implemented but never integrated into
/ant-build. Addedswarm-display-initat build start,swarm-display-updatecalls when spawning builders/watchers/chaos ants, progress updates when workers complete (updating to 100% completion), and finalswarm-display-renderat build completion. The build now shows real-time ant-themed visualization with caste emojis, colors, tool usage stats, and chamber activity maps. (.claude/commands/ant/build.md,.opencode/commands/ant/build.md) - Missing swarm-display-render Command — Added new
swarm-display-rendercommand toaether-utils.shthat executes the visualization script to render the current swarm state to terminal. (.aether/aether-utils.sh)
- OpenCode Build Command Parity — Synchronized OpenCode build.md with Claude version: added
--modelflag support, proxy health check (Step 0.6), colony state loading (Step 0.5), and full swarm display integration. (.opencode/commands/ant/build.md)
- Missing Visualization Assets — Added
.aether/visualizations/directory to npm package files array. The ASCII art anthill files required by/ant-maturitycommand were not being published, causing the command to fail in repos that installed/updated via npm. (package.json) - Visualization Sync in Install — Updated
setupHub()function in CLI to sync visualization files from package to hub (~/.aether/visualizations/). (bin/cli.js) - Visualization Sync in Update — Updated
UpdateTransactionto sync visualization files from hub to repos duringaether update. AddedHUB_VISUALIZATIONSconstant and visualization sync result tracking. (bin/lib/update-transaction.js)
- Version bump to 3.1.1 to trigger fresh installs with visualization assets. (
package.json)
- Session Freshness Detection System — Global system to prevent stale session files from silently breaking Aether workflows. Implements
session-verify-freshandsession-clearcommands with support for 7 commands (survey, oracle, watch, swarm, init, seal, entomb). Features cross-platform timestamp detection (macOS/Linux), environment variable overrides for testing, and protected operations (init/seal/entomb never auto-clear). Backward compatibility maintained withsurvey-verify-freshandsurvey-clearwrappers. Added comprehensive test suite (tests/bash/test-session-freshness.sh) and API documentation (docs/session-freshness-api.md). (.aether/aether-utils.sh,tests/bash/test-session-freshness.sh,docs/session-freshness-api.md)/ant-colonize— Added--force-resurveyflag, stale survey detection, and verification/ant-oracle— Added--forceflag, stale session detection with user options/ant-watch— Added session timestamp capture and stale file handling/ant-swarm— Added auto-clear for stale findings with verification/ant-init— Added freshness check with protected state (no auto-clear)/ant-seal— Added incomplete archive detection and integrity verification/ant-entomb— Added incomplete chamber detection and integrity verification
- Architecture Cleanup: Source of Truth Flipped — Complete review and cleanup of the flipped source-of-truth architecture.
.aether/is now the source of truth for system files, withruntime/auto-populated bybin/sync-to-runtime.shduring npm install. Fixed 6 stale documentation files, updated 5 planning files, expanded allowlist from 20 to 36 files, handled 4 orphan files, and verified zero drift between directories. (.aether/recover.sh,.aether/RECOVERY-PLAN.md,.planning/codebase/STRUCTURE.md,.planning/codebase/ARCHITECTURE.md,.planning/codebase/CONVENTIONS.md,TO-DOS.md,bin/sync-to-runtime.sh,bin/lib/update-transaction.js)
- Phase 4: UX Improvements to Lay-Eggs — Enhanced lay-eggs.md with visual lifecycle diagrams (🟢 ACTIVE COLONY → 🏺 SEAL/ENTOMB → 🥚 LAY EGGS) in error messages to clarify workflow progression. Updated success output to explicitly distinguish between sealing vs laying eggs for new projects, preserving wisdom across colony lifecycles. (
.claude/commands/ant/lay-eggs.md)
- Phase 2: Fix Blocker Severity and Auto-Resolve Logic — Made auto_resolve_on conditional by flag source: chaos-sourced blockers require manual resolution (auto_resolve_on: null), verification blockers auto-resolve on build pass. Reordered continue.md Flags Gate to run auto-resolve before blocker count check. Added advisory blocker warning (Step 1.5) to build.md so builders see active blockers before execution. (
.aether/aether-utils.sh,runtime/aether-utils.sh,.claude/commands/ant/continue.md,.opencode/commands/ant/continue.md,.claude/commands/ant/build.md,.opencode/commands/ant/build.md) - Phase 1: Fix Chaos Ant Duplicate Flagging — Eliminated duplicate flag creation during build-rebuild cycles by removing redundant chaos flagging from build.md Step 5.5 (Step 5.4.2 already handles it), injected existing flag titles into Chaos Ant spawn prompt to prevent re-investigating known issues, and added flag persistence to standalone /ant-chaos for critical/high findings using source 'chaos-standalone'. (
.claude/commands/ant/build.md,.opencode/commands/ant/build.md,.claude/commands/ant/chaos.md,.opencode/commands/ant/chaos.md)
-
Phase 6: Final Verification and Integration Testing — Added milestone display to /ant-status command (now shows "Milestone: " in output), expanded milestone progression in /ant-archive to handle all 6 stages (First Mound, Open Chambers, Brood Stable, Ventilated Nest, Sealed Chambers, Crowned Anthill), added unrecognized milestone error handling. Full lint suite passes (shell, JSON, sync - 28 commands verified). (
.claude/commands/ant/status.md,.claude/commands/ant/archive.md,.opencode/commands/ant/status.md,.opencode/commands/ant/archive.md) -
Phase 1: Create Oracle infrastructure and command — Added Oracle Ant deep research agent with RALF-pattern bash loop, agent prompt, /ant-oracle command definition (mirrored), and oracle caste registration in aether-utils.sh. (
.aether/oracle/oracle.sh,.aether/oracle/oracle.md,.claude/commands/ant/oracle.md,.opencode/commands/ant/oracle.md,.aether/aether-utils.sh,runtime/aether-utils.sh)
- Phase 2: Verification and smoke test — All Oracle Ant files verified: generate-commands.sh check passes (26/26 in sync, SHA-1 checksums verified), oracle.sh error handling works (exits code 1 with descriptive error when no research.json), oracle caste generates themed names (Vision-NN, Delph-NN), file structure matches spec (oracle.sh executable, oracle.md exists, command mirrors byte-identical, no stray files). Full lint suite passes (shell, JSON, sync).
- Phase 5: Path Localization Complete — Full-repo audit confirmed zero actionable
~/.aether/or~/.config/opencode/references in commands, scripts, or CLI. Remaining 4$HOME/.aetherreferences in aether-utils.sh are intentional hub/registry functions for multi-repo management.generate-commands.sh checkpasses (25/25 in sync, SHA-1 checksums verified).aether-utils.shsmoke tests pass (help, version, generate-ant-name). All three original goals met: no root access prompts, no cross-repo contamination, no out-of-project file operations.
-
Phase 4: Implement Hash-Based Idempotency — Added SHA256 hash comparison to syncDirWithCleanup function - files are now only copied when content actually changes, reducing unnecessary I/O. Added error handling with try-catch to hashFileSync, copyFileSync, unlinkSync operations to prevent crashes on single file errors. Added validateManifest function to verify manifest.json structure before use. Added optional --backup flag to preserve user-modified files before overwriting. 13 tests added covering hash comparison, user modification detection, and backward compatibility. (
bin/cli.js,test/sync-dir-hash.test.js,test/user-modification-detection.test.js) -
Phase 4: Remove global path operations from cli.js — Removed
~/.aether/runtime copy logic (RUNTIME_DEST, RUNTIME_SRC, learnings.json creation, execSync import) and~/.config/opencode/global install logic (OPENCODE_GLOBAL_COMMANDS_DEST, OPENCODE_GLOBAL_AGENTS_DEST) from install/uninstall commands. Updated help text to reflect new architecture. cli.js now only installs Claude Code slash-commands to~/.claude/commands/ant/. Net reduction of 130 lines. (bin/cli.js) -
Phase 3: Document repo-local path architecture — Updated CHANGELOG.md and documentation references to reflect the completed path localization migration. All runtime paths now use repo-local
.aether/instead of~/.aether/. Phases 1-2 localized command files, agent definitions, system docs, planning docs, shell utilities, and cross-project state functions. Phase 3 updates documentation to reflect the new architecture where running colonies only read/write repo-local.aether/, while global install remains functional for command distribution. (README.md,CHANGELOG.md,TO-DOS.md) -
Phase 2: Localize cross-project state in aether-utils.sh — Redirected 6
$HOME/.aetherreferences to repo-local$DATA_DIRpaths in learning-promote, learning-inject, error-flag-pattern, error-patterns-check, signature-scan, and signature-match functions. Fixed atomic-write.sh$HOME/.aether/utilsfallback to use SCRIPT_DIR-based resolution. Updated usage comment headers in all .sh files. Applied to both.aether/andruntime/copies (verified identical). (.aether/aether-utils.sh,runtime/aether-utils.sh,.aether/utils/atomic-write.sh,runtime/utils/atomic-write.sh,.aether/utils/file-lock.sh,runtime/utils/file-lock.sh) -
Phase 1: Localize ~/.aether/ path references — Replaced all
~/.aether/paths with repo-relative.aether/across 50 files: command prompts, agent definitions, system docs, planning docs, and template.yaml. Fixed 3 pre-existing mirror drifts (migrate-state.md, organize.md, plan.md) discovered during verification. (.claude/commands/ant/*.md,.opencode/commands/ant/*.md,.opencode/agents/*.md,.aether/workers.md,runtime/workers.md,.aether/docs/*.md,runtime/docs/*.md,.planning/*.md,src/commands/_meta/template.yaml) -
Phase 2: Upgrade Sync Checking to Content-Aware —
generate-commands.sh checknow performs SHA-1 checksum comparison (Pass 2) after filename matching (Pass 1), detecting content drift between.claude/and.opencode/mirrors. Revealed 3 pre-existing drifts previously invisible to filename-only checks. (bin/generate-commands.sh)
- Phase 5: Verify Full System Integrity — Final verification phase confirming all global install locations match repo sources. Full lint suite passed (lint:shell, lint:json, lint:sync). All 4 global locations verified: ~/.claude/commands/ant/ (24 files), ~/.config/opencode/commands/ant/ (24 files), ~/.config/opencode/agents/ (4 files), ~/.aether/ system files. Watcher quality 9/10, Chaos resilience moderate (1 high finding: lint:sync content blind spot, 3 medium, 1 low — all pre-existing infrastructure gaps). Colony goal achieved.
-
Phase 6: Document and Test the System — Created command-sync.md documenting the sync strategy: Claude Code uses global sync to ~/.claude/commands/ant/, OpenCode uses hub-based repo-local distribution (no global discovery). Verified end-to-end sync with dry-run tests: install, update, update --all all work correctly. Idempotency confirmed - hash-based comparison skips unchanged files. All lint and tests pass. (
.aether/docs/command-sync.md,.aether/docs/namespace.md,test/namespace-isolation.test.js) -
Phase 5: Implement Conflict Prevention System — Added namespace isolation documentation (
.aether/docs/namespace.md) explaining why 'ant' namespace is distinct from cds, mds, st: namespaces. Created namespace-isolation.test.js with 8 tests verifying bulletproof directory-based isolation. Fixed critical bugs discovered by Chaos Ant: added hash comparison to syncDirWithCleanup (files now only copied when content changes) and added HOME environment variable validation to prevent path.join failures. All 14 tests pass. (bin/cli.js,.aether/docs/namespace.md,test/namespace-isolation.test.js) -
Phase 3: Fix Pheromone Model Consistency — Aligned all pheromone documentation to TTL-based model. Replaced decay/half-life/exponential language in runtime/docs/pheromones.md (now identical to .aether/docs/ source of truth), help.md (4 references fixed, mirrored to .opencode/), and README.md pheromone table (Decay column replaced with Priority/Default Expiration). (
runtime/docs/pheromones.md,.claude/commands/ant/help.md,.opencode/commands/ant/help.md,README.md) -
Phase 1: Fix Command Mirror Sync Bugs — Synced status.md, continue.md, and phase.md between Claude and OpenCode mirrors (zero diff verified), added missing YAML frontmatter to Claude's migrate-state.md, verified cli.js install paths are correct. (
.opencode/commands/ant/status.md,.opencode/commands/ant/continue.md,.opencode/commands/ant/phase.md,.claude/commands/ant/migrate-state.md) -
Phase 2: Sync runtime copy to .aether mirror — Full file copy of runtime/aether-utils.sh to .aether/aether-utils.sh eliminating all drift including missing signature-scan and signature-match commands. Both copies now byte-identical. (
.aether/aether-utils.sh) -
Phase 1: Fix bugs in canonical runtime/aether-utils.sh — Fixed learning-promote jq crash on non-numeric phase strings (--argjson to --arg), fixed flag-auto-resolve missing exit after early-return when flags file absent, confirmed file-lock.sh transitive usage via atomic-write.sh is intentional. (
runtime/aether-utils.sh)
- Phase 4: Clean Up Global ~/.aether/ — Removed unrelated
LIGHT_MODE_TRANSPARENCY_TEST.mdfrom global~/.aether/, adopted orphanedprogressive-disclosure.mdinto repo at both.aether/docs/andruntime/docs/. Both copies verified identical to global source. (.aether/docs/progressive-disclosure.md,runtime/docs/progressive-disclosure.md) - Phase 3: Sync Global OpenCode Commands — Replaced stale global OpenCode commands at
~/.config/opencode/commands/ant/with all 24 current repo commands. Removed orphanant.md, cleared old files, installed fresh copies. All 24 files verified identical to repo source. (~/.config/opencode/commands/ant/*.md) - Phase 2: Sync Content Between Repo and Runtime — Synced runtime/QUEEN_ANT_ARCHITECTURE.md with .aether/ source (+56 lines: Council, Swarm sections, heading rename), added 3 missing docs to runtime/docs/ (constraints.md, pathogen-schema.md, pathogen-schema-example.json), synced aether-watcher.md to global install with Command Resolution section. (
runtime/QUEEN_ANT_ARCHITECTURE.md,runtime/docs/*,~/.config/opencode/agents/aether-watcher.md) - Phase 1: Fix OpenCode Command Naming Convention — Renamed all 24
.opencode/commands/ant/files fromant:*.mdto bare*.mdnames to match.claude/commands/ant/convention. OpenCode uses frontmattername:field for command resolution, so filenames are cosmetic.npm run lint:syncnow passes. (.opencode/commands/ant/*.md) - Phase 4: Documentation and Validation (Chaos + Archaeologist) — Updated help.md with /ant-chaos and /ant-archaeology in ADVANCED and WORKER CASTES sections, updated README.md command count from 22 to 24 in all 6 locations, added CHANGELOG entries for all phases, marked both TO-DOS.md entries as DONE with implementation references. Validated 24 files in each command directory, name generation, and emoji resolution. (
.claude/commands/ant/help.md,.opencode/commands/ant/ant-help.md,README.md,CHANGELOG.md,TO-DOS.md) - 2026-02-12: TO-DOS.md — Marked Chaos Ant and Archaeologist Ant entries as DONE with implementation references
- Phase 1: Threshold and Quoting Fixes — Lowered instinct confidence threshold from 0.7 to 0.5 in both init.md mirrors, standardized YAML description quoting across all 26 command files. (
init.md,build.md,colonize.md,continue.md,council.md,dream.md,feedback.md,flag.md,flags.md,focus.md,help.md,interpret.md,organize.md,pause-colony.md,phase.md,plan.md,redirect.md,resume-colony.md,status.md,swarm.md,watch.md+ .opencode mirrors) - Phase 3: Watcher, Builder, and Swarm command resolution — Watcher prompt in build.md, swarm.md Step 8, and aether-watcher.md now resolve build/test/lint commands via the 3-tier priority chain (CLAUDE.md > CODEBASE.md > heuristic fallback) instead of leaving commands unspecified or hardcoded. (
build.md,swarm.md,aether-watcher.md+ .opencode mirrors) - Phase 2: Verification loop priority chain — Command detection in continue.md and verification-loop.md now uses 3-tier priority chain (CLAUDE.md > CODEBASE.md > heuristic table) instead of heuristic table alone. Heuristic table preserved as fallback. (
continue.md,runtime/verification-loop.md+ .opencode/.aether mirrors) - Phase 3: Build Pipeline Integration (Chaos + Archaeologist) — Integrated both new ant types into the build.md pipeline. Archaeologist Ant spawns as conditional pre-build step (Step 4.5) when phase modifies existing files, injecting history context into builder prompts. Chaos Ant spawns as post-build resilience tester (Step 5.4.2) alongside Watcher, limited to 5 edge case scenarios. Added
chaos_countandarchaeologist_countto spawn_metrics andarchaeologyfield to synthesis JSON. (.claude/commands/ant/build.md,.opencode/commands/ant/ant-build.md)
- Phase 2:
/ant-chaoscommand — Standalone Chaos Ant (Resilience Tester) command that probes code for edge cases, boundary conditions, error handling gaps, state corruption, and unexpected inputs. Produces structured findings reports with reproduction steps and severity ratings. Read-only by design (Tester's Law). (.claude/commands/ant/chaos.md,.opencode/commands/ant/ant-chaos.md) - Phase 2:
/ant-archaeologycommand — Standalone Archaeologist Ant command that excavates git history for any file or directory. Uses git log, blame, show, and follow to analyze commit patterns, surface tribal knowledge, identify tech debt markers, map churn hotspots, and produce structured archaeology reports. Read-only by design (Archaeologist's Law). (.claude/commands/ant/archaeology.md,.opencode/commands/ant/ant-archaeology.md) - Phase 1: Utility Foundation (Chaos + Archaeologist) — Added chaos and archaeologist castes to
generate-ant-name(8 prefixes each) andget_caste_emoji(🎲 and 🏺) in both.aether/aether-utils.shandruntime/aether-utils.sh. (.aether/aether-utils.sh,runtime/aether-utils.sh) - Phase 1: Immune Memory Schema — Defined JSON schema for pathogen signatures extending existing error-patterns.json format. Schema adds signature_type, pattern_string, confidence_threshold, escalation_level fields while preserving backward compatibility. Created .aether/docs/pathogen-schema.md documentation, .aether/docs/pathogen-schema-example.json with sample entries, and .aether/data/pathogens.json empty storage file. Watcher verified 6/6 jq validation tests pass. (
.aether/docs/pathogen-schema.md,.aether/docs/pathogen-schema-example.json,.aether/data/pathogens.json) - Phase 2: Add Lint Scripts — Added
lint:shell,lint:json,lint:sync, and top-levellintscripts to package.json for shell validation, JSON validation, and mirror sync checking. (package.json) - CLAUDE.md-aware command detection — Colonize now extracts build/test/lint commands from CLAUDE.md and package manifests into CODEBASE.md with user suggestions. Verification loop and worker prompts resolve commands via 3-tier priority chain (CLAUDE.md > CODEBASE.md > heuristic fallback) instead of heuristic table alone. (
colonize.md,continue.md,build.md,swarm.md,verification-loop.md,aether-watcher.md+ .opencode/.aether mirrors) - Phase 4: Tier 2 Gate-Based Commit Suggestions — Colony now suggests commits at verified boundaries (post-advance and session-pause) via user prompt instead of auto-committing. Added
generate-commit-messageutility to aether-utils.sh for consistent formatting across commit types. (continue.md,pause-colony.md,aether-utils.sh+ .opencode mirrors) - Phase 3: Tier 1 Safety Formalization — Switched build.md checkpoint from
git committogit stash push --include-untracked, standardized checkpoint naming underaether-checkpoint:prefix, added label parameter toautofix-checkpointin aether-utils.sh, added rollback verification to build.md output header, documented rollback procedure in continue.md, updated swarm.md to pass descriptive labels. (build.md,swarm.md,continue.md,aether-utils.sh+ .opencode mirrors) - Phase 2: Git Staging Strategy Proposal — 4-tier strategy proposal with comparison matrix and implementation recommendation. Tier 1 (Safety-Only), Tier 2 (Gate-Based Suggestions), Tier 3 (Hooks-Based Automation), Tier 4 (Branch-Aware Colony). Recommends Tiers 1+2 for initial implementation. (
.planning/git-staging-proposal.md,.planning/git-staging-tier{1-4}.md) - Phase 1: Deep Research on Git Staging Strategies — 7 research documents (1573 lines) covering: Aether's 20 git touchpoints, industry comparison of 5 AI tools, worktree applicability, user git rule tensions, ranked commit points (POST-ADVANCE strongest), commit message conventions, and GitHub integration opportunities. (
.planning/git-staging-research-1.{1-7}.md) - Auto-recovery headers — All ant commands now show
🔄 Resuming: Phase X - Nameafter/clear.status.mdhas Step 1.5 with extended format including last activity timestamp.build.md,plan.md,continue.mdshow brief one-line context.resume-colony.mddocuments the tiered pattern. (status.md,build.md,plan.md,continue.md,resume-colony.md) - Ant Graveyards —
grave-addandgrave-checkcommands inaether-utils.sh. When builders fail, grave markers record the file, ant name, and failure summary. Future builders check for nearby graves before modifying files and adjust caution level accordingly. Capped at 30 entries. (aether-utils.sh,init.md,build.md) - Colony knowledge in builder prompts — Spawned workers now receive top instincts (confidence >= 0.5), recent validated learnings, and flagged error patterns via
--- COLONY KNOWLEDGE ---section in builder prompt template. (build.md) - Automatic changelog updates —
/ant-continuenow appends a changelog entry for each completed phase under## [Unreleased]. (continue.md) - Colony memory inheritance —
/ant-initnow reads the most recentcompletion-report.md(if it exists) and seeds the new colony'smemory.instinctswith high-confidence instincts (>= 0.7) and validated learnings from prior sessions. Colonies no longer start completely blind. (init.md+ .opencode mirror) - Unbuilt design status markers — Added
STATUS: NOT IMPLEMENTEDheaders to.planning/git-staging-tier3.mdand.planning/git-staging-tier4.mdto prevent confusion with implemented features. (git-staging-tier3.md,git-staging-tier4.md) /ant-interpretcommand — Dream reviewer that loads dream sessions, investigates each observation against the actual codebase with evidence and verdicts (confirmed/partially confirmed/unconfirmed/refuted), assesses concern severity, estimates implementation scope, and facilitates discussion before injecting pheromones or adding TO-DOs. (interpret.md)/ant-dreamcommand — Philosophical wanderer agent that reads codebase, git history, colony state, and TO-DOs, performs random exploration cycles and writes observations to.aether/dreams/. (dream.md)/ant-helpcommand — Renamed from/ant-antwith updated content covering all 20 commands, session resume workflow, colony memory system, and full state file inventory. (help.md)- OpenCode command sync — All
.claude/commands/ant/prompts synced to.opencode/commands/ant/for cross-tool parity
- Checkpoint messaging — Now suggests actual next command (e.g.,
/ant-continueor/ant-build 3) instead of generic/ant-status. Format: "safe to /clear, then run /ant-continue" - Caste emoji in spawn output — Spawn-log and spawn-complete in
aether-utils.shshow caste emoji adjacent to ant name (e.g.,🔨Chip-36). Build.md SPAWN PLAN and Colony Work Tree use emoji-first format. (aether-utils.sh,build.md) - Phase context in command suggestions — Next Steps sections now include phase names alongside numbers (e.g.,
/ant-build 3 Phase 3: Add Authentication). (status.md,plan.md,phase.md) - OpenCode plan.md — Now dynamically calculates first incomplete phase instead of hardcoding Phase 1. (
plan.md)
- Output appears before agents finish —
build.mdnow enforces blocking behavior; Steps 5.2, 5.4.1, and 5.6 wait for all TaskOutput calls before proceeding - Command suggestions use real phase numbers —
status.md,continue.md,plan.md, andphase.mdcalculate actual phase numbers instead of showing template placeholders - Progressive disclosure UI — Compact-by-default output with
--verboseflag;status.md(8-10 lines) andbuild.md(12 lines) default to compact mode
Aether Colony is a multi-agent system using ant colony intelligence for Claude Code and OpenCode. Workers self-organize via pheromone signals to complete complex tasks autonomously.
- 20 ant commands for autonomous project planning, building, and management (
ant:init,ant:plan,ant:build,ant:continue,ant:status,ant:phase,ant:colonize,ant:watch,ant:flag,ant:flags,ant:focus,ant:redirect,ant:feedback,ant:pause-colony,ant:resume-colony,ant:organize,ant:council,ant:swarm,ant:ant,ant:migrate-state) - Multi-agent emergence — Queen spawns workers directly; workers can spawn sub-workers up to depth 3
- Pheromone signals — FOCUS, REDIRECT, and FEEDBACK with TTL-based filtering
- Project flags — Blockers, issues, and notes with auto-resolve triggers
- State persistence — v3.0 consolidated
COLONY_STATE.jsonwith session handoff via pause/resume - Command output styling — Emoji sandwich styling across all ant commands
- Git checkpoint/rollback — Automatic commits before each phase for safety
aether-utils.shutility layer — Single entry point for deterministic colony operations (error tracking, activity logging, spawn management, flag system, antipattern checks, autofix checkpoints)- OpenCode compatibility — Full command mirror in
.opencode/commands/ant/
- Queen ant orchestrates via pheromone signals
- Worker castes: Builder, Scout, Watcher, Architect, Route-Setter
- Wave-based parallel spawning with dependency analysis
- Independent Watcher verification with execution checks
- Consolidated
workers.mdfor all caste disciplines
Development releases (versions 2.0.0-2.4.2) building toward stable release. Key milestones:
- v2.0 nested spawning — Direct Queen spawning, enforcement gates, flagging system
- OpenCode cross-tool compatibility — Commands available in both Claude Code and OpenCode
- ant:swarm — Parallel scout investigation for stubborn bugs
- ant:council — Multi-choice intent clarification
- True emergence system — Worker-spawns-worker architecture
- Verification gates — Worker disciplines enforced
- v1.0.0 release prep — Auto-upgrade from old state formats
- State consolidation (v2.0 → v3.0) — 5 state files merged into single
COLONY_STATE.json - State migration command —
ant:migrate-statefor upgrading existing colonies - Signal schema unification — TTL-based signal filtering replacing decay system
- Command trim — Reduced
status.mdfrom 308 to 65 lines, signal commands to 36 lines each,aether-utils.shfrom 317 to 85 lines (later expanded with new features) - Worker spec consolidation — 6 separate worker specs merged into single
workers.md - Build/continue rewrite — Minimal state writes, detection and reconciliation pattern
- NPM distribution — Global install via
npm install -g - Global learning system —
learning-promoteandlearning-injectfor cross-project knowledge - Queen-mediated spawn tree — Depth-limited spawning with tree visualization
- ant:organize — Codebase hygiene scanning (report-only)
- Debugger spawn on retry failure — Automatic debugging assistance
- Multi-colonizer synthesis — Disagreement flagging during analysis
- Multi-dimensional watcher scoring — Richer verification rubrics
- Auto-continue mode —
--allflag for/ant-continue - Safe-to-clear messaging — State persistence indicators on all commands
- Conflict prevention — File overlap validation between parallel workers
- Phase-aware error tracking — Error-add wired to phase numbers
-
Initial AETHER system — Autonomous agent spawning core
-
Queen Ant Colony — Phased autonomy with pheromone-based guidance
-
Pheromone communication — FOCUS, REDIRECT, FEEDBACK emission commands with worker response
-
Triple-Layer Memory — Working memory, short-term compression, long-term patterns
-
State machine orchestration — Transition validation with checkpointing
-
Voting-based verification — Belief calibration for quality assessment
-
Semantic communication layer — 10-100x bandwidth reduction
-
Error logging and pattern flagging — Recurring issue detection
-
Claude-native prompts — All commands converted from scripts to prompt-based system
-
2026-02-11: README.md — Major update reflecting all new features: 22 commands (was 20), dream/interpret commands, colony memory inheritance, graveyards, auto-recovery headers, git safety, lint suite, CLAUDE.md-aware command detection, Colony Memory section, restructured Features section
-
2026-02-11: .aether/data/review-2026-02-11.md — Comprehensive daily review report covering 3 colony sessions, 10 achievements, 3 regressions, 5 concerns, 3 debunked concerns, and prioritized recommendations
-
2026-02-12: README.md, CHANGELOG.md — Added /ant-chaos (resilience testing) and /ant-archaeology (git history analysis) commands with build pipeline integration
-
2026-02-12: CHANGELOG.md — added repo-local path migration entry
-
2026-02-12: README.md — Updated to describe repo-local .aether/ architecture; removed global ~/.aether/ runtime references, restructured File Structure section with repo-local paths primary
-
2026-02-13: bin/cli.js, update.md — Added orphan cleanup (syncDirWithCleanup), git dirty-file detection with --force stash, --dry-run preview, hub manifest generation
The following entries are automatically generated by the colony during work phases.
- Files:
aether-utils.sh,CHANGELOG.md - Decisions: Created changelog-append function; Added changelog-collect-plan-data helper
- What Worked: Function works correctly
- Requirements: LOG-01 addressed
- Files:
test.md - Decisions: Test
- What Worked: Works
- Requirements: TEST-01 addressed
- Files:
.aether/aether-utils.sh,tests/bash/test-hive-init.sh,tests/bash/test-hive-read.sh,tests/bash/test-hive-integration.sh,tests/integration/hive-store.test.js,tests/unit/colony-state.test.js - Decisions: Hub-level lock isolation for shared files; Reuse pheromone-write sanitization pattern for user input
- What Worked: hive-init creates wisdom.json; hive-store adds/merges with dedup; hive-read filters by domain; Cross-repo lock fix
- Files:
.aether/aether-utils.sh,tests/bash/test-hive-abstract.sh,tests/bash/test-hive-promote.sh,tests/bash/test-hive-abstraction-pipeline.sh - Decisions: Orchestrator delegation via bash $0; Path stripping regex for abstraction
- What Worked: hive-abstract generalizes text; hive-promote orchestrates pipeline; Multi-repo merge works
- Files:
.claude/commands/ant/seal.md,.opencode/commands/ant/seal.md,tests/bash/test-seal-hive-promotion.sh - Decisions: Use --text and --source-repo for hive-promote API (not --instinct)
- What Worked: Archaeology pre-build scan catches API mismatches; Hive promotion non-blocking in seal ceremony
- Files:
.aether/aether-utils.sh,tests/bash/test-hive-confidence-boost.sh - Decisions: Confidence boosts at 2/3/4+ repo thresholds using max() for never-downgrade
- What Worked: Atomic jq pipelines preserve lock safety; awk for float math follows codebase precedent
- Files:
CLAUDE.md - Decisions: Document all Hive Brain features in CLAUDE.md
- What Worked: Chaos testing docs against code reveals accuracy gaps
- Files:
.aether/aether-utils.sh,CLAUDE.md,.claude/commands/ant/seal.md,.opencode/commands/ant/seal.md - Decisions: Colony sealed at Crowned Anthill; Build the Hive Brain — cross-colony wisdom intelligence layer
- What Worked: 6 phases completed; 16 wisdom proposals promoted to QUEEN.md; Hive Brain fully operational with domain-scoped retrieval and multi-repo confidence boosting
- Files:
.aether/aether-utils.sh,.claude/commands/ant/seal.md,.opencode/commands/ant/seal.md - Decisions: Fix when-when stutter across 4 locations; Fix seal.md jq path .instincts to .memory.instincts; Add instinct-apply subcommand; Fix instinct-create locking bug
- What Worked: Archaeologist pre-scan catches latent bugs; Trap-based locking prevents deadlocks; 549 tests pass
- Files:
.aether/aether-utils.sh - Decisions: Add midden-review subcommand; Add midden-acknowledge subcommand
- What Worked: Midden feedback loop closed; 6 tests pass; Trap-based locking for acknowledge
- Files:
.aether/aether-utils.sh,.aether/utils/hive.sh,.aether/utils/midden.sh - Decisions: Extract hive-* subcommands to hive.sh; Extract midden-* subcommands to midden.sh; Fix limit arg bug in midden-recent-failures
- What Worked: 12004 to 11221 lines (-783); Source-and-delegate pattern proven; 576 tests pass
- Files:
TO-DOS.md,README.md,CHANGELOG.md,CLAUDE.md - Decisions: Audit TO-DOS (11 completed, 10 pending); Update README to v2.0.0; Write CHANGELOG [2.0.0]; Update CLAUDE.md counts
- What Worked: All docs reflect v2.0.0 reality; No stale version references
- Files:
package.json,.aether/version.json - Decisions: Bump version to 2.0.0; Push to hub
- What Worked: 542 tests pass; Package validated; Hub install verified
- Files:
.aether/aether-utils.sh,.aether/utils/hive.sh,.aether/utils/midden.sh,CLAUDE.md,README.md,package.json - Decisions: Colony sealed at Crowned Anthill; Ship-ready Aether v2
- What Worked: 5 phases completed; 22 wisdom proposals promoted; v2.0.0 on hub
- Files:
.aether/utils/skills.sh,.aether/skills/,bin/cli.js,.claude/commands/ant/skill-create.md - Decisions: Colony sealed at Crowned Anthill; Implement Aether Skills Layer — smart-matched colony and domain skills for workers
- What Worked: 5 phases completed; 28 skills created (10 colony + 18 domain); skills.sh engine (502 lines); Build pipeline skill injection; Hub distribution with manifest protection; Colony wisdom promoted to QUEEN.md
- Files:
.aether/utils/oracle/oracle.sh,.aether/.npmignore,bin/cli.js,.claude/commands/ant/oracle.md - Decisions: Colony sealed at Crowned Anthill; Fix oracle.sh distribution to installed repos
- What Worked: 4 phases completed; Oracle tmux launch path fixed; Hub state leak prevented
- Files:
colony-state.template.json,colony-state-reset.jq.template,seal.md,entomb.md,emoji-audit.sh,colony-visuals/SKILL.md,aether-utils.sh,CLAUDE.md - Decisions: Colony sealed at Crowned Anthill v1; Add versioning to seal/entomb lifecycle and enforce consistent emoji usage
- What Worked: 5 phases completed; Colony wisdom promoted to QUEEN.md; 24 new tests added
- Files:
queen.sh,aether-utils.sh,midden.sh,aether-sage.md,test-queen-charter.test.sh,test-midden-bridge.sh,test-aether-utils.sh - Decisions: Colony sealed at Crowned Anthill v2; Fix seal ceremony audit issues
- What Worked: 5 phases completed; 4 instincts promoted to hive; Colony wisdom promoted to QUEEN.md
- Files:
init.md,seal.md,build-prep.md,build-verify.md,build-wave.md,build-context.md,continue-gates.md,continue-verify.md,colony-visuals/SKILL.md - Decisions: Colony sealed at Crowned Anthill; Enforce consistent visual styling across all Aether commands
- What Worked: 5 phases completed; Banners standardized; Spawn announcements unified; Emoji map expanded; Progress bars added
- Files:
tests/bash/test-aether-utils.sh - Decisions: Replace hardcoded dates with dynamic cross-platform computation
- What Worked: Dynamic dates prevent time-based test degradation
- Files:
queen.sh - Decisions: Fix trap composition, JSON escaping, local declarations in queen.sh
- What Worked: Verification passed with 616 tests; Auditor found 3 HIGH pre-existing issues fixed
- Files:
queen.sh - Decisions: Replace sed c-command with head/tail; Add empty-file safety guards; Fix sources and priming flags
- What Worked: head/tail proven safer than sed c on macOS; empty-file guard prevents data destruction
- Files:
init.md,seal.md,entomb.md - Decisions: Lifecycle commands handle colony_version via template system; Command parity maintained across Claude and OpenCode
- What Worked: Verification of init/seal/entomb colony_version handling; Cross-platform seal commit synthesis and push prompts confirmed
- Files:
spawn-tree.sh,spawn.sh,spawn-tree.test.js - Decisions: Replace O(n^2) bash loops with single-pass awk; Add jq validation to wrapper functions; Update test fixtures to 7-field format
- What Worked: awk single-pass parsing eliminates 4000+ subprocess forks; Test fixtures now match production format
- Requirements: spawn-tree.sh, spawn.sh, spawn-tree.test.js addressed
- Files:
.aether/data/AUDIT-REPORT.md - Decisions: audit-report-corrected
- Files:
COLONY_STATE.json,QUEEN.md,learning.sh - Decisions: Colony sealed at Crowned Anthill; Comprehensive audit colony
- What Worked: 6 phases completed; Colony wisdom promoted to QUEEN.md
- Files:
aether-utils.sh,utils/immune.sh,utils/council.sh,utils/midden.sh,utils/session.sh,utils/state-api.sh - Decisions: Colony sealed at Crowned Anthill; Implement next-gen Aether features: immune response, headless autopilot, vital signs, quick scout, council expansion, midden library
- What Worked: 6 phases completed; Colony wisdom promoted to QUEEN.md
- Files:
.aether/utils/spawn-tree.sh,tests/unit/spawn-tree.test.js - Decisions: gsub order is load-bearing for JSON escaping
- What Worked: awk gsub escaping with correct order; TDD with 4 new tests
- Requirements: spawn-tree.sh, spawn-tree.test.js addressed
- Files:
.aether/utils/queen.sh,tests/bash/test-queen-module.sh - Decisions: use ENVIRON[] not awk -v for user content
- What Worked: ENVIRON-based awk approach; head/tail for multi-line replacement; orphan cleanup
- Requirements: .aether/utils/queen.sh addressed
- Files:
.aether/utils/error-handler.sh,.aether/utils/spawn.sh,.aether/aether-utils.sh - Decisions: guard central subcommand plus individual sites
- What Worked: AETHER_TESTING env guard
- Requirements: error-handler.sh, spawn.sh, aether-utils.sh addressed
- Files:
package.json,package-lock.json - Decisions: npm overrides for transitive deps
- What Worked: minimatch; path-to-regexp; picomatch; tar; brace-expansion; diff
- Requirements: package.json addressed
- Decisions: final verification sweep confirms all fixes
- What Worked: midden acknowledgment; full test suite verification
- Files:
.aether/utils/spawn-tree.sh,.aether/utils/queen.sh,.aether/utils/error-handler.sh,.aether/utils/spawn.sh,.aether/aether-utils.sh,package.json - Decisions: Colony sealed at Crowned Anthill; Fix critical midden entries and harden infrastructure
- What Worked: 5 phases completed; Colony wisdom promoted to QUEEN.md
- Files:
.aether/aether-utils.sh - Decisions: context-update now fully jq-safe
- What Worked: 1 remaining raw json_ok fixed
- Requirements: .aether/aether-utils.sh addressed
- Files:
.aether/aether-utils.sh - Decisions: Use jq -nc --arg for all json_ok calls; parallel builder verification catches fabricated completions
- Files:
aether-utils.sh,package.json - Decisions: Use jq --arg for all json_ok sites with user strings
- What Worked: jq --arg escaping; empty-file guard in validate-state
- Requirements: json_ok safe escaping addressed
- Files:
.aether/aether-utils.sh,.aether/utils/flag.sh,tests/bash/test-flag-module.sh,tests/bash/test-state-checkpoint.sh - Decisions: Fixed view-state jq filter injection; Fixed fallback json_err escaping; Converted 14+ json_ok sites to jq --arg
- What Worked: All 509 tests pass; Auditor score 73/100; No critical security issues
- Files:
.aether/utils/hive.sh,tests/bash/test-hive-read.sh,tests/bash/test-learning-recovery.sh - Decisions: Compose null fallback with tonumber to preserve prior type coercion fix
- What Worked: Archaeology pre-build scan prevented regression; Stale grep targets identified by root cause analysis
- Files:
aether-utils.sh,utils/hive.sh,utils/learning.sh,tests/ - Decisions: Colony sealed at Crowned Anthill; hardened ~40 json_ok sites + checkpointing + hive null safety
- What Worked: 5 phases completed; 9 instincts created; 4 hive-eligible
- Files:
build-complete.md,build.yaml,build.md - Decisions: Add Stage Audit Gate to build orchestrators
- What Worked: Pre-synthesis verification gate ensures all stages complete
- What Worked: lint:sync clean; lint clean; 524 tests pass
- Files:
build-complete.md,build.yaml,update-transaction.test.js - Decisions: Colony sealed at Crowned Anthill; Enforce non-skippable build playbook execution and verify exchange fix
- What Worked: 3 phases completed; Colony wisdom promoted to QUEEN.md
- Files:
build-complete.md,state-contract-design.md - Decisions: Deleted wrong test file; Fixed step numbering; Added DATA_DIR exception clause
- What Worked: Swarm parallel audit; Pre-existing quality issues logged
- Files:
trust-scoring.sh,event-bus.sh,aether-utils.sh - Decisions: Stateless calculation module; JSONL event bus with file locking
- What Worked: Parallel builders; Self-registration pattern
- Files:
instinct-store.sh,graph.sh,learning.sh,aether-utils.sh - Decisions: Standalone instinct storage; jq graph traversal; Trust-scored observations
- What Worked: Additive parallel modification
- Files:
nurse.sh,herald.sh,librarian.sh,critic.sh,sentinel.sh,janitor.sh,archivist.sh,scribe.sh,orchestrator.sh - Decisions: 8 curation ants; curation-run orchestrator; Sentinel-first execution order
- What Worked: Parallel core/ops builders; Orchestrator integration
- Files:
consolidation.sh,consolidation-seal.sh,test-e2e-pipeline.sh - Decisions: Lightweight phase-end; Full seal consolidation; E2E integration test
- Files:
structural-learning-stack.md,CLAUDE.md - Decisions: Architecture documentation; Updated component counts; Full test sweep
- Files:
trust-scoring.sh,event-bus.sh,instinct-store.sh,graph.sh,consolidation.sh,curation-ants - Decisions: Colony sealed at Crowned Anthill; Structural Learning Stack complete
- What Worked: 6 phases completed; Colony wisdom promoted to QUEEN.md
- Files:
go.mod,pkg/storage/storage.go,pkg/storage/storage_test.go - Decisions: Go module at github.com/aether-colony/aether; atomic writes via temp+rename; per-path RWMutex for concurrent safety
- What Worked: Parallel builders for independent packages; TDD with race detector
- Requirements: go build, test, vet pass;91.2% coverage;524 npm tests unaffected addressed
- Files:
.aether/utils/trust-scoring.sh,.aether/utils/event-bus.sh
- Files:
learning.sh,instinct-store.sh,graph.sh,test-instinct-store.sh - Decisions: Standalone instinct storage; Backward-compatible trust score migration; jq graph layer for instinct relationships
- What Worked: Trust score integration with learning-observe; Full instinct schema with provenance; Graph link/neighbors/reach/cluster
-
Files:
learning.sh,instinct-store.sh,graph.sh,test-instinct-store.sh,trust-scoring.sh,event-bus.sh -
Decisions: Colony sealed at Crowned Anthill; Structural Learning Stack verified
-
What Worked: 3 phases completed; Colony wisdom promoted to QUEEN.md
-
[2026-04-05] Phase 01, Plan 01: Implement critical Go commands: init, install, setup. All tests passing (11/11 packages).
-
[2026-04-05] Phase 02, Plan 01: Port remaining shell commands to Go: all 141 subcommands now have Go equivalents, build lifecycle restructured as context-update subcommands, binary download added to install
- Updated 4 slash commands (init, lay-eggs, oracle, resume) to use Go binary
- Updated CLAUDE.md for Go-only architecture
- Deleted 168 GSD system files (commands, agents, hooks, manifests, workflows, templates)
- Removed .claude/get-shit-done/ directory
- Removed .planning/ directory with all milestone/phase files
-
444 files changed, ~85,000 lines removed
-
[2026-04-06] Phase 1-exec-timeouts, Plan 01: Phase 1 (Exec Command Timeouts): Converted all 23 bare exec.Command calls to exec.CommandContext with timeout constants (GeneralTimeout 30s, GitTimeout 60s, BuildTimeout 120s). Added timeout tests proving context cancellation kills subprocesses. Files: cmd/timeouts.go, cmd/clash.go, cmd/worktree_merge.go, cmd/context.go, cmd/session_cmds.go, pkg/storage/paths.go
-
[2026-04-06] Phase 2-file-locking, Plan 01: feat(storage): add cross-process file locking with syscall.Flock (pkg/storage/lock.go, lock_test.go, concurrent_test.go, store_locking_test.go; integrated into Store; removed dead sync.Map mutexes)
-
[2026-04-06] Phase 4, Plan 01: feat(cmd): add configurable --timeout flag to eventbus commands, replacing hardcoded 5s values
-
[2026-04-06] Phase 5, Plan 01: Integration Verification: all 5 audit findings verified resolved — race detector clean, go vet clean, binary builds
-
[2026-04-06] Phase seal, Plan 00: Colony sealed at Crowned Anthill — all 5 audit findings resolved, 5 phases completed
-
[2026-04-06] Phase 2, Plan 01: Fix XML archive export: load actual colony data from store/hub for archive exports, add positional arg backward compat to colony-archive-xml. Files: cmd/exchange.go, cmd/alias_cmds.go, cmd/alias_cmds_test.go
-
[2026-04-06] Phase 3, Plan 01: Add seal/milestone/pause/contextual commit types to generate-commit-message
-
[2026-04-06] Phase 4, Plan 01: Fix learning-check-promotion --all flag and learning-promote-auto stub: connected stub to PromoteService.Promote(), added batch mode for check-promotion
-
[2026-04-06] Phase 4, Plan 01: fix(learning): Add --all flag to check-promotion and wire promote-auto to PromoteService
-
[2026-04-06] Phase 4, Plan 01: Fix learning-check-promotion --all and learning-promote-auto stub: Added --all flag for batch eligibility checks, wired promote-auto to PromoteService.Promote() for actual instinct creation
-
[2026-04-07] Phase 1, Plan 01: Fix state-write positional arg rejection: Changed cobra.NoArgs to cobra.MaximumNArgs(1), added JSON validation and flag mutual exclusion, added TestStateWritePositionalArg
-
[2026-04-07] Phase 03, Plan 01: Fix state-mutate bracket notation in expression parser — widened reFieldSet regex, added normalizeBracketPath
-
[2026-04-07] Phase 04, Plan 01: Deprecate dead code (worktree_merge.go, suggest.go) and add silent error logging across 6 active files. -1049 net lines removed, all tests pass.
-
[2026-04-07] Phase seal, Plan 00: Colony sealed at Crowned Anthill v2 — 5 phases completed: state-write positional arg fix, pheromone dedup, state-mutate bracket notation, dead code deprecation + error logging, integration verification
-
[2026-04-07] Phase 5, Plan 05: contextual(phase-05): Replace aether-utils.sh references in 38 documentation, exchange XML, Go source comments, and testdata files with contextual Go binary references
-
[2026-04-07] Phase 06-shell-deprecation, Plan 01: Phase 6: Updated weekly-audit.sh to use Go binary, added DEPRECATED headers to 41 dead shell scripts, ran final grep verification and Go test suite. All phases complete — Crowned Anthill milestone reached.
-
[2026-04-08] Phase 01, Plan 01: Performance Baseline Benchmarks: PRContext ~20.8ms/1989 allocs, ColonyPrime ~266us/921 allocs
-
[2026-04-09] Phase seal, Plan 00: Colony sealed at Crowned Anthill;Tackle the three speed fixes for pheromone injection: eliminate redundant process spawns, centralize validation, and add session-level caching;9 phases completed;Colony wisdom promoted to QUEEN.md
-
[2026-04-12] Phase 10-comprehensive-verification, Plan 01: verification-only: 89 broken CLI calls found across .claude/.opencode dirs, 1207/1207 Go tests pass
-
[2026-04-12] Phase final-cleanup, Plan 11: known-issues.md, pheromones.json, COLONY_STATE.json: Updated documentation, cleaned stale data, verified integrity
-
[2026-04-12] Phase seal, Plan 00: Colony sealed at Crowned Anthill; Fix all ~120 broken CLI calls in markdown; 11 phases completed; Colony wisdom promoted to QUEEN.md
-
[2026-04-14] Phase 1-codex-format-validation, Plan 1: .aether/docs/codex-format-spec.md: Validated AGENTS.md schema, tool names, skill discovery paths from Codex source
-
[2026-04-14] Phase 3-agents-md-project-file, Plan 1: AGENTS.md, .codex/CODEX.md: Created Codex CLI project file and developer guide
-
[2026-04-14] Phase create-hub-packaging-mirror, Plan 5: .aether/skills-codex/ (28 files), .aether/agents-codex/ (24 files), .aether/agents-claude/aether-route-setter.md: Created Codex packaging mirrors
-
[2026-04-14] Phase 6-update-go-install, Plan 01: install_cmd.go, install_cmd_test.go: Added Codex sync pair to install command with hub mirror support
-
[2026-04-14] Phase 7-update-setup-update-commands, Plan 01: cmd/setup_cmd.go, cmd/update_cmd.go, cmd/setup_cmd_test.go, cmd/update_cmd_test.go, .aether/templates/agents-md-template.md: Added Codex sync pairs to setup and update commands, AGENTS.md template generation
-
[2026-04-14] Phase codex-integration, Plan 08: codex_e2e_test.go,package.json: Added 8 E2E tests for Codex sync lifecycle, added .codex/ to npm package files
-
[2026-04-15] Phase 09-documentation-updates, Plan 01: CLAUDE.md, aether-colony.md, source-of-truth-map.md updated with Codex CLI platform support
-
[2026-04-15] Phase codex-integration, Plan 10: Full Verification: all 2712 tests pass, file parity across Claude/OpenCode/Codex, install-setup-update cycle verified, npm pack correct
-
[2026-04-16] Phase seal, Plan 00: Colony sealed at Crowned Anthill;Make Aether work for Codex CLI — research Codex's extension format, create command and agent files, update setup flow, and test end-to-end;10 phases completed;Colony wisdom promoted to QUEEN.md