Skip to content

fix: impact --name (and query) subprocess hangs on headless Linux — 0.9s local, >60s CI (LSP init?) #322

Description

@Wolfvin

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

  • Root cause hang impact --name/query di Linux headless teridentifikasi (LSP init? lainnya) — diverifikasi di Linux
  • impact --name X selesai cepat di Linux headless tanpa LSP responsif (non-blocking/timeout)
  • test_impact_confidence_without_deep di-unskip & pass di CI
  • Agent bisa impact --name di Linux tanpa risiko hang

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions