Skip to content

Route the remaining hand-rolled child-process deadlines through utils::process #1067

Description

[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:

  • No tokio::time::timeout around a child process outside utils::process.
  • PDM and npm_dir suites green; the guard test fails on a planted site.

Dependencies: none.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent:claimedagent:triagedarch-auditFiled by a scheduled architecture audit routine (see the architecture review discussion)priority:p3refactorStructural change: duplicated code or logic, missing abstraction, layering, dead code

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions