feat(ase-code-analyze): add -Q one-shot analyze → resolve → implement → verify - #77
feat(ase-code-analyze): add -Q one-shot analyze → resolve → implement → verify#77Brusdeylins wants to merge 1 commit into
Conversation
… → verify Add a --quick/-Q flag that turns an analysis into a fully autonomous one-shot pipeline. After reporting and persisting the surviving problems, -Q groups them into per-file clusters and dispatches one worktree-isolated `ase-code-resolve -Q` sub-agent per cluster in parallel (in the background, with a progress line per returning cluster; each worktree is seeded with the live tree's uncommitted state so its diff applies). It then reconciles the returned diffs into the working tree (plain `git apply`, `--3way` fallback, conflicting clusters re-resolved sequentially so all problems merge), removes the temporary worktrees, and finally runs the project's formatter, build, and test suite centrally on the merged result with up to two autonomous repair rounds. ACCEPTED findings (documented, reviewed trade-offs) are excluded from auto-resolution. Nothing is staged or committed -- staging remains with the user. -Q composes with --severity and requires a Git repository (otherwise clusters are resolved sequentially without worktree isolation). Adds "Bash" to allowed-tools for the reconcile and worktree cleanup, and reports a per-problem result table plus a verification outcome. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Closing this without merge: the underlying need is solved better by orchestration than by a flag. The So the branch is dropped rather than rebased further. Nothing here is needed by the other open PRs: 🤖 Generated with Claude Code |
Summary
Adds a
--quick/-Qflag toase-code-analyzethat turns an analysisinto a fully autonomous one-shot
analyze → resolve → implement → verifypipeline. After reporting and persisting the surviving problems,
-Q:resolved in separate parallel worktrees, which would guarantee
conflicts);
ase-code-resolve -Qsub-agentper cluster in the background, emitting a progress line per
returning cluster; each worktree is first seeded with the live
tree's uncommitted state so its returned diff applies cleanly;
git apply,--3wayfallback, and a conflicting cluster is re-resolvedsequentially so that all problems merge), then removes the temporary
worktrees again;
the merged result, with up to two autonomous repair rounds.
ACCEPTEDfindings (documented, reviewed trade-offs) are excludedfrom auto-resolution. Nothing is staged or committed — staging stays
with the user.
-Qcomposes with--severity(only surviving findingsare resolved) and requires a Git repository (otherwise clusters are
resolved sequentially, without worktree isolation).
Scope
Additive and fully guarded: the whole flow lives inside a single
<if <getopt-option-quick/> …>block, so the default (non--Q)behavior is unchanged apart from the
argument-hint,allowed-tools(
Bash), and getopt-spec additions. Onlyase-code-analyze(
SKILL.md+help.md) is touched (+189/−2), rebased cleanly on top ofthe current severity-descending ordering.
Verification
Field-tested end-to-end on a real, multi-finding Java/Gradle codebase.
The current design — per-file clustering, worktree seeding,
--3wayreconcile, background fan-out, central verify-and-repair, and
ACCEPTEDexclusion — is the direct result of hardening that first run surfaced
(unverified per-worktree fixes, dirty-tree patch failures, same-file
conflicts, and silent long fan-out).
🤖 Generated with Claude Code