Skip to content

v0.2

@claude claude tagged this 19 Apr 18:44
Prevents Claude Code hooks, CI runs, and local dev from hanging forever when a
test, socket, or subprocess stalls. All limits are ceilings — CLAUDE.md now
documents that they must never be raised.

Per-test (PHPUnit 11): enforceTimeLimit=true, small/medium/large = 2/5/10s,
default 10s. Socket / max_execution_time capped at 10s / 15s via <ini>.

Vitest: testTimeout/hookTimeout 10s (jsdom) / 15s (browser), teardown 5s.

Makefile: with_timeout wrapper around every PHPUnit / Vitest / fixture run,
using GNU coreutils timeout with --kill-after=5s. TEST_TIMEOUT=180s,
FIXTURE_TIMEOUT=120s, HELPER_TIMEOUT=15s.

Runtime PHP clients now hard-cap their own timeouts (never raised by callers):
- FixtureRunner / DebugDataFetcher: 15s hard cap, retry loop bounded by deadline
- InspectorClient: 15s hard cap
- AcpDaemonManager: SESSION_START_TIMEOUT/MAX_PROMPT_TIMEOUT = 30s
- RequestController re-execute: 15s (connect 5s)
- FrontendUpdateCommand: 10s API / 30s ZIP (connect 5s)

https://claude.ai/code/session_01BTEdEnnoN1N9ambFU39RUF
Assets 2
Loading