Changelog

Every wave, shipped in the open.

The full history, pulled live from GitHub releases.

current release · v1.39.0

Full Changelog: https://github.com/pauloloureiroshp-ship-it/mooter/compare/v1.38.7-matrix-coverage-honest...v1.39.0-coherence-audit

  • 01test(wave58.8): hygiene closer — sandbox guard + self-healing coverage by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/177
  • 02feat(wave59a): mooter doctor --coherence — cross-surface number audit by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/178

Full Changelog: https://github.com/pauloloureiroshp-ship-it/mooter/compare/v1.38.4.1-matrix-tests-hotfix...v1.38.7-matrix-coverage-honest

  • 01fix(install): sync landing/public/install.sh with root install.sh by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/175
  • 02fix(wave58.7): matrix coverage honest (408) + cli CI gap by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/176

Full Changelog: https://github.com/pauloloureiroshp-ship-it/mooter/compare/v1.38.3-statusline-multiline-honest...v1.38.5-cli-audit-fix

  • 01feat(wave58.4): PR α — matrix 17×24 (honest) + recon/research docs by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/169
  • 02feat(wave58.4): PR β — provider-emoji palette SSOT (pure, unwired) by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/170
  • 03feat(wave58.4): PR γ — Pastor v2 honest TF-IDF chip by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/171
  • 04feat(wave58.4): PR δ — agents-progress polish + mode-label decision by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/172
  • 05chore(wave58.5): packages/cli npm audit HIGH → 0 by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/173

Full Changelog: https://github.com/pauloloureiroshp-ship-it/mooter/compare/v1.38.5-cli-audit-fix...v1.38.4.1-matrix-tests-hotfix

  • 01test(wave58.4.1): matrix tests 14→17 (Wave 58.4 expansion catch-up) by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/174

Full Changelog: https://github.com/pauloloureiroshp-ship-it/mooter/compare/v1.38.2-statusline-honest-residue...v1.38.3-statusline-multiline-honest

  • 01docs(wave58.3): Day-0 statusline recon + multi-line activation (Block A+B+C) by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/165
  • 02fix(wave58.3): env.js zod soft-require (unblock hub-pull in slim runtime) by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/166
  • 03chore(wave58.3): hub npm audit → 0 vulnerabilities (esbuild/ws overrides) by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/167
  • 04chore(wave58.3): no-frugal ratchet 160→146 (rebrand drift fix) by @pauloloureiroshp-ship-it in https://github.com/pauloloureiroshp-ship-it/mooter/pull/168

Wave 58.2 began as a "full statusline unification" brief. A Day-0 re-scope audit (docs/strategy/WAVE58_2_DAY0_RECON.md) found most of that brief had already shipped in Wave 58 — chip-composer.js is al

  • 01🎮 GPU chip on the dense statusline line — the one Wave-Mega dense-line segment that still had no chip. Reads the cached hw-capability.json (produced by gpu-probe.js, which probes nvidia-smi on Windows + Linux): a single file read, no process spawn on the render hot path.
  • 02Honest by construction: renders nothing on CPU-only machines, or when the cache is missing, malformed, or the GPU name is blank. No fabrication, no live utilisation %.
  • 03Inert for default users: wired into the dense line only — not in DEFAULT_ELIGIBLE. The minimal/wired statusline stays byte-identical (the A.5 contract).
  • 04classify.js frozen sha256 intact (427d8c0b…364bc48f).
  • 05gpu-status test suite: 8/8.
  • 06No frozen packages/* files touched.

19 commits, 6 areas, ~1h48m autonomous CC ultracode session (vs 23-28h estimate). final-reviewer Opus SHIP 0-HIGH / 0-MED / 2-LOW.

  • 01Phase 0 Day 0 recon (P1-P6 refutations, allowlist plan, Wave 57-inexistente refuted)
  • 02Phase A.8/14/16 Matrix 12x24 esparsa + TES Token Efficiency Score + benchmark-fetcher (curadoria manual, zero dep)
  • 03Phase A.1/4/9/13/15/C 6 chips/trackers opt-in + LLM emoji map + cost-perf log + matrix snapshots + per-agent tokens
  • 04Phase A.10/12/17 Heartbeat estendido + adaptive-learner EWMA weekly + Fable 5-inspired adaptive routing (self-judge Sonnet)
  • 05Phase B/D/A.11 mooter agents/workflows/explain agent/matrix/route adaptive/cost-perf CLI commands
  • 06Phase A.13/15 Landing MatrixPanel (heatmap DIY CSS/SVG) + /api/admin/matrix + evolution chart honesto
  • 07Phase E fanout + multiplexer-bridge (re-scoped Windows: child_process.spawn pipe, degrada honesto)
  • 08Phase F final-reviewer Opus SHIP

Backend foundation for admin panel signed-in mooter.ai. Hub schema + 3 endpoints + RBAC + audit.

  • 01Phase 0 Day 0 recon
  • 02Phase A Migration 019 aditivo (subscriptions/ollama_status/packs_installed/local_models_reason + audit_admin_views)
  • 03Phase B Admin RBAC (isAdminEmail + audit log writer)
  • 04Phase C /v1/admin/users endpoint (paginated, sorted, RBAC, privacy)
  • 05Phase D /v1/admin/user/<hash> endpoint (drilldown 18 fields)
  • 06Phase E /v1/admin/cohort-metrics endpoint (DAU/MAU/stickiness/retention)
  • 07Phase F final-reviewer Opus SHIP
  • 08classify.js sha 427d8c0b516315c6 INTACT (Wave 56 = hub-only)

11 phases shipped autonomous via CC ultracode, 14 commits squashed em 1 (PR #160). classify.js sha 427d8c0b INTACT toda a wave.

  • 01Phase H — HOME-isolate statusline render() + fix 4 leaking tests
  • 02Phase G — Persist MooterBench RESULTS.json (corrected path)
  • 03Phase J — Burn-rate real chip + wire + 5 tests (trailing-60min spend, pricing.js SSOT)
  • 04Phase I — LoRA train runbook + overnight GPU-hygiene step
  • 05Phase A.5/A.6 — Mac cross-platform output recon (MAC_INCONSISTENCIES_RECON.md + documented, not applied fixes)
  • 06Phase B — Wave 53.1 legacy statusline chips restore (tier breakdown granular + VRAM + Ollama model + GPU mode + user) opt-in via preferences.json
  • 07Phase A-base — Mac statusline base + glyph fallback opt-out MOOTER_GLYPH_MODE=ascii
  • 08Phase C — Wave 54 CCA-F audit first-run setup + dry-run validation + run instructions

Mooter executes CCA-F-style synthetic audit overnight on local Ollama + Sonnet self-judge. Honest disclaimer: NOT official Anthropic exam.

  • 01Phase 0 Recon — 4 refutations to Cowork brief V2 (paths real are fable-observe not cca-f; Pastor LoRA != tier; judge transport abstraction; Phase C learning staged-only)
  • 02Phase A — Question generator deterministic (60q, seed-reproducible: 16 agentic + 12 cc_config + 12 prompt_eng + 11 mcp + 9 context)
  • 03Phase B — Harness orchestrator (classify.js + Pastor + Ollama + Sonnet self-judge)
  • 04Phase C — Learning loop (samples staged-only, NO retrain, NO fabricated delta)
  • 05Phase D — Report generator (markdown + JSON, honest caveats)
  • 06Phase E — Publish artefacts (notion-page.md + chip.json)
  • 07Phase F.1 — Final-reviewer Opus SHIP-WITH-NITS → nit MED corrected (classify_intact now MEASURED, not asserted)
  • 08Phase F.2 — Selective commit + push + PR

Mooter == Local Claude Code mirror + parallel co-worker. Doctrine V4 enforced at scale.

  • 01A' — Cross-session visibility (enhance existing worktree-conductor/heartbeat.ts, NOT duplicate)
  • 02B — Statusline UX 2026 polish (burn rate + agent focus + ctx fullness + pluggable segments)
  • 03C' — Bash tokens-only extension (post_tool_badge.js, NO settings.json touch)
  • 04D — EMOJI_GUIDE.md + emoji-strict linter (greenfield, anti-hype enforcement)
  • 05E' — Skills aditivas moo-agents/moo-memory/moo-init (8→16, no nativos sombreados)
  • 06G — ANTHROPIC_ALIGNMENT_V2.md + REFUTATIONS_LOG.md (R1-R5 recorded)
  • 07H — 🧪 bench ? honest fallback (anti-fabrication when RESULTS.json absent)
  • 08I' — fable-observe extension cca-f-export.ts (NOT new cca-f tree)

🤖 Generated via Cowork Chrome MCP coordination + CC Wave 52 cherry-pick + Doctrine V4 refutation cycle

  • 01Mooter observability: zero-dep OTLP/HTTP span export of routing decisions
  • 02packages/mooter-bench (Apache 2.0, à la Anthropic Bloom): 50 workflows, 60% accuracy, 100% completion, 62.4% est. savings
  • 03MCP server 16→20 tools (route_query/get_savings/explain_tier/session_summary) + registry submission doc
  • 049 + 15 + 27 tests pass
  • 05Advisory cascade with why-not-fable explanation
  • 06span_id feedback loop
  • 07/mooter slash skill
  • 08Security tier-ladder verify

Anthropic-aligned honesty layer + Tier 5 Fable (opt-in).

Statusline UX overhaul addressing 8 of Paulo's 11 considerations. CC autonomous Day 0 recon refuted multiple kickoff premises (pricing was factually wrong, statusline lives in tools/router/statusline-

  • 01📚 ctx chip: shows current context window size + percentage
  • 02🧬 embed nomic 768d chip: clarified as Pastor embedding model
  • 03🐮 local routes chip: rebrand of MLWR for clarity
  • 04📊 cost-cap OK chip: real quota numbers (replaced vague limits OK)
  • 05📝 $X this turn + $Y all-time chips: prompt/session relabeled with token counts
  • 06🐮 agents N active · M spawned · peak K chip: rename of cryptic 0/0/peak0
  • 07☁️ Claude Max [███████░░░] N% left chip: visual progress bar
  • 08⏭️ (deferred) Terminal name auto-refresh — documented in repro file

Four-phase mega aimed at the first-impression points for incoming friends. CC autonomous execution refuted 3 of 4 kickoff premises via Day 0 recon (honest > forced).

  • 01Premise refuted: the command already existed from Wave 33.5.
  • 02Added friend-facing PT-PT rules: packs, savings→dashboard, explain/router-debug, doctor.
  • 03Friends can now type natural questions instead of memorizing commands.
  • 04Premise refuted: dashboard is NOT minimalist. Already 2303 lines / 6 tabs.
  • 05Single real gap is a Recharts MLWR trend chart, which violates the dependency guardrail of this wave’s scope.
  • 06No-op rather than fake work.
  • 07Premise partially refuted: the page existed but was hardcoded/stale (still showing v1.21.1).
  • 08Rebuilt with ISR (revalidate: 3600) fetching GitHub Releases API publicly, filtered to v1.x.y tags.

Fixes 3 bugs surfaced by parallel-CC validation dogfood in Wave 33-VAL.

  • 01buildDigest() now folds subagent dispatches (herd state from SubagentStop hook) into the tier mix.
  • 02prompts vs delegated tracked separately; savings $ stays tracker-driven → not inflatable.
  • 03Smoke: 0 prompts + 6 delegated → T0 67% · T1 33% correctly reflected.
  • 04describeEngineError() now emits actionable message: names the missing dep + suggests npm install command or source-checkout guide.
  • 05No more cryptic "engine unavailable" wall.
  • 06Day 0 recon refuted the kickoff premise. The "$0 saved" symptom was Bug C (subagent dispatches invisible to tracker), not a real ultracode bypass.
  • 07A hook cannot reliably detect the thinking-flag of the CC harness nor force delegation.
  • 08Honest fix: caveat in mooter explain saved instead of building a false detector.

Loading state + reason-aware errors for GitHub OAuth sign-in.

  • 01landing/app/auth/callback/route.ts — reason-aware error handling on OAuth callback
  • 02landing/app/_components/AuthErrorBanner.tsx — new component for displaying auth errors
  • 03landing/app/(app)/layout.tsx — layout updates for loading state
  • 04landing/app/(app)/wave44-oauth-polish.test.ts — tests for the new flow
  • 05classify.js sha 7b01eb86… INTACT (23 waves consecutivas)
  • 06packages Wave 28-33.x UNTOUCHED (landing-only change)
  • 07final-reviewer Opus: SHIP 0-HIGH/0-MED
  • 08139/139 landing tests pass + next build clean

Honest follow-up to the LoRA training setup.

  • 01unsloth==2026.6.1 is the current latest stable
  • 02transformers==4.56.0 is compatible (outside the prior exclusion range)
  • 03pins verified via PyPI metadata
  • 04docs/strategy/LORA_TRAINING_RUNBOOK.md — operational runbook for overnight RTX 4090 training runs (pre-flight checks, dataset path, exact command).
  • 05classify.js sha 7b01eb86… INTACT (22nd consecutive wave)
  • 06packages Wave 28-33.x UNTOUCHED
  • 07version.json zero-touch
  • 08final-reviewer Opus: SHIP 0 nits

Polish pass on mooter dogfood log UX.

  • 01mooter dogfood log now warns on unknown severity values
  • 02mooter dogfood (no args) hints available subcommands
  • 03+3 tests covering severity validation + subcommand hints
  • 04classify.js sha 7b01eb86… INTACT (21st consecutive wave)
  • 05packages Wave 28-33.x UNTOUCHED
  • 06version.json zero-touch
  • 07final-reviewer Opus: SHIP 0H/0M/1L (cosmetic)

Merge commit: dbe31b6

  • 01F-1 🔴 Hub ingestion rate-limit (NON-BREAKING, no auth)
  • 02/api/delta: per profile_hash (30/60s) · fail-open · 429
  • 03/api/device-heartbeat: per device_id (10/60s) · fail-open · 429
  • 04Existing installs + public install.sh keep working
  • 05Per-IP dimension deferred → F-1.2 (needs KV namespace)
  • 06F-2 🟠 CI P11 gate (classify.js.sha256 lockfile + checksum step)
  • 07F-3 🟠 Landing vitest + typecheck + lint in CI
  • 08F-10 Tooling fix (replay.js IIFE slice) — gold-labels green again