Summary
When research subagents fetch web/paper content, the fetched full-text page dumps land in ~/Downloads (timestamped, named after the fetched papers) instead of anywhere under the project working directory. They're cache/scratch, not deliverables, but they spill outside the repo and there's no exposed way to redirect them.
What's actually happening (traced through source)
- feynman's own source (
src/) has no code that writes fetched content to ~/Downloads and no setting to redirect a fetch cache into cwd. The only homedir() uses in src/ are config dirs (.feynman, .modal.toml, .claude-science).
- The underlying agent
@earendil-works/pi-coding-agent has no web-fetch tool at all — its built-in tools are bash/edit/find/grep/ls/read/write.
- The fetch tool is
fetch_content (aliased from fetch / WebFetch / read_url_content in @earendil-works/pi-agent-core, see dist/agent-loop.js), registered dynamically at runtime from the Pi/alpha layer. Its write-to-~/Downloads default is not statically configurable from feynman.
Impact
- Fetch cache accumulates in
~/Downloads across runs, mixed with unrelated user files.
- Users can't tell cache from deliverables at a glance (both timestamped "today").
- Cleanup requires touching
~/Downloads, which is undesirable to automate.
Expected
fetch_content should cache fetched page content inside the project working directory (e.g. a gitignored notes/cache/ or .feynman/cache/), or expose a config/env override so feynman can point it at cwd.
Notes
Separate from #187 (that was about the --extensions unknown-flag UX). This is about the fetch cache location.
Environment
- feynman 0.3.5 (darwin-arm64)
Summary
When research subagents fetch web/paper content, the fetched full-text page dumps land in
~/Downloads(timestamped, named after the fetched papers) instead of anywhere under the project working directory. They're cache/scratch, not deliverables, but they spill outside the repo and there's no exposed way to redirect them.What's actually happening (traced through source)
src/) has no code that writes fetched content to~/Downloadsand no setting to redirect a fetch cache into cwd. The onlyhomedir()uses insrc/are config dirs (.feynman,.modal.toml,.claude-science).@earendil-works/pi-coding-agenthas no web-fetch tool at all — its built-in tools are bash/edit/find/grep/ls/read/write.fetch_content(aliased fromfetch/WebFetch/read_url_contentin@earendil-works/pi-agent-core, seedist/agent-loop.js), registered dynamically at runtime from the Pi/alpha layer. Its write-to-~/Downloadsdefault is not statically configurable from feynman.Impact
~/Downloadsacross runs, mixed with unrelated user files.~/Downloads, which is undesirable to automate.Expected
fetch_contentshould cache fetched page content inside the project working directory (e.g. a gitignorednotes/cache/or.feynman/cache/), or expose a config/env override so feynman can point it at cwd.Notes
Separate from #187 (that was about the
--extensionsunknown-flag UX). This is about the fetch cache location.Environment