[agent] Filed by the October 7 architecture audit campaign (core). Register: arch-audit register.
Kind: refactor. Source: C48 remainder (#845 closed by #886 slice 1), register C48.
Problem: #886 added utils::process::output_within (10 s probe deadline) and closed #845, but hand-rolled spawn deadlines remain: pdm_site.rs#L19 keeps its own 5 s PROBE_TIMEOUT with tokio::time::timeout and kill_on_drop (added by #611), and npm_dir.rs#L426 and #L1220-L1225 keep 30 s and 60 s git exchanges. The async CommandRunner and the architecture guard from #886's plan were never tracked.
Impact: probe deadlines and kill policy drift again; the refactor notes forbid new timeout + kill_on_drop sites but nothing enforces it.
Proposed change: route pdm_site and the npm_dir git exchange through the shared runner (an async variant if needed) and delete the local deadlines; add an architecture test that rejects new kill_on_drop spawns outside utils::process.
Acceptance criteria:
Dependencies: none.
Generated by Claude Code
[agent] Filed by the October 7 architecture audit campaign (core). Register: arch-audit register.
Kind: refactor. Source: C48 remainder (#845 closed by #886 slice 1), register C48.
Problem: #886 added
utils::process::output_within(10 s probe deadline) and closed #845, but hand-rolled spawn deadlines remain:pdm_site.rs#L19keeps its own 5 sPROBE_TIMEOUTwithtokio::time::timeoutandkill_on_drop(added by #611), andnpm_dir.rs#L426and#L1220-L1225keep 30 s and 60 s git exchanges. The asyncCommandRunnerand the architecture guard from #886's plan were never tracked.Impact: probe deadlines and kill policy drift again; the refactor notes forbid new
timeout+kill_on_dropsites but nothing enforces it.Proposed change: route
pdm_siteand thenpm_dirgit exchange through the shared runner (an async variant if needed) and delete the local deadlines; add an architecture test that rejects newkill_on_dropspawns outsideutils::process.Acceptance criteria:
tokio::time::timeoutaround a child process outsideutils::process.Dependencies: none.
Generated by Claude Code