mirror of
https://github.com/proffesor-for-testing/agentic-qe.git
synced 2026-09-19 08:45:47 +08:00
201f5e8a95
Reported by @ciprianmelian. The aqe-init-generated PostToolUse hook ran `post-task --task-id ... --success --json`, but --success was declared `<bool>` (value REQUIRED), so Commander consumed --json as the success value: options.success='--json' -> parsed false -> EVERY qe_trajectories / captured_experiences row got success=0, the --json branch was swallowed, and no --agent meant agent='unknown'. Net: Task trajectories were unpromotable (distillation groups by agent/domain/success), so pattern count stayed pinned near zero. (Confirmed in source; same class as the learning gaps #510 hardened.) Fix (two layers): 1. Parser hardening — `--success <bool>` -> `--success [bool]` (optional value) in task-hooks/command-hooks/routing-hooks, so a bare --success yields boolean true and never eats the next token. Backward compatible: --success true/false and the 'true' default all still parse identically. 2. Generated templates (07-hooks.ts + init-wizard-hooks.ts): post-task now emits `--agent "$TOOL_INPUT_subagent_type" --success true --description "$TOOL_INPUT_prompt" --json` (real agent attribution + explicit success + pre-task bridge), and post-command emits explicit `--success true`. Verified: isolated Commander proof — OLD <bool>: success="--json" (false); NEW [bool]: success=true, --json fires. Plus 3 regression tests driving the EXACT broken argv through registerTaskHooks: bare --success -> success=true, explicit --success false -> false, --agent flows through. 5/5 task-hook tests pass (incl. existing #449); typecheck clean. (Full post-task CLI run OOMs in Codespace per CLAUDE.md — the parsing layer is the bug and is proven.) NOTE for existing installs: re-run `aqe init` (or hand-edit the PostToolUse hook in .claude/settings.json) to pick up the corrected command. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>