Skip to content

Latest commit

 

History

History
1110 lines (788 loc) · 84.2 KB

File metadata and controls

1110 lines (788 loc) · 84.2 KB

Changelog

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.

[Unreleased]

Docs

  • AGENTS.md: add Runtime Lifecycle mermaid diagram (under Architecture Overview) and Wisdom Pipeline mermaid diagram (under Wisdom Pipeline). Model-agnostic, shows both in-repo and worktree parallel modes, and contains the skill-match sub-graph.

[1.0.20] - 2026-04-23

Truth recovery and platform parity checkpoint release.

Fixed

  • 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

Known Limitations

  • 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.

[1.0.19] - 2026-04-22

Bootstrap asset-name compatibility for published npm installs.

Fixed

  • the npm bootstrap now requests the real GitHub release archive names (Aether_<version>_<os>_<arch>.tar.gz) instead of the old lowercase aether_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

[1.0.18] - 2026-04-22

Unified release versioning, npm bootstrap publishing, and operator documentation.

Changed

  • 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

Fixed

  • 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

[1.0.17] - 2026-04-21

Shared dispatch-truth completion and recovery continuity across runtime surfaces.

Changed

  • aether status, aether watch, aether resume-dashboard, and print-next-up now reuse the same blocked-recovery guidance instead of falling back to generic aether 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

Fixed

  • blocked phases no longer strand the right redispatch or reconcile command inside the immediate aether continue output
  • 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.2 dispatch-truth and recovery work is now packaged as a clean patch release for cross-repo testing

[1.0.16] - 2026-04-21

Legacy colony-state compatibility hardening for cross-repo updates.

Fixed

  • The shared Go colony-state loader now accepts legacy JSON-encoded array strings for memory.phase_learnings, memory.decisions, and memory.instincts instead of failing at unmarshal time
  • Repos with older COLONY_STATE.json snapshots 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

[1.0.15] - 2026-04-21

Versioning cleanup, cross-platform parity hardening, and restored pheromone visibility.

Changed

  • Claude/OpenCode build and continue wrappers now expose pheromone strength and remaining-life context more clearly while keeping the Go runtime authoritative
  • aether pheromones and aether status now 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

Fixed

  • ant:pheromones no 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.0 baseline together
  • Other repos can consume the latest Aether bundle cleanly after a local install or release update without version-number drift between platform docs

[1.0.14] - 2026-04-18

Codex wrapper rollback with visuals and worker spawning preserved.

Changed

  • 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=visual guidance so the CLI still owns banners, caste visuals, and workflow ceremony

Fixed

  • aether init, aether plan, aether build, aether continue, aether run, and aether seal in 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

[1.0.13] - 2026-04-18

Codex command-class parity restore for colony-shaping commands.

Changed

  • 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 init guidance once again performs a short foundation pass and approval checkpoint before the real colony initialization, matching the older Claude-style experience more closely

Fixed

  • Codex no longer auto-runs colony-shaping commands like init, plan, build, continue, run, and seal as 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 dream is not actually exposed by the binary
  • aether init-research now 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

[1.0.12] - 2026-04-18

Codex command-wrapper simplification and visual no-colony status.

Changed

  • 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

Fixed

  • aether status with 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

[1.0.11] - 2026-04-18

Update error visibility fix.

Fixed

  • JSON error envelopes now preserve structured details, so commands like aether update expose 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

[1.0.10] - 2026-04-18

Colony lifecycle restore and Codex runtime hardening.

Added

  • Real parallel-mode worktree execution for Codex builds, with isolated git worktrees, sync-back, and regression coverage
  • A real aether swarm investigate/fix/verify flow with structured results and worker-wave coverage
  • Legacy colony-state compatibility tests covering paused and broken idle colonies

Changed

  • 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

Fixed

  • aether resume, aether status, and next-step routing now restore older paused colonies into a runnable state instead of dead-ending on PAUSED
  • 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 BUILT phases 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
  • continue can verify a valid build packet from persisted manifest data even when BuildStartedAt is missing

[1.0.9] - 2026-04-17

Codex orchestration hardening, autonomous Oracle execution, and parity-doc cleanup.

Added

  • 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

Changed

  • Codex workflow docs, Claude command wrappers, and OpenCode command wrappers now consistently treat the Go aether CLI as the runtime source of truth
  • OpenCode agent guidance now reports progress and blockers through structured returns instead of legacy .aether/aether-utils.sh helper calls
  • Release CI now enforces stronger validation for the Codex-oriented runtime path and packaging flow

