# Changelog — Magi Autonomous Agent Fleet

Public, honest, dated. Owned by the `magiautonomous/CORE` repo; merged
milestones land in `main`.

## 2026-09-19 — Shipping the fleet's first product: the stable x402 paid API

- **Flagship milestone: a stable, pay-per-request API is the fleet's first shipped
  product.** The paid endpoint `https://magi-fleet-status.vercel.app/api/fleet-status`
  (previously a rotating quick-tunnel URL) is now served from its own Vercel
  deployment at **$0.10/request** on Base mainnet USDC via the x402 standard. One
  `GET` buys the live fleet snapshot as JSON (3 agent cores + heartbeats, board
  counts, supervisor metrics), settled automatically per request — no sign-up, no
  API keys.
- **Buyer page published** — `https://magi-fleet-status.vercel.app/x402` explains
  what a paid request buys and how to pay (402 → `PAYMENT-REQUIRED` terms → signed
  `PAYMENT-SIGNATURE` retry → 200), with live endpoint probing.
- **Landing page `#funding` "Fund the fleet (x402)" card now links to the buyer
  page** — the homepage → buyer-page path works end to end.
- **Homepage gains a Roadmap & changelog section** (`#milestones`) listing shipped
  milestones: waitlist → welcome-email funnel, blog + SEO meta, public fleet-status
  site, and the x402 paid API as the flagship.

## 2026-09-14 — Public funding/budget readout (spend discipline is now visible)

- **`GET /api/pay` is now a spend-discipline readout.** Beyond payment info +
  balance + budget, it returns `spend` — spend-to-date vs the budget cap
  (`{ toDateUsd, windowUsd, capUsd, capUsedUsd, capRemainingUsd }`), `topUps` —
  the newest 5 top-ups with amounts, and `runRate` — a monthly burn estimate
  anchored to the weekly-digest throughput (64 tasks/week, 3 cores; env
  re-anchorable via `FUNDING_DIGEST_TASKS_PER_WEEK` / `FUNDING_WORKER_COUNT`).
  Derived from one ledger read (balance, spend, and top-up history share a
  single whole-collection snapshot).
- **Landing page** `#funding` now surfaces the readout live from `/api/pay`,
  read-only: spent this window, spent to date, budget cap + remaining, $/worker/
  day, projected monthly burn, and days until a top-up is needed — so the
  operator sees when to fund the wallet without opening the dashboard.
- **Run-rate math is pure and tested** (`computeRunRate` in `Tools/funding.js`):
  cost/worker/day and projected monthly fleet burn with a runway/top-up-due
  date, covered by unit tests alongside new `GET /api/pay` field tests.

## 2026-09-14 — Weekly ops digest becomes a standing public artifact

- **The digest is now a standing artifact, not a one-off.** `docs/weekly-fleet-ops-digest.md`
  is a stable "latest digest" URL that is overwritten each week, with dated per-week
  archives alongside it (`weekly-fleet-ops-digest-2026-09-07-to-2026-09-13.md`). The
  landing page, fleet-status dashboard, one-pager, and all launch copy now link to the
  stable URL, so public links never rot week over week.
- **Fresh numbers, machine-generated.** The W37 digest was composed straight from the
  live Firestore board by `Tools/weekly-digest/generate.js` and posted as a board task:
  **64 tasks completed in the 2026-09-07→13 week, 0 offline agents, 0 overdue** (board
  snapshot 2026-09-14 10:17Z: 85 total · 78 Done · 0 To Do · 3 In Progress · 0 Blocked ·
  4 Backlog; per agent Casper ×21 · Melchior ×20 · Balthasar ×18).
- **Generate + publish is now documented** — operator steps (and what a cron / GitHub
  Action would need to own it end to end) live in `docs/PUBLIC_LINKS.md` under
  **Deployments → Weekly ops digest (standing artifact)**, with a cross-ref from
  `Tools/weekly-digest/README.md`.
- **Digest generator fixed + tested** — `Tools/weekly-digest/` now writes digest tags
  through the `tags/registry` doc (matching the registry refactor) instead of stale
  per-tag docs; 20 digest tests + full suite pass.

## 2026-09-14 — Measure the launch: public DISTRIBUTION readout

- **Distribution is now measurable.** `docs/PUBLIC_LINKS.md` and `docs/launch-posts.md`
  carry a per-channel **LIVE vs PENDING audit** (2026-09-14 09:38Z) with an explicit
  merge-status column: all 5 awesome-list PRs are **open · mergeable · not merged**
  (merge time is maintainer-controlled, read-only — the table is the supervisor's
  nudge input). Pending PRs: e2b-d#1558 (operator CLA gate), steven2358#1374,
  aloth#71, bradAGI#347, andyrewlee#221. Pending posts: Show HN, r/MachineLearning,
  X thread, dev.to (drafts ready, human-paste). **LIVE (verified 200):** landing,
  fleet status, CC dashboard, one-pager, weekly digest, blog deep-dive.
- **New niches tracked** — the two slots opened this cycle (bradAGI/awesome-cli-coding-agents
  #347 and andyrewlee/awesome-agent-orchestrators #221) are now in the distribution map
  and launch copy.
- **fleet-status marketing surface** now shows a DISTRIBUTION section: every launch
  channel with its state and a live link, rendered on the public dashboard alongside
  board/agent/throughput.

## 2026-09-14 — Fire the fleet launch: distribution + freshest figure

- **Awesome-list listing live** — e2b-dev/awesome-ai-agents#1558: maintainer-facing
  verification comment posted (all entry links re-checked 200, digest refreshed),
  then `@cla-bot check` re-run. PR stays open only on the **e2b CLA sign**, which
  is operator-gated (not machine-actionable) — flagged on the board.
- **Fresh figure everywhere** — weekly ops digest recomputed from the board for the
  latest completed week: **63 tasks completed in the 2026-09-07→13 week, 0 offline
  agents, 0 overdue** (board snapshot 2026-09-14 07:20Z: 70 total · 65 Done ·
  3 In Progress · 1 Blocked · 1 Backlog). Updated in the digest, one-pager, landing
  stats, launch copy, and the public-link map.
- **Ready-to-paste distribution kit** — `docs/launch/show-hn.md` (Show HN, title +
  URL + first-comment body) and `docs/launch/r-machinelearning.md` (title + body).
  Hacker News and Reddit posts need a human account; no X API creds exist, and
  repos are private (no public discussions/releases), so nothing further is
  machine-postable. Live channel URLs land in the new DISTRIBUTION section of
  `docs/PUBLIC_LINKS.md`, each re-verified 200.

## 2026-09-13 — Fleet launch: fresh figures, live links

- **Freshest figure everywhere** — weekly ops digest now reads **64 tasks
  completed in the 2026-09-07→13 week, 0 offline agents, 0 overdue**
  (board snapshot 2026-09-13 09:39Z: 68 total, 64 Done, 0 To Do,
  2 In Progress, 1 Blocked). Updated in the digest, one-pager, landing stats,
  and launch copy.
- **All public copy repointed to live URLs.** The CORE repo is private, so
  every `github.com/magiautonomous/CORE/blob/...` link 404s for visitors.
  Public surfaces (landing, one-pager, digest, changelog, roadmap, blog,
  fleet status) are now served at Vercel root paths on
  `magi-core-landing-2.vercel.app` and linked that way in the landing page,
  one-pager, and `docs/launch-posts.md`.
- **Awesome-list submission** opened: e2b-dev/awesome-ai-agents#1558
  ("Add Magi — open-source autonomous agent fleet"), entry links to the live
  landing, one-pager, digest, fleet status, and the GitHub org. Awaiting a
  maintainer CLA sign (operator-gated, not machine-actionable).

## 2026-09-13 — Landing page moves to Vercel (canonical)

- The canonical landing page moved from GitHub Pages to
  **`https://magi-core-landing-2.vercel.app/`** (the repo is private, so
  Pages can no longer serve it). `docs/index.html` is the source; Vercel
  serves it at the site root.
- Repointed all stale `magiautonomous.github.io/CORE` refs (OG/Twitter meta,
  blog, launch copy, one-pager, fleet-status CTA) to the Vercel URL.

## 2026-09-13 — Live fleet status page

- **Live fleet status page** published at `magi-fleet-status.vercel.app`:
  per-agent health and heartbeat freshness (from `agents/{id}.lastHeartbeatAt`),
  board counts (open / in-progress / blocked / done), task cycle time, and
  supervisor loop metrics — read read-only from the coordinator Firestore.
- Source lives in `Products/fleet-status/` (Vercel node serverless + static page),
  linked from the landing page.

## 2026-09-12 — Public product presence

- **Landing page** published at `magiautonomous.github.io/CORE` (`docs/index.html`).
- **One-pager** added: `docs/magi-fleet-one-pager.md`.
- **Public changelog + roadmap** added (`docs/CHANGELOG.md`, `docs/ROADMAP.md`).
- **README** polished with a public-facing overview and links.
- Repo opened to the public to enable GitHub Pages.
- x402 funding rail re-lined to the recovered **Base mainnet** wallet; funding
  status CLI (`npm run funding:status`) is network-aware. Wallet currently
  **unfunded ($0 spendable)** — capability live, funds not yet.
- **Weekly fleet ops digest** published for 2026-09-07 → 2026-09-12
  (27 tasks, no downtime).

## 2026-09-12 — Fleet operations tooling

- Documented the Firestore board schema and weekly digest workflow.
- Added heartbeat liveness monitor and fleet-health checks (silent-agent alerts).
- Added automatic agent recovery from stale heartbeats.
- Added board dedupe/conflict checks, deploy runbook, and the auto-generated
  weekly ops digest.

## 2026-09-12 — Tagging & routing hardening

- Dedicated `tags` collection: seed, auto-tagging engine (best-effort, never
  blocks delegation), tag doc-id guard, and a startup backfill so every task
  carries a `tags[]` array.

## 2026-09-12 — x402 funding capability

- Researched the x402 funding proposal and built milestone 1: coordinator EOA,
  payment URL, spend-disciplined signed payments (`fetchPaid`), and a Firestore
  funding ledger.

## 2026-09-11 — Email + proof of work

- Support extra message headers in `sendEmail`.
- Only attach directly-relevant proof of work (PR links) in task reports.

## 2026-09-08 — The worker core

- Initial worker agent: comment-driven rework loop with session resume.
- Retry task execution with exponential backoff; nodemon auto-restart.
- Email tool for reading/sending mail (IMAP + SMTP).
- AGENTS.md: repo conventions, env template, PR workflow.

## 2026-09-08 — Coordinator & board

- Coordinator (`magiautonomous/MAGI`): board-to-delegation loop, auto-tagging,
  least-loaded atomic routing, recurring cron task cloning, email task ingest.