fix(research): restore subagent fan-out (#116) #138
Reference in New Issue
Block a user
Delete Branch "docs/116-research-fanout-decision"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Restores the parallel subagent fan-out in
plugins/bin/.apm/skills/research/SKILL.mdsteps 4-5 and the "orchestrator writes every file" gotcha, with a serial fallback for a target that has no spawn tool. Version 1.0.1 -> 1.0.2. Adds ADR-0027 recording the decision.Closes #116.
Why
researchtold the agent to spawn one subagent per URL, then its steps were rewritten to say no subagent tool was granted, so it ran serial and fetched every page into one context. The fan-out existed to keep raw pages out of that context. #116 asked whether to restore it; this PR does.Commits
6683da5restores the fan-out. It also droppedallowed-toolson the premise that the list blocked spawning.acaab29corrects that premise. The repo's own docs (skill-author/references/create.md:113, the agentskills.io spec, the Copilot docs) describeallowed-toolsas pre-approval, not restriction. The list is restored. The spawn tool is not added:Agentis sourced for Claude Code only, and the Copilot/Codex names are not known, so spawns prompt rather than being pre-approved.f48f3d9rewrites ADR-0027 to match the code and claim only what is verified. The file isdocs/adr/0027-research-fan-out-restored-and-its-tool-list-kept.md.1a66ee9applies review findings: a serial fallback in step 4 (read serially and reduce each page to notes if no spawn tool is available), a patch bump to 1.0.2 (the change restores existing behaviour), and a trim of the body from 717 words to under the 600-word ADR-0020 target with no instruction dropped.Net change to
SKILL.md: version bump, the new gotcha, the rewritten steps 4-5 with the fallback, and prose tightened elsewhere.allowed-toolsis unchanged. Squash-merge:6683da5carries a wrong premise and aClosesline that closed #116 at push time.Tradeoffs and what is not done
Review
Two clean-context subagent reviews were run. The first found the
allowed-toolspremise unverified and contradicted by repo docs;acaab29andf48f3d9address that. The second (full PR) requested changes;1a66ee9and this description address the fallback, version, size and stale-description findings. The rest are listed above as not done.🤖 Generated with Claude Code
https://claude.ai/code/session_01EGHFJextYtVQseaHPDDhxB
ADR-0027 was rewritten in
f48f3d9to match the code. The "ADR-0027 is out of date" warning in the description is now resolved.What changed in the ADR:
0027-research-fan-out-restored-and-its-tool-list-kept.md, since the decision is no longer "dropallowed-tools".allowed-toolsblocking spawning; the repo's own sources describe the field as pre-approval. What Claude Code, Copilot and Codex do with an unlisted tool is recorded as not verified.researchkeeps itsallowed-toolslist and gets the fan-out back in steps 4-5. The spawn tool is left out becauseAgentis sourced for Claude Code only, so spawns prompt on that target.write-docs,improve-codebase-architectureandforgeomitallowed-toolsand instruct spawning (forgefrom its references, notSKILL.md). That shows they spawn, not that runs succeeded. Theskill-author/SKILL.md:24prohibition is noted as unrelated.ai-coding-factory-principles.md:53is cited as the reason the list was kept.Review findings deliberately not addressed, by decision:
The PR still says
Refs #116, so merging will not close the issue.🤖 Generated with Claude Code
https://claude.ai/code/session_01EGHFJextYtVQseaHPDDhxB
Review of #138
Verdict: changes requested.
01dfd81fixes the two findings below that were acted on.Fixed in
01dfd81skill-size-check.shexits clean with no suggestion.Still to do before merge
01dfd81.Accepted as is
stopin step 3.allowed-toolsstill disagree onAgent, as ADR-0027 records.merge. Squash by hand:6683da5carries a wrong premise.CI reports no checks. The local pre-push hooks passed on this push.