Skip to content

Releases: ztxtech/aion

v0.7.3

Choose a tag to compare

@ztxtech ztxtech released this 18 Jun 16:10

v0.7.3 — Subagents now load skills on demand

Subagents (requirements-analyst, information-collector, coder, ts-critic, c-critic) now have direct access to the skill tool. Instead of the main agent pre-loading all skill content and stuffing it into dispatch prompts, subagents call skill(name="...") themselves on demand. This keeps the main agent's context clean and lets each subagent load exactly what it needs.

Changes

  • feat(agents): Grant skill tool to all 5 subagents
  • feat(hooks): Update system-transform guidance to instruct main agent to not pre-load skills
  • feat(prompts): Add skill to Available AION Tools table in all agent prompts
  • docs(readme): Remove v0.7.2 news entry (patch release, not a news item)

v0.7.2

Choose a tag to compare

@ztxtech ztxtech released this 18 Jun 15:22

v0.7.2 — Skills install + G1 hard-throw on phase=done

Highlights

  • aion-ts init ships the 17 AION skills. Previously the installer copied the plugin bundle, theme, and aion.jsonc, but not the .opencode/skills/ directory. The system prompt still told the LLM that brain-storm, time-series, critic-loop, plan, etc. were available, so the LLM would call Skill "brain-storm", get "no such skill" back, and silently fall back to doing the brainstorm work inside its own narrative. The installer now copies the full skills dir, the release tarball bundles it, and dev-install.sh pushes it to ~/.local/lib/aion/skills/.
  • G1 hard-throws on phase=done. When c-critic returns approve-stop, phase becomes done (terminal, empty LEGAL_EDGES). The previous G1 check was a soft warn, so the main agent could keep dispatching workers after closeout and the loop spun on orphan work. G1 now blocks any task() dispatch from done with a clear error message, forcing the agent to write the final summary and end the turn.

What changed (since v0.7.1)

  • fix(install): copy 17 AION skills into target .opencode/skills/ (2e3dd54)
  • fix(scheduling): G1 hard-throws on any dispatch in phase=done (a0d29f0)
  • chore(release): bump to v0.7.2 (30ff2c4)

Install

# Fresh install
curl -fsSL https://raw.githubusercontent.com/ztxtech/aion/master/scripts/install.sh | bash
aion-ts init <your-project-dir> --force
# Upgrade an existing v0.7.x project — re-run init with --force to pick up the new skills
aion-ts init <your-project-dir> --force

v0.7.1

Choose a tag to compare

@ztxtech ztxtech released this 18 Jun 13:59

v0.7.1 — Team mode removed, TUI todo sync hardened

Highlights

  • Team mode removed. The parallel multi-agent runtime (1 lead + up to 8 members, mailbox + tasks + tmux visualization) is gone. The plugin now ships one execution model: the serial-loop state machine — requirements-analyst → information-collector → coder, each worker sandwiched between ts-critic pre- and post-reviews. Removes ~2.5k lines and 14 tools (tool count: 34 → 20).
  • TUI todo list auto-syncs. The previous sync was a two-step chain (aion_todo_update → next-turn reminder → todowrite) that the LLM could trivially skip. Now system-transform parses todo-map.md every turn, compares with the last todowrite timestamp, and — whenever the on-disk map is ahead of the right panel — injects a mandatory sync reminder that includes the exact todowrite JSON payload. The LLM copy-pastes it.

What changed

  • refactor(plugins): remove team mode — serial-only execution (392dd4c)
  • fix(hooks): surface TUI todo drift with payload-bearing sync reminder (8e2eb05)
  • chore(release): bump to v0.7.1 (8ffdf00)

Install

curl -fsSL https://raw.githubusercontent.com/ztxtech/aion/master/scripts/install.sh | bash
aion-ts init <your-project-dir> --force

Or from the local tarball:

bash scripts/install.sh --local release/aion-plugin-0.7.1.tar.gz

v0.6.0

Choose a tag to compare

@ztxtech ztxtech released this 16 Jun 02:57

v0.6.0 — Serial-Loop Scheduling + Critic Dispatch Fix

Minor release. Two architectural changes plus a critical bug fix.

What changed

1. Serial-loop scheduling model (replaces parallel fan-out).

The dispatch model is now an explicit state machine instead of the old
"aggressive parallel fan-out" pattern. The main chain is single-line:
requirements-analyst -> information-collector -> coder, with
ts-critic reviewing BEFORE and AFTER every worker, and c-critic
as the final gate.

  • New module src/scheduling/state-machine.ts holds the legal dispatch
    edges, per-worker pre/post-review progress, a reportback parser, and a
    Mermaid state diagram for system-prompt injection.
  • Three enforcement hooks in tool.execute.before:
    • G1 — dispatch edge check. Flags any dispatch not on a legal
      edge from the current phase. Worker first-dispatch also requires a
      prior ts-critic pre-review.
    • G2 — main-agent work-guard. Soft-warns (trace + toast, no
      throw) when the main agent edits project source or runs
      code-modifying bash. Emergency self-fix exception preserved.
    • G3 — reportback parser. Extracts next_call and
      unresolved_issues from worker free-text output. Stored in
      governance state and re-injected on every subsequent round so the
      main agent cannot drop them.
  • R5 escalation: if a pending next_call is ignored for >= 2 rounds,
    G1 upgrades from soft-warn to hard throw to force compliance.
  • Parallelism is now scoped to INSIDE a single worker (e.g. coder
    runs 3 method families concurrently). Cross-worker fan-out is
    explicitly disallowed.

2. aion_critic_dispatch was a no-op — fixed.

The aion_critic_dispatch tool was advertised as "the ONLY sanctioned
way to call a critic" but its execute() only wrote a trace event and
returned a JSON instruction payload. It never actually dispatched the
critic subagent. The main agent would call it, see a success return,
write "dispatched DISP-xxx, in flight" to progress.md, and then idle —
thinking the critic was running when nothing was happening.

Observed in trace during demo run 2026-06-15:

17:53:13 critic.review          (aion_critic_dispatch called)
17:53:26-33 main agent writes progress + decisions
17:53:39 session.idle           (NO reportback.received, NO critic.verdict)

Fix:

  • Tool description now explicitly says "DOES NOT dispatch the critic".
  • Return payload includes status=PAYLOAD_READY_NOT_DISPATCHED and a
    next_action_required field telling the main agent to call
    task(subagent_type=<critic>, ...) in the SAME turn.
  • All phase hints (session-idle.ts, system-transform.ts,
    aion/default.md) updated with the explicit two-step flow:
    1. aion_critic_dispatch(...) to prepare payload.
    2. task(subagent_type=<critic>, ...) to ACTUALLY RUN it.

3. i18n cleanup — removed all Chinese from source and tests.

Per AGENTS.md requirement: all prompts and source code must be in
English. LLMs can read Chinese user input fine — hardcoded Chinese
keywords in the source are unnecessary and violate the constraint.
Removed Chinese keywords from intent.ts, chat-message.ts, and the
matching test files. 49 keyword strings / test cases replaced with
English equivalents that cover the same semantic space.

4. Tooling.

  • scripts/dev-install.sh: removed hardcoded user-specific path from
    the printed instructions; added AION_PROJECT_DIR env var support
    for a ready-to-paste workflow command.
  • .gitignore: added AGENTS.md (local personal-preference doc).

Upgrade

curl -fsSL https://raw.githubusercontent.com/ztxtech/aion/dev/scripts/install.sh | bash -s -- --force

Full diff

  • src/scheduling/state-machine.ts — new state machine module
  • src/hooks/tool-guard.ts — G1/G2/G3 hooks
  • src/hooks/system-transform.ts — Mermaid injection, R4/R5 signals
  • src/hooks/session-idle.ts — phase hints rewritten for serial model
  • src/tools/critic.ts — fix aion_critic_dispatch no-op
  • src/prompts/agent-prompts/aion/default.md — serial rules
  • src/prompts/governance.ts — Serial-Loop Scheduling section, next_call mandatory
  • src/prompts/rules.ts — top-priority command 5/6 rewritten
  • src/create-managers.ts — pendingNextCall + escalation state
  • src/hooks/intent.ts, src/hooks/chat-message.ts — Chinese removal
  • scripts/dev-install.sh — generalized path
  • .gitignore — AGENTS.md
  • package.json — version 0.5.3 -> 0.6.0
  • Tests: +39 new (scheduling + G1/G2/G3 hook integration)

v0.5.3

Choose a tag to compare

@ztxtech ztxtech released this 15 Jun 17:07

v0.5.3 — Quieter TUI, faster dev iteration

Patch release. Two small quality-of-life fixes.

What changed

1. Memory files no longer trigger a "dedup" warning.

The tool.execute.before dedup guard fires when the same tool is called with the same arguments within a 3-second window. It is a soft hint — the call is allowed through, the trace event is recorded, and the LLM is supposed to notice and move on.

In practice two things made it louder than it should have been:

  • .opencode/memory/*.md are persistent state stores that the runtime is designed to re-read. negative.md gets re-checked by information-collector on every evidence-collection round, progress.md and todo-map.md get re-read by every sub-agent. None of those re-reads is a no-op loop.
  • The soft hint was logged at warn() level. OpenCode TUI surfaces console.warn as a purple warning toast, which made the line look like a hard error to humans and to the LLM.

Fix:

  • Skip dedup entirely for reads of .opencode/memory/*.md. Re-reads of state files are not a no-op signal.
  • Drop the soft-hint log level from warn() to info(). The message is a hint, not an error. The trace event (dedup.rejected) is unchanged, so postmortem tooling still has the signal.

2. scripts/dev-install.sh for local dev iteration.

scripts/install.sh downloads the released tarball and installs it under ~/.local/. That is right for end users but inconvenient for plugin development: editing src/ and re-running aion-ts init <dir> --force does not pick up the local build, because aion-init.js resolves its bundle from ~/.local/lib/aion/aion.js (see bin/aion-init.js:194), not from the source repo.

The new script is the dev counterpart:

# in the source repo, after editing src/
bash scripts/dev-install.sh

# then redeploy the bundle into the test project
aion-ts init /path/to/project --force

What it does:

  • Runs bun run build:singlefile (skippable with --skip-build)
  • Pushes the bundle, the theme, and aion-init.js to ~/.local/lib/aion/
  • aion-ts init <dir> --force then copies the freshly built bundle into <dir>/.opencode/plugins/

Override the target dir with --lib-dir <path>.

Upgrade

curl -fsSL https://raw.githubusercontent.com/ztxtech/aion/dev/scripts/install.sh | bash -s -- --force

Full diff

  • src/hooks/tool-guard.ts:165 — memory-file dedup exemption + log-level downgrade
  • test/unit/hooks.test.mjs:286 — new skips dedup for memory file reads case
  • scripts/dev-install.sh — new dev push script
  • package.json — version bump to 0.5.3
  • README.md / README.zh-CN.md — News entry

v0.5.2

Choose a tag to compare

@ztxtech ztxtech released this 14 Jun 12:42

v0.5.2 — Contract-Driven Leakage Gate

What changed

The leakage gate used to hard-code a path-based denylist (/(test|val|holdout|hidden|private)/ for tabular files) that over-blocked legitimate reads. In particular, data/train.csv and data/test.csv were blocked even when the task was "predict test.csv sales" — exactly the file the agent needs to read.

The source of truth is now the Task Contract that requirements-analyst writes. The hook and the explicit aion_leakage_check tool enforce it.

Four layers, one source of truth

Layer 1 — hard-coded (always on):

  • Credentials / secret paths: .env, .pem, .key, /secrets/
  • AWS / private-key / password-assignment content patterns
  • Internal AION agent prompts (.opencode/agents/*.md) — anti-extraction

Layer 2 — contract-driven (new in v0.5.2):
Read from aion.jsonc → leakage.dataBoundaries, populated by requirements-analyst:

  • forbiddenReads: glob list; matching path is blocked
  • allowedReads: when NON-EMPTY, allowlist mode (anything not matching is blocked)
  • internetAccess: when false, network calls are blocked
  • runtimeHosts: optional HTTPS host allowlist
  • labelColumns: columns that MUST NOT appear in feature files

Layer 3 — hook-level (separate): project-root boundary, bash command patterns (rm -rf, git push, etc.).

Layer 4 — ts-critic submission review (new in v0.5.2): three mandatory checks before allow-stop:

  1. Submission column-name match against contract section 4
  2. Training-pipeline import-graph audit (every pd.read_csv / open / load_dataset checked against forbidden_reads)
  3. Holdout-set access audit (classify every file the pipeline opens; hidden / ground_truth / leaderboard = violation)

Prompt changes

  • requirements-analyst: Task Contract schema now has 8 sections (added Data Boundaries with allowedReads / forbiddenReads / internetAccess / runtimeHosts / labelColumns / source).
  • ts-critic: new Submission Leakage Review HARD GATE section with the 3 mandatory checks.

Migration

Existing user aion.jsonc files keep loading — blockHiddenSetAccess / blockPrivateData flags are now no-ops kept for compatibility. To re-enable hidden-set blocking, set:

{
  "leakage": {
    "dataBoundaries": {
      "forbiddenReads": ["data/holdout/**", "**/private_labels.*"]
    }
  }
}

Tests

  • 584/584 tests pass, typecheck clean.
  • 37 leakage tests (contract-driven + credentials + project-root).
  • 5 coverage tests updated to the new model.

Files

  • aion-plugin-0.5.2.tar.gz — 280 KB
  • Source: master branch at commit 773e91b

Upgrade

curl -fsSL https://raw.githubusercontent.com/ztxtech/aion/master/scripts/install.sh | bash -s -- --force --version 0.5.2

v0.5.1

Choose a tag to compare

@ztxtech ztxtech released this 14 Jun 09:05

v0.5.1 — Hard Role Boundaries + Reception Contracts

Highlights

This release codifies role discipline across the multi-agent system. The main agent (aion) is now explicitly an orchestrator, not a worker. Leaf workers (coder / information-collector / requirements-analyst) now have Reception Contracts so dispatched tasks land in a predictable shape.

What's New

aion (main agent) — Hard Role Boundaries (HARD GATE)

The main agent prompt gains a new section that explicitly forbids:

  • Direct file editing (no edit / write / sed / awk for code modification)
  • Direct debugging (no reading stack traces or code paths to "narrow down" a bug)
  • Direct experiment building (no Python/TS/shell scripts)
  • Direct evidence collection (no aion_hf_*, no web search/fetch)
  • Direct requirement extraction (no contract writing)

A "temptation checklist" runs before every tool call: is this dispatch, integration, governance, or work? If work, dispatch via task. A 5-part dispatch prompt minimal contract (goal, symptom, constraints, reception contract, skill binding) is now mandatory.

A single narrowly-scoped emergency self-fix exception exists (main agent broken → cannot dispatch; fix < 10 lines; must immediately dispatch follow-up verification). Any agent taking this exception twice in one run is a structural signal to file a follow-up to add the missing capability.

coder — Reception Contract (Diagnose → Patch → Verify → Report)

Coder's intake is now codified as a 4-phase protocol:

  1. Diagnose — read symptom verbatim, locate source of truth on disk, cap at 5 files, write 3-bullet diagnosis
  2. Patch — minimum fix, no refactoring; bail (re-dispatch as build) if >3 files / >50 lines / new public API
  3. Verify — full test suite + build + typecheck
  4. Report — diff summary, root cause, verification, risk notes, follow-up, memory append

information-collector & requirements-analyst — Reception Contracts

IC declares its axes-decomposition (≥5 axes, primary+secondary sources, confidence tiers) and reformulation trail. RA declares its mandatory 7-step ordering (Hardware Probe → data probe → goal extraction → constraints → acceptance → risk → Compute Budget Reality Check verdict).

Tests

  • 19 new role-boundary tests in test/unit/role-boundaries.test.mjs covering: forbidden actions in main agent, allowed actions in main agent, leaf-worker reception contracts, no-Chinese invariant, subagent structure.
  • 574/574 tests pass, typecheck clean.

Upgrade

# In your project:
curl -fsSL https://raw.githubusercontent.com/ztxtech/aion/dev/scripts/install.sh | bash -s -- --force --version 0.5.1

Files

  • aion-plugin-0.5.1.tar.gz — 276 KB
  • Source: dev branch at commit 449f50b

v0.5.0

Choose a tag to compare

@ztxtech ztxtech released this 14 Jun 07:58

AION v0.5.0 — Hugging Face Datasets Integration + Ablation/SHAP Hard Gates + Session-Start Fix

New tools (4, zero-dependency, public HF Hub REST API)

  • `aion_hf_search` — text search with optional modality / task_categories filter; 24h cache under `.opencode/hf-cache/`
  • `aion_hf_info` — full dataset card + siblings + configNames + splits
  • `aion_hf_ingest` — writes `data/aion-dataset-manifest.json` + a per-dataset Python loader.py
  • `aion_hf_suggest` — tiered search (goal + keywords) with ranking score

CLI

  • `aion-ts datasets search|info|ingest|suggest` subcommand mirrors the tools
  • Flags: `--limit`, `--modality`, `--keywords`, `--goal`, `--top-k`, `--split`, `--workspace`, `--no-cache`

Prompt hardening (rules.ts)

  • Ablation is the SOLE arbiter of "best method" HARD GATE — any "X is best" claim MUST be backed by a config-level ablation matrix (c-critic rejects anecdotal/single-seed/leaderboard-only claims). Software-engineering analogue of the controlled-variable method.
  • Beyond p-value: complementary analysis battery HARD GATE — after significance + bootstrap CI, MUST also run SHAP (or equivalent feature attribution), residual structure diagnosis, drift analysis, and sensitivity analysis. Skipping any is a ts-critic blocker.

Prompt additions

  • information-collector: Review/Survey suffix, Benchmark/Leaderboard suffix, Repository-pattern suffix, Failure-mode prefix, Workshop pivot, HuggingFace full protocol, mandatory pre-quit reformulation checklist.
  • requirements-analyst: Hardware Probe step + Compute Budget Reality Check section in Task Contract. Probes CPU/RAM/GPU/disk/OS limits/Python stack/HF Hub reachability BEFORE the contract is emitted so unrunnable methods are flagged at intake, not 30 minutes into training.

Bug fix: session-start question was silently skipped

  • Symptom (trace evidence): `language = en (source: config-default)` and `interactive mode = autonomous (source: config-default)` fired on the very first event, meaning the user was NEVER asked about language or interactive mode.
  • Root cause: `src/hooks/system-transform.ts` resolved the language + interactive-mode state to config-default on round 1 IMMEDIATELY, then injected an "AUTO-RESOLVED" message telling the LLM "don't ask the user, mode is already resolved." The LLM obeyed and never called the `question` tool.
  • Fix: round 1 with unset state now injects a MANDATORY `ASK THE USER NOW` directive and does NOT resolve. Round > 1 still unset = LLM skipped the question, then we fall back to config-default. This makes the session-start question actually fire on a well-behaved LLM while keeping config as a true fallback, not the primary path.

Other bug fixes (uncovered by 37 new unit tests)

  • `inferModality`: now strips `modality:` / `task_categories:` namespace prefix from HF tags so `modality:time-series` is recognized.
  • `encodeDatasetId`: `encodeURIComponent` on owner/name was percent-encoding the slash; HF API treats `/` as a path separator. Now per-segment encoding.
  • `hfFetch`: 4xx errors were being retried like 5xx because the catch-all block had no HTTP-vs-network distinction. Added `HFHttpError` class; only network-layer failures (abort, ECONNRESET, TypeError) are retried.
  • `ctx.directory` + `args.workspace_root` fallbacks for direct `execute()` calls (zod defaults not applied at the tool layer).

Docs

  • README.md / README.zh-CN.md: News entry, Tools-34 badge, new "Tools" section with ablation/SHAP hard-gate callouts, `aion-ts datasets` CLI reference.
  • docs/index.html: Quick Start refreshed to one-command install (no more `git clone`); added component cards for 34 Tools, Hugging Face Integration, Ablation & Statistical Rigor.

Tests

  • 37 new unit tests in `test/unit/hf-datasets.test.mjs`
  • 555/555 tests pass
  • typecheck clean

Install

```bash

Latest (resolves to v0.5.0 once GitHub API cache refreshes):

curl -fsSL https://raw.githubusercontent.com/ztxtech/aion/dev/scripts/install.sh | bash -s -- --force

Pinned (recommended if your IP is rate-limited):

curl -fsSL https://raw.githubusercontent.com/ztxtech/aion/dev/scripts/install.sh | bash -s -- --force --version 0.5.0

Local tarball (fully offline):

bash scripts/install.sh --local release/aion-plugin-0.5.0.tar.gz
```

Upgrade from v0.4.0

No breaking changes. The new `hfDatasets` config block defaults to enabled; add it explicitly to `.opencode/aion.jsonc` only if you want to tune cache TTL or disable the tools.

AION Plugin v0.4.0

Choose a tag to compare

@ztxtech ztxtech released this 14 Jun 04:08

AION Plugin v0.4.0

Mandatory Statistical Analysis

All statistical analysis is now mandatory, not optional:

  • Multi-seed (≥3 seeds) with variance reporting — no single-seed conclusions accepted
  • Significance tests (paired t-test or Wilcoxon signed-rank) with p-value and effect size
  • Confidence intervals (bootstrap, ≥1000 resamples) for the main metric
  • SHAP / feature attribution, residual diagnosis, failure cases, AND statistical tests — all required, not substitutable

Multi-Hypothesis Statistical Comparison

When ≥2 method routes survive to evaluation, they MUST be compared as a battery:

  • Same eval split, same seeds
  • Pairwise significance tests with multiple-comparison correction (Holm-Bonferroni or Benjamini-Hochberg)
  • Aggregated result table with mean ± CI per method

Pareto-Optimal Delivery

When methods are non-dominated (e.g., accuracy vs. latency vs. cost), ALL non-dominated methods must be delivered — not just one "recommended". Includes a Pareto front plot and per-method trade-off cards.

Language Selection

Session start now asks a second question about language:

Option Behavior
English English everywhere (default)
Chinese reasoning + English delivery Chinese interaction/reasoning, English code/reports
Chinese delivery Chinese throughout
Bilingual Both Chinese and English delivery

TUI notifications (I AM AION toasts) always stay in English regardless of language mode.

Coder Two-Phase Development

Phase Style Requirements
Phase 1: Rapid Prototyping Quick-and-dirty, speed-first No unit tests, no SHAP, scratch/ OK
Phase 2: Engineering Hardening Production quality Clean rewrite, comments, unit tests, docs, ztxexp boundaries, SHAP, statistical analysis

The main agent or ts-critic triggers the phase transition. The coder does not decide alone.

ts-critic allow-stop checklist (expanded)

5 new mandatory items:
7. Multi-seed (≥3) variance reported
8. Significance test with p-value and effect size
9. Bootstrap CI reported
10. Pairwise significance battery (if ≥2 routes survived)
11. Pareto delivery (if methods are non-dominated)

Install / Upgrade

curl -fsSL https://raw.githubusercontent.com/ztxtech/aion/dev/scripts/install.sh | bash -s -- --force

Then in your project:

aion-ts init . --force

AION Plugin v0.3.0

Choose a tag to compare

@ztxtech ztxtech released this 14 Jun 02:36

AION Plugin v0.3.0

Trace Bug Fixes (from session trace audit)

  • Removed duplicate traces: memory_sync, critic_dispatch, and critic_verdict were traced twice — once correctly inside the tool, once incorrectly in the after-hook (showing artifact=unknown). The noisy duplicates are gone.
  • Fixed over-aggressive leakage guard: rm -rf is no longer blocked globally. Only catastrophic paths (/, ~, $HOME) trigger the block. Normal commands like rm -rf .venv now work without false positives.
  • Real timestamps on all memory modes: replace-section and replace modes now inject accurate timestamps via nowIso(), preventing the LLM from fabricating stale annotations.

Interactive Mode Redesigned (4 granularity levels)

Session start now presents 4 options:

Option Behavior
Fully autonomous Zero user prompts. Loop runs end-to-end.
Checkpoint per round Pauses after each c-critic verdict to ask continue/stop.
Always interactive Pauses at every dispatch, critic verdict, plan switch, and phase transition.
Custom (ask me when) User picks exact triggers via a follow-up question: c-critic-verdict, dispatch, plan-switch, phase-transition, critic-reject.

New config fields: interactiveMode.granularity, interactiveMode.customTriggers.

Visual Personality Enhancement

Inspired by Claude Code's animated crab — AION now has more presence in the TUI:

  • 3 new event types: dispatch toasts (when subagents are sent out), critic toasts (when critics return verdicts), and easter-egg toasts (random delight)
  • Rarity-driven colors: common=blue, rare=green with sparkle, legendary=amber with sparkle and longer duration
  • 19 new quips across all slots (entrance 7→10, heartbeat 6→11, +14 in new slots)
  • More frequent heartbeats: min interval 90s→60s, max 240s→180s, session cap 8→12
  • Legendary easter eggs (5% drop rate) include: "This toast has a 5% drop rate. You just got lucky. The loop will remember this (it won't — it can't)."

Team Mode Aggressive Defaults

Parameter Old New
maxParallelMembers 4 6
maxMessagesPerRun 10,000 20,000
maxWallClockMinutes 120 (2h) 240 (4h)
maxMemberTurns 500 800
messagePayloadMaxBytes 32KB 64KB
recipientUnreadMaxBytes 256KB 512KB
mailboxPollIntervalMs 3,000ms 2,000ms

Install / Upgrade

curl -fsSL https://raw.githubusercontent.com/ztxtech/aion/dev/scripts/install.sh | bash -- --force

Then in your project:

aion-ts init . --force

See README for full details.