Skip to content

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
· 8 commits to main since this release

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)