Release: v0.20.5
Agent and skill refinements.
Added
- Adjacent-case sweep. When a task is a bug fix, regression, state-change, or boundary-change, the workflow now checks the cases that share its path, contract, persisted state, or external boundary — so a fix in one place doesn't leave a sibling case regressed.
task-decomposerclassifies a task'sChange Categoryand adds the adjacent files (and both-side boundary owners) to its Investigation Targets.task-executor(and the frontend variant) runs a field-triggered sweep before implementation.code-reviewergains anadjacent_residualfinding category;verifierandsolveraccount for adjacent cases.
Changed
- Frontend skills are no longer Vite-locked. Guidance is now React-general (Vite SPA, Next.js, and others):
- Environment variables use the bundler-agnostic exposure rule with per-bundler accessors (Vite
import.meta.env, Next.js/CRA prefixedprocess.env). - Memoization defers to React Compiler when enabled; manual memoization is a profiler- or identity-justified escape hatch.
useEffectasync guidance now covers out-of-order responses and post-unmount state updates.- Conditional React Server Component /
"use client"boundary guidance (N/A for client-only SPAs). - The quality-check workflow maps the project's
package.jsonscripts to phases instead of hardcoding tool-specific names and ports.
- Environment variables use the bundler-agnostic exposure rule with per-bundler accessors (Vite
- Coverage is framed as a diagnostic signal, not a target. Fixed percentages, the non-existent "Frontend standard 2025" label, and a dangling ADR reference were removed; any threshold defers to the project's CI config.
- Compressed the JSON examples in several agent prompts for a smaller context footprint.