Fixed

  • aether oracle no 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, and update

[1.0.8] - 2026-04-17

Legacy colony-state compatibility and clearer update guidance.

Changed

  • aether update no longer implies that aether status is the required next step when nothing changed
  • Colony load failures now report as state-load errors instead of always collapsing into "No colony initialized"

Fixed

  • Legacy colonies that store plan.confidence as 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

[1.0.7] - 2026-04-17

Codex session-reload guidance for repo setup and updates.

Changed

  • aether setup and aether update now 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

Fixed

  • 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 refreshed AGENTS.md, .codex/CODEX.md, agents, or skills

[1.0.6] - 2026-04-17

Codex repo-update delivery fix for lifecycle orchestration and visual output.

Added

  • Managed .codex/CODEX.md template generation for Aether-enabled repos
  • Regression coverage for Codex project-doc refresh during setup and update

Changed

  • aether setup and aether update now refresh Aether-managed AGENTS.md and .codex/CODEX.md in 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

Fixed

  • 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

[1.0.5] - 2026-04-17

Codex CLI workflow hardening for real updated repos.

Added

  • aether entomb and aether tunnels for sealing follow-through and archived chamber browsing in the Go CLI
  • Regression coverage for entomb, legacy session recovery, and completed-colony status rendering

Changed

  • 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.json mirror from legacy colony-scoped sessions more reliably during update and resume

Fixed

  • Sealed colonies now route to aether entomb consistently 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

[1.0.4] - 2026-04-17

Final release packaging pass for the Codex parity rollout.

Fixed

  • go mod tidy normalization is now committed so goreleaser release --clean no longer fails on a dirty go.mod
  • Release metadata, docs, and hub versioning now point at the final v1.0.4 patch tag for Codex CLI support

[1.0.3] - 2026-04-17

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.

Added

  • Native Codex compatibility commands: aether run, aether watch, and aether oracle
  • Regression coverage for Codex compatibility flows, compact colony-prime worker context, mirror synchronization, and prompt budgeting

Changed

  • Codex workers now receive compact colony-prime context with hive wisdom, user preferences, blockers, decisions, and phase learnings
  • README, AGENTS.md, and .codex/CODEX.md now 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

Fixed

  • 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 for go:embed
  • Full validation stayed clean for release: go test ./..., go vet ./..., and go test ./... -race

[5.3.0] - 2026-03-31

Aether v2.7 — PR Workflow + Stability. Six phases (39-44) adding multi-branch safety, clash detection, and release hardening.

Added

  • Pheromone propagation — Signals flow across git branches via pheromone-snapshot-inject and pheromone-merge-back; worktree creation auto-copies active pheromones
  • Midden collection — Failure records from merged branches collected into main via midden-collect with idempotent dedup; cross-PR pattern detection via midden-cross-pr-analysis; revert-aware tagging via midden-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_create auto-copies colony context (COLONY_STATE.json, pheromones.json) and runs pheromone-snapshot-inject
  • Merge driver.gitattributes merge driver resolves package-lock.json conflicts by keeping "ours" via merge-driver-lockfile.sh
  • Midden wiringmidden-collect and midden-cross-pr-analysis wired into /ant-continue playbooks (non-blocking, follows pheromone merge-back pattern)
  • Interactive installernpx aether-colony now shows a 3-option menu (Full setup / Global only / Repo only) with environment detection and context-sensitive defaults; supports --global, --repo, --yes flags for scripting
  • aether setup command — CLI equivalent of /ant-lay-eggs for setting up Aether in a repo without Claude Code open

Changed

  • Package validationvalidate-package.sh expanded from 15 to 38+ required file entries (100% coverage of packaged utils)
  • NPX installer — Replaced npx-install.js with interactive npx-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)

Fixed

  • Clash detection dispatcherclash-detect.sh and worktree.sh wired into aether-utils.sh dispatcher (source lines, dispatch cases, help JSON)
  • Init command — Clash detection hook verification and read-only worktree list integrated into /ant-init Step 7.6

[2.1.0] - 2026-03-24

Six phases of production hardening (Phases 9-14) targeting reliability, maintainability, and developer experience.

Added

  • 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-plan Step 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

Changed

  • 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

Fixed

  • 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)

[2.0.0] - 2026-03-21

Added

  • 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-apply subcommand — tracks instinct usage with confidence adjustment
  • midden-review subcommand — lists unacknowledged failures grouped by category
  • midden-acknowledge subcommand — 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

Changed

  • 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

Fixed

  • "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

[1.1.11] - 2026-02-26

Fixed

  • midden-recent-failures now reads .entries[] from midden.json instead of querying non-existent .signals[] — builders can finally see past failures

Added

  • instinct-create subcommand 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 constraint now handles feedback type alongside redirect and focus
  • Context-update calls added to Claude Code pheromone commands (focus, redirect, feedback)
  • OpenCode pheromone commands brought to parity with pheromone-write + context-update calls

Changed

  • continue-advance.md instinct extraction simplified to use instinct-create instead of inline JSON
  • learning-promote-auto now also creates instincts from promoted learnings

[1.1.10] - 2026-02-26

Changed

  • lay-eggs is now a pure bootstrap command — sets up .aether/ in a repo from the global hub without starting a colony
  • init now 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

[1.1.5] - 2026-02-23

Added

  • validate-worker-response command 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, and eternal-store commands.
  • 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.

Changed

  • 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 --compact before 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.json extended with spawn_metrics.

Fixed

  • Locked + atomic state writes for critical mutation paths in COLONY_STATE.json handling (error-add, failure event append in spawn-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-expire now promotes high-strength expired signals (>0.8) into eternal memory instead of silently decaying.
  • detectDirtyRepo now preserves porcelain status columns for the first line (prevents staged/unstaged misclassification when parsing git status output).

v5.0.0 — Worker Emergence (2026-02-20)

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.

Added

  • 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 update delivers 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

Fixed

  • 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

Changed

  • .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%

Phases Shipped

  • 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)

Removed

  • Old planning phases 10-19 archived to docs/plans/ (completed phases)
  • Orphaned worktree salvage files moved to docs/worktree-salvage/

v4.0.0 -- Distribution Simplification

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.

Changed

  • .aether/ is now directly included in the npm package (private dirs excluded by .aether/.npmignore)
  • bin/validate-package.sh replaces bin/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 update uses syncAetherToRepo (exclude-based) for all system file distribution
  • All three distribution paths (system files, commands, agents) unified in setupHub()

Removed

  • runtime/ staging directory — eliminated entirely
  • bin/sync-to-runtime.sh — replaced by validation-only script
  • SYSTEM_FILES allowlist arrays in cli.js and update-transaction.js
  • copySystemFiles() and syncSystemFilesWithCleanup() functions

Added

  • bin/validate-package.sh — pre-packaging validation with --dry-run mode
  • Private data exposure guard — blocks packaging if .npmignore doesn't cover private dirs
  • Migration message for users upgrading from v3.x
  • npm pack --dry-run recommended for verifying package contents

Fixed

  • ISSUE-004: Template path hardcoded to runtime/ — resolved by eliminating runtime/ entirely

Migration

  • Run npm install -g aether-colony to get v4.0
  • Your colony state and data are unaffected
  • The only change is how the package is built — distributed content is identical

[3.1.5] - 2026-02-15

Fixed

  • Agent Type Correction — Changed all occurrences of subagent_type="general" to subagent_type="general-purpose" across all command files. The error "Agent type 'general' not found" was occurring because the correct agent type name is general-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)

[3.1.4] - 2026-02-15

Fixed

  • 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)

[3.1.3] - 2026-02-15

Fixed

  • 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-update calls 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)

[3.1.2] - 2026-02-15

Fixed

  • Swarm Display Integration in Build Command — The visualization system was fully implemented but never integrated into /ant-build. Added swarm-display-init at build start, swarm-display-update calls when spawning builders/watchers/chaos ants, progress updates when workers complete (updating to 100% completion), and final swarm-display-render at 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-render command to aether-utils.sh that executes the visualization script to render the current swarm state to terminal. (.aether/aether-utils.sh)

Changed

  • OpenCode Build Command Parity — Synchronized OpenCode build.md with Claude version: added --model flag support, proxy health check (Step 0.6), colony state loading (Step 0.5), and full swarm display integration. (.opencode/commands/ant/build.md)

[3.1.1] - 2026-02-15

Fixed

  • Missing Visualization Assets — Added .aether/visualizations/ directory to npm package files array. The ASCII art anthill files required by /ant-maturity command 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 UpdateTransaction to sync visualization files from hub to repos during aether update. Added HUB_VISUALIZATIONS constant and visualization sync result tracking. (bin/lib/update-transaction.js)

Changed

  • Version bump to 3.1.1 to trigger fresh installs with visualization assets. (package.json)

[Unreleased]

Added

  • Session Freshness Detection System — Global system to prevent stale session files from silently breaking Aether workflows. Implements session-verify-fresh and session-clear commands 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 with survey-verify-fresh and survey-clear wrappers. 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-resurvey flag, stale survey detection, and verification
    • /ant-oracle — Added --force flag, 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

Fixed

  • 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, with runtime/ auto-populated by bin/sync-to-runtime.sh during 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)

Changed

  • 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)

Fixed

  • 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)

Added

  • 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)

Verified

  • 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).

Verified

  • Phase 5: Path Localization Complete — Full-repo audit confirmed zero actionable ~/.aether/ or ~/.config/opencode/ references in commands, scripts, or CLI. Remaining 4 $HOME/.aether references in aether-utils.sh are intentional hub/registry functions for multi-repo management. generate-commands.sh check passes (25/25 in sync, SHA-1 checksums verified). aether-utils.sh smoke 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.

Changed

  • 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/.aether references to repo-local $DATA_DIR paths in learning-promote, learning-inject, error-flag-pattern, error-patterns-check, signature-scan, and signature-match functions. Fixed atomic-write.sh $HOME/.aether/utils fallback to use SCRIPT_DIR-based resolution. Updated usage comment headers in all .sh files. Applied to both .aether/ and runtime/ 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-Awaregenerate-commands.sh check now 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)

Verified

  • 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.

Fixed

  • 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)

Changed

  • Phase 4: Clean Up Global ~/.aether/ — Removed unrelated LIGHT_MODE_TRANSPARENCY_TEST.md from global ~/.aether/, adopted orphaned progressive-disclosure.md into repo at both .aether/docs/ and runtime/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 orphan ant.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 from ant:*.md to bare *.md names to match .claude/commands/ant/ convention. OpenCode uses frontmatter name: field for command resolution, so filenames are cosmetic. npm run lint:sync now 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_count and archaeologist_count to spawn_metrics and archaeology field to synthesis JSON. (.claude/commands/ant/build.md, .opencode/commands/ant/ant-build.md)

Added

  • Phase 2: /ant-chaos command — 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-archaeology command — 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) and get_caste_emoji (🎲 and 🏺) in both .aether/aether-utils.sh and runtime/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-level lint scripts 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-message utility 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 commit to git stash push --include-untracked, standardized checkpoint naming under aether-checkpoint: prefix, added label parameter to autofix-checkpoint in 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 - Name after /clear. status.md has Step 1.5 with extended format including last activity timestamp. build.md, plan.md, continue.md show brief one-line context. resume-colony.md documents the tiered pattern. (status.md, build.md, plan.md, continue.md, resume-colony.md)
  • Ant Graveyardsgrave-add and grave-check commands in aether-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-continue now appends a changelog entry for each completed phase under ## [Unreleased]. (continue.md)
  • Colony memory inheritance/ant-init now reads the most recent completion-report.md (if it exists) and seeds the new colony's memory.instincts with 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 IMPLEMENTED headers to .planning/git-staging-tier3.md and .planning/git-staging-tier4.md to prevent confusion with implemented features. (git-staging-tier3.md, git-staging-tier4.md)
  • /ant-interpret command — 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-dream command — 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-help command — Renamed from /ant-ant with 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

Changed

  • Checkpoint messaging — Now suggests actual next command (e.g., /ant-continue or /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.sh show 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)

Fixed

  • Output appears before agents finishbuild.md now enforces blocking behavior; Steps 5.2, 5.4.1, and 5.6 wait for all TaskOutput calls before proceeding
  • Command suggestions use real phase numbersstatus.md, continue.md, plan.md, and phase.md calculate actual phase numbers instead of showing template placeholders
  • Progressive disclosure UI — Compact-by-default output with --verbose flag; status.md (8-10 lines) and build.md (12 lines) default to compact mode

[1.0.0] - 2026-02-09

First Stable Release

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.

Added

  • 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.json with 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.sh utility 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/

Architecture

  • 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.md for all caste disciplines

[Pre-1.0] - 2026-02-01 to 2026-02-08

Development releases (versions 2.0.0-2.4.2) building toward stable release. Key milestones:

2026-02-08

  • 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

2026-02-07

  • True emergence system — Worker-spawns-worker architecture
  • Verification gates — Worker disciplines enforced
  • v1.0.0 release prep — Auto-upgrade from old state formats

2026-02-06

  • State consolidation (v2.0 → v3.0) — 5 state files merged into single COLONY_STATE.json
  • State migration commandant:migrate-state for upgrading existing colonies
  • Signal schema unification — TTL-based signal filtering replacing decay system
  • Command trim — Reduced status.md from 308 to 65 lines, signal commands to 36 lines each, aether-utils.sh from 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

2026-02-05

  • NPM distribution — Global install via npm install -g
  • Global learning systemlearning-promote and learning-inject for 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

2026-02-04

  • Auto-continue mode--all flag 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

2026-02-01 to 2026-02-03

  • 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


Colony Work Log

The following entries are automatically generated by the colony during work phases.

2026-02-21

Phase 37 — Plan 02

  • 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

Phase 37 — Plan 99

  • Files: test.md
  • Decisions: Test
  • What Worked: Works
  • Requirements: TEST-01 addressed

Phase 0 — Plan

2026-03-20

Phase 0 — Plan 01

  • 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

Phase 0 — Plan 01

  • 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

Phase 04 — Plan 01

  • 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

Phase 05 — Plan 01

  • 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

Phase 06 — Plan 01

  • Files: CLAUDE.md
  • Decisions: Document all Hive Brain features in CLAUDE.md
  • What Worked: Chaos testing docs against code reveals accuracy gaps

Phase 0 — Plan 00

  • 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

2026-03-21

Phase 0 — Plan 01

  • 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

Phase 0 — Plan 01

  • 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

Phase 0 — Plan 01

  • 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

Phase 0 — Plan 01

  • 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

Phase 0 — Plan 01

  • 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

Phase 0 — Plan 00

  • 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

2026-03-22

Phase 0 — Plan 00

  • 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

2026-03-23

Phase 0 — Plan 00

  • 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

2026-03-27

Phase 0 — Plan 00

  • 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

Phase 0 — Plan 00

  • 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

Phase 0 — Plan 00

  • 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

2026-03-28

Phase 0 — Plan 01

  • 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

Phase 2 — Plan 01

  • 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

Phase 0 — Plan 01

  • 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

2026-03-29

Phase 4 — Plan 01

  • 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

Phase 0 — Plan 06

  • 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

Phase 7 — Plan 01

  • Files: .aether/data/AUDIT-REPORT.md
  • Decisions: audit-report-corrected

Phase 0 — Plan 00

  • 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

2026-03-30

Phase 0 — Plan 00

  • 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

Phase 1 — Plan 01

  • 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

Phase 2 — Plan 01

  • 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

Phase 3 — Plan 01

  • 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

Phase 4 — Plan 01

  • 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

Phase 5 — Plan 01

  • Decisions: final verification sweep confirms all fixes
  • What Worked: midden acknowledgment; full test suite verification

Phase 0 — Plan 00

  • 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

Phase 1 — Plan 01

  • 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

Phase 03 — Plan 01

  • Files: .aether/aether-utils.sh
  • Decisions: Use jq -nc --arg for all json_ok calls; parallel builder verification catches fabricated completions

Phase 2 — Plan 01

  • 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

Phase 3 — Plan 01

  • 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

Phase 05 — Plan 01

  • 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

Phase 0 — Plan 00

  • 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

2026-03-31

Phase 0 — Plan 01

  • 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

Phase 3 — Plan 01

  • What Worked: lint:sync clean; lint clean; 524 tests pass

Phase 0 — Plan 00

  • 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

Phase 1 — Plan 01

  • 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

2026-04-01

Phase 2 — Plan 01

  • 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

Phase 3 — Plan 01

  • 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

Phase 4 — Plan 01

  • 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

Phase 5 — Plan 01

  • Files: consolidation.sh, consolidation-seal.sh, test-e2e-pipeline.sh
  • Decisions: Lightweight phase-end; Full seal consolidation; E2E integration test

Phase 6 — Plan 01

  • Files: structural-learning-stack.md, CLAUDE.md
  • Decisions: Architecture documentation; Updated component counts; Full test sweep

Phase 0 — Plan 00

  • 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

Phase 0 — Plan 01

  • 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

Phase 0 — Plan 02

  • Files: .aether/utils/trust-scoring.sh, .aether/utils/event-bus.sh

Phase 3 — Plan 03

  • 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

Phase 0 — Plan 00

  • 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

[2026-04-05] - Phase 3: Update Commands and Remove GSD

Changed

  • Updated 4 slash commands (init, lay-eggs, oracle, resume) to use Go binary
  • Updated CLAUDE.md for Go-only architecture

Removed

  • 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

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