Releases: plumpslabs/matcha
Release list
v2.5.34
🍵 matcha v2.5.34
🛠️ Fixes & Enhancements:
- AGY ESM Hook Resolution: Automatic generation of
.agents/package.jsonwith{"type": "module"}during install and build to preventMODULE_TYPELESS_PACKAGE_JSONwarnings in Node.js v26. - Fail-Open Hook Resolver: Bulletproof inline dynamic hook loader ensuring zero agent freeze/lockouts.
- Clean Commits Guard: Enforcement of Conventional Commits format without bot co-author pollution.
- All 602 Vitest Tests Passing Cleanly.
v2.5.33 — Bulletproof Dynamic Hook Resolver (Zero-Lockout)
🍵 matcha v2.5.33
🛡️ Bulletproof Hook Resolution
- Dynamic Multi-Path Resolver:
hooks.jsonnow dynamically checkshooks/,.agents/hooks/, and../hooks/at runtime. - Fail-Open by Design: If hook scripts are completely missing or corrupt in any workspace, the pre-tool hook immediately outputs
decision: allowwith exit code 0. Antigravity agents will NEVER be locked out or bricked withMODULE_NOT_FOUNDagain.
v2.5.32 — Fix missing .agents/hooks directory in target projects
🍵 matcha v2.5.32
🐛 Bug Fixes
- Antigravity CLI Hooks (): Fixed a
MODULE_NOT_FOUNDbug where target workspaces lacked the.agents/hooks/folder.install.shandbuild-adapters.jsnow automatically install all hook dependencies into.agents/hooks/so pre-tool hooks execute seamlessly on clean installs.
v2.5.31 — Industrial Scaling, AST Auto-Indexer & Clean Change Hygiene
🍵 matcha v2.5.31 Release Notes
🚀 What's New
-
⚡ Zero-Touch AST Symbol & Monorepo Indexer (
hooks/auto-index.js)- Language-agnostic structural symbol indexing (TypeScript/JS, Python, Go, Rust, Java, Kotlin, C/C++).
- Instant sub-second symbol lookup via
.agents/state/symbols.jsonand native CTags caching.
-
🔎 Multi-Platform Industrial Protocols
- Parallel Discovery: Concurrent Intent Discovery (
@matcha-planner) & AST Symbol Search (@matcha-finder). - Smart Test Scoping: Automated targeted testing (
--findRelatedTests,pytest --picked,go test ./pkg/...). - Adaptive Intensity Routing: Auto-classification (
observefor docs/styling,enforcefor standard logic,auditfor security/DB/billing).
- Parallel Discovery: Concurrent Intent Discovery (
-
🪝 Native Git Pre-Commit Guard & Security Scanner
- Added
matcha hooks installto enforce local git pre-commit scanning. - Added
matcha scan&matcha indexcommands to Matcha CLI.
- Added
-
📦 Clean Change Hygiene & Conventional Commits
- Enforced strict Conventional Commits standard.
- Zero internal AI agent drama in git log history.
- Zero AI bot co-author noise (clean human code ownership).
-
🧪 100% Quality & Multi-Platform Symmetry
- Synchronized all 10+ platform adapters (Claude Code, OpenCode, Antigravity/AGY, Windsurf, Cursor, Roo Code, Cline, Trae, Qoder, Copilot).
- 13/13 Test Suites Passed (602/602 Tests Green).
Matcha v2.5.30 — opencode subagent reliability
v2.5.30 — opencode subagent reliability + docs polish
opencode sub-agent reliability (root-caused from real runs)
- auditor: bash catch-all
"*": ask→"*": deny— sub-agents no longer stall waiting for user approval prompts in the TUI (observed 25 min / 54 toolcalls → now minutes; blocked commands fall back to read/grep/glob tools) - all 6 sub-agents (
planner,finder,auditor,reviewer,debugger,cleaner):<final_message_rule>— the final message must be the full report/verdict/plan in plain text; never end a turn on a tool call. Fixes opencode returning EMPTY results when models end turns on tool calls (opencode returns the subagent last text part)- EFFORT BUDGET in quality gates (~10 tool calls per scope → deliver LOW confidence + state limitation instead of looping)
# model:frontmatter guidance (set a capable model to avoid weak-model empty results)
Docs
- Kuma-inspired premium visual: radial gradient, scroll progress bar, floating hero logo, gradient title, card hover glow
Sync
- All provider adapters regenerated (opencode symlinks, Claude Code format, AGY copies) — copies consistent
- Tests updated for deny catch-all; 602/602 passing
v2.5.29 — AGY workspace fix + heading-only plans + quick-unblock hint
What's new in v2.5.29
Fixes the AGY false "Planning Gate Blocked" deadlock + accepts heading-only plans + quick-unblock hint.
🐛 Fix: AGY plugin-hook workspace path mismatch (the real deadlock)
AGY runs plugin hooks with cwd = the plugin directory, not the project root — so the planning gate looked for .agents/plan/current.md in the wrong place and blocked every source edit even with a valid plan on disk.
matcha-agy-hooks.jsnow readsevent.workspacePaths(AGY sends it in every hook event — confirmed from AGY's official hooks.md) and passes it as the workspace root.planning-gate.jsresolves intensity + plan path from that cwd instead ofprocess.cwd().- AGY's
Createtool now maps towrite_to_file(plan writes via Create stay exempt, source writes stay gated).
🐛 Fix: heading-only plans no longer rejected
validateMarkdownPlan required a colon (**Problem:**) — the field report found valid heading-style plans (## Problem on its own line) were rejected. Both styles now work:
## Problem\n<text>(heading, no colon) ✅## Problem: <text>(heading + colon) ✅- **Problem:** <text>(bullet, existing) ✅
⛔ DX: quick-unblock hint in deny messages
Both deny messages (no-plan + invalid-plan) now tell the agent exactly what to do:
✅ Writing to
.agents/plan/current.mdis ALWAYS allowed — create the plan there now via Edit/WriteFile.
💡 Run/matcha:intensity observeto bypass the gate (switch back with/matcha:intensity enforce).
✅ Validation
- 602/602 tests pass (8 new regression tests) · copies consistent across all providers (Claude Code, opencode, AGY, universal)
- All 6 agents remain pure subagents everywhere · commands + MCP config verified on every provider
📝 Full field-report verdict (AGY v2.5.27 evaluation)
- 1.1 workspace mismatch → fixed here (CRITICAL)
- 1.2 strict parser → fixed here (heading-only now valid)
- 1.3 post-PASS block on git commit/bun test → already safe (simple-task auto-skip, verified)
- 2.1 cleaner read-only → not applicable (cleaner already has edit: allow, verified)
- 2.2 subagent auto-pass metadata → rejected by design (would weaken the gate)
- 3.1 auto-inject trivial plan → rejected by design (fast-path already exists)
- 3.2 better error message → done (hint + always-allowed note)
v2.5.28 — pure-subagent agents + anti-deadlock gate message
What's new in v2.5.28
Pure-subagent agents on every provider + anti-deadlock planning-gate message.
🐻 Agents: spawn-only everywhere (was: main-agent leak on opencode)
All 6 matcha agents (planner, finder, auditor, reviewer, debugger, cleaner) are now mode: subagent in the canonical source — the previous mode: primary on the 4 read-only agents made opencode list them as Tab-switchable main agents, contradicting the spawn-only orchestration model.
Now the behavior is identical across every provider:
- opencode —
mode: subagent→ spawn-only via Task tool /@-mention, hidden from the Tab picker - AGY / Antigravity —
mainAgent: false→ invoked behind the scenes - Claude Code — transformed to Claude agent format
You can still @matcha-planner / @matcha-reviewer manually — they just won't appear as a main-agent option.
⛔ Planning gate: anti-deadlock deny message
Both deny messages (no plan + invalid plan) now state explicitly:
✅ Writing to
.agents/plan/current.mdis ALWAYS allowed — create the plan there now via Edit/WriteFile (that write is never blocked).
This cuts the panic loop where an agent, told to write a plan, tries alternate paths (Bash heredocs, other filenames) because the message didn't tell it the plan-file write itself is exempt.
✅ Validation
- 594/594 tests pass · copies consistent across all providers · build OK
- Version bumped to 2.5.28
v2.5.27 — decision markers enforced at write time
What's new in v2.5.27
Decision markers (// matcha:) now enforced at write time, not cleanup.
Previously the marker rule lived only in Checkpoint 4 (Cleanup) — the phase agents often skip — so deliberate shortcuts sometimes shipped unmarked. Now:
- core.md Checkpoint 3 (Implementation): any comment documenting a deliberate choice (skipped validation, workaround, intentional hardcode, known debt, architecture decision) must be prefixed
// matcha:explain/// matcha:debt/// matcha:adrwhile writing. Explicit boundary: plain "what this does" comments need no marker. - AGENTS.md #8 + Implementation row, CLAUDE/GEMINI/QWEN/.windsurfrules #8, SKILL.md, and docs/index.html workflow prose all synced.
- debugger: new MARK DECISIONS boundary — logs deliberate shortcuts of minimal fixes at write time.
- reviewer: Maintainability now flags a deliberate shortcut/workaround comment in changed lines missing the marker (judge-intent qualifier — no regex, no false-positive risk).
Why: ~50% of unmarked comments were correctly plain comments; the other half was a real gap — rule placed far from the decision point with no safety net. This closes it without adding ceremony to small tasks (conditional rule) and without a brittle hook detector.
Audit clean: 14 rule/md files changed, zero .js touched, copies consistent across all providers, 594/594 tests pass.
v2.5.26 — AGY-native subagent keys on all 6 agents
What's new in v2.5.26\n\nProvider compatibility — all 6 agents now AGY-native.\n- planner/finder/auditor/reviewer kini membawa key frontmatter AGY mainAgent: false + subagent: true (debugger/cleaner sudah punya) — di AGY (Antigravity) semua agent diklasifikasi sebagai subagent, bukan membanjiri primary chat picker\n- Berbasis riset docs resmi AGY: schema frontmatter (mainAgent/subagent; key mode:/permission: opencode di-ignore AGY); opencode meng-ignore key asing (terbukti: debugger/cleaner sudah jalan dengan key ini)\n- Sengaja TANPA tools: list — docs AGY memperingatkan tool name salah bikin subagent hang; engine permission AGY yang meng-gate\n- Transform .claude tetap strip key AGY (0 kemunculan); copy plugin agents/ ikut via build-adapters\n- Test baru di symmetry.test.js mengunci konsistensi; 594 tests pass\n\nAdaptor & sync\n- build-adapters regenerasi semua copy; check-rule-copies: All consistent\n- Versi sync 2.5.26 di 12 file via bump.sh\n\nGitHub · npm
v2.5.25 — benchmark v3 quality-first + evidence docs overhaul
What's new in v2.5.25
Benchmark v3 — quality-first (bukan cost-first).
- Defect density (anti-pattern findings per 100 LOC added) jadi metrik kualitas utama
- 2 task kompleks baru: multi-file refactor + 2-layer auth security bug
- Hasil terukur: no-rules agents GAGAL refactor (0/2), matcha satu-satunya arm yang selesai (1/1) — service layer diekstrak, semua test hijau
- Rework-loop counterfactual: 1 redo (~590K tokens) lebih besar dari seluruh premium matcha (+248K)
Docs overhaul — headline-first.
- Verdict box di atas, cost table dibingkai ulang sebagai 'invoice for verification'
- Section benchmark utuh: what-is / where-strong / which-feature-when / Run It Yourself
Standing-context slim.
- core.md 18.6K->15.9K chars + lazy-load + matcha-lite A/B arm (20 cells)
593 tests pass. Harness: node benchmark/live-bench.js --all --n 5