Mengapa (falsifiable — CI Linux vs Windows, 2026-07-18)
codelens impact <repo> --name detect_dead_code --format json:
- Windows dev lokal: 0.9 detik (
time diukur).
- Linux CI (run 29627392263): >60 detik → TimeoutExpired (di-kill oleh subprocess timeout=60).
Ini hang spesifik Linux headless, bukan lambat (0.9s vs 60s+). Terisolasi: audit <repo> --check dead-code (juga analisis repo penuh + confidence) TIDAK hang di Linux — hanya impact --name (dan query, #303) yang hang.
Dampak (north-star agent-ergonomics)
Agent yang menjalankan impact --name X di Linux (mayoritas CI/agent env) bisa hang. Ini command inti (blast radius) — justru yang menggantikan grep. Hang senyap = agent stall. Serius.
Dugaan (belum diverifikasi — butuh Linux)
impact/query memicu LSP init blocking; _which (lsp_client.py:78) menemukan server Python (pylsp/pyright) di Linux CI runner, init hang (bandingkan catatan "rust-analyzer tak respond initialize 60s"). audit dead-code tak lewat jalur LSP yang sama → tak hang. Windows: which gagal → no LSP → no hang.
- Kandidat fix: LSP init non-blocking / timeout wajib; atau
impact/query tak init LSP tanpa --deep.
Konteks
Definition of Done
Mengapa (falsifiable — CI Linux vs Windows, 2026-07-18)
codelens impact <repo> --name detect_dead_code --format json:timediukur).Ini hang spesifik Linux headless, bukan lambat (0.9s vs 60s+). Terisolasi:
audit <repo> --check dead-code(juga analisis repo penuh + confidence) TIDAK hang di Linux — hanyaimpact --name(danquery, #303) yang hang.Dampak (north-star agent-ergonomics)
Agent yang menjalankan
impact --name Xdi Linux (mayoritas CI/agent env) bisa hang. Ini command inti (blast radius) — justru yang menggantikan grep. Hang senyap = agent stall. Serius.Dugaan (belum diverifikasi — butuh Linux)
impact/querymemicu LSP init blocking;_which(lsp_client.py:78) menemukan server Python (pylsp/pyright) di Linux CI runner, init hang (bandingkan catatan "rust-analyzer tak respond initialize 60s").audit dead-codetak lewat jalur LSP yang sama → tak hang. Windows:whichgagal → no LSP → no hang.impact/querytak init LSP tanpa--deep.Konteks
test_hybrid_engine::test_impact_confidence_without_deepdi-skip merujuk issue ini (coverage confidence tetap ditest_dead_code_confidence_fieldsviaaudit, yang pass di Linux).Definition of Done
impact --name/querydi Linux headless teridentifikasi (LSP init? lainnya) — diverifikasi di Linuximpact --name Xselesai cepat di Linux headless tanpa LSP responsif (non-blocking/timeout)test_impact_confidence_without_deepdi-unskip & pass di CIimpact --namedi Linux tanpa risiko hang