# CHANGELOG Reverse-chronological. Meaningful changes only; each entry points at evidence. ## 2026-10-19 — rollout accepted on all target machines - User acceptance: installed and working on 2× Ubuntu + 1× macOS, segment rendering confirmed in the live TUI ("works perfectly"). FEATURE-MATRIX rows flipped from `unknown`/`inferred` to `confirmed (user-reported)`; TODO rollouts checked off. Standing task remaining: mcode-update bundle re-verification (D2). ## 2026-10-19 — initial release: segment, installer, docs scaffold - `zai-usage.sh` — statusline custom command: Aygea-palette `🔥 % · ()` segment; SecretVault-first auth (`secretvault run`, key never in argv) with `~/.secretvault/credential.json` fallback; cache-shared with the Claude Aygea statusline (`~/.cache/aygea-sl/quota.json`, schema `{pct, reset_iso, ts}`); detached flock-guarded background refresh (no cron/systemd); always exit 0; GNU/BSD date + flock/setsid fallbacks for macOS. - `install.sh` — self-extracting installer (`curl | bash`): installs to `~/.local/bin/mcode-zai-usage`, checks SecretVault presence (never prints the secret), surgically merges the `tui:` section into `~/.minimax/config.yaml` (atomic temp+fsync+rename, 0600, timestamped backup before change, duplicate-structure refusal, byte-identical outside the tui block), primes the cache, `--uninstall` mode. - Fixed during development: EXIT trap referencing function-local vars under `set -u`; uninstall mode-name mismatch (`uninstall` vs `remove`); TOP regex never capturing the key name (false "duplicate top-level keys" refusals); embedded-copy forward reference (0-byte installs in piped mode); double-newline on re-embed. - Config merge hardening per user request: atomicity + previous-entry checks + format safety (see `docs/DECISIONS.md` D5, trial `config-merge-safety-2026-10-19`). - Installed on this machine (backup `~/.minimax/config.yaml.bak.20261019-231642`), cache primed `🔥 1%`; pushed to `git.itsaygea.com/admin/mcode-sl` (`main`). - SSH: corrected Gitea-on-2222 setup; removed wrong port-22 host keys from `~/.ssh/known_hosts` (details in `AGENTS.md` → "SSH to Gitea"). - Docs scaffold: AGENTS/CURRENT_STATE/TODO/CHANGELOG/TRIALS + `docs/`, `trials/`, `handoffs/`, `tooling/`, `evidence/`.