Skip to content

Releases: plumpslabs/matcha

v2.5.34

Choose a tag to compare

@farhank15 farhank15 released this 04 Sep 03:14

🍵 matcha v2.5.34

🛠️ Fixes & Enhancements:

  • AGY ESM Hook Resolution: Automatic generation of .agents/package.json with {"type": "module"} during install and build to prevent MODULE_TYPELESS_PACKAGE_JSON warnings 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)

Choose a tag to compare

@farhank15 farhank15 released this 04 Sep 03:03

🍵 matcha v2.5.33

🛡️ Bulletproof Hook Resolution

  • Dynamic Multi-Path Resolver: hooks.json now dynamically checks hooks/, .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: allow with exit code 0. Antigravity agents will NEVER be locked out or bricked with MODULE_NOT_FOUND again.

v2.5.32 — Fix missing .agents/hooks directory in target projects

Choose a tag to compare

@farhank15 farhank15 released this 04 Sep 02:56

🍵 matcha v2.5.32

🐛 Bug Fixes

  • Antigravity CLI Hooks (): Fixed a MODULE_NOT_FOUND bug where target workspaces lacked the .agents/hooks/ folder. install.sh and build-adapters.js now 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

Choose a tag to compare

@farhank15 farhank15 released this 04 Sep 01:24

🍵 matcha v2.5.31 Release Notes

🚀 What's New

  1. ⚡ 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.json and native CTags caching.
  2. 🔎 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 (observe for docs/styling, enforce for standard logic, audit for security/DB/billing).
  3. 🪝 Native Git Pre-Commit Guard & Security Scanner

    • Added matcha hooks install to enforce local git pre-commit scanning.
    • Added matcha scan & matcha index commands to Matcha CLI.
  4. 📦 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).
  5. 🧪 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

Choose a tag to compare

@farhank15 farhank15 released this 11 Aug 02:53

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

Choose a tag to compare

@farhank15 farhank15 released this 10 Aug 06:24

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.js now reads event.workspacePaths (AGY sends it in every hook event — confirmed from AGY's official hooks.md) and passes it as the workspace root.
  • planning-gate.js resolves intensity + plan path from that cwd instead of process.cwd().
  • AGY's Create tool now maps to write_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.md is ALWAYS allowed — create the plan there now via Edit/WriteFile.
💡 Run /matcha:intensity observe to 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

Choose a tag to compare

@farhank15 farhank15 released this 10 Aug 04:50

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:

  • opencodemode: subagent → spawn-only via Task tool / @-mention, hidden from the Tab picker
  • AGY / AntigravitymainAgent: 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.md is 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

Choose a tag to compare

@farhank15 farhank15 released this 08 Aug 06:29

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:adr while 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

Choose a tag to compare

@farhank15 farhank15 released this 08 Aug 05:08

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

Choose a tag to compare

@farhank15 farhank15 released this 08 Aug 03:51

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