Mengapa (falsifiable — ditemukan saat DOGFOOD 2026-07-18, north-star agent-ergonomics)
4 umbrella (context/impact/audit/deps) pakai pola <umbrella> <workspace> --check X --name Y (workspace positional). Tapi search positional-nya = pattern, bukan workspace. Agent yang konsisten menulis pola umbrella lain kena jebakan:
$ codelens search . --mode symbol execute
exit=2 ; stdout=0 bytes
stderr: codelens.py: error: unrecognized arguments: execute
. jadi pattern, execute jadi extra → argparse error. Error ke stderr, stdout KOSONG. Agent yang mem-parse stdout JSON (cara pakai normal) dapat nol byte = menyimpulkan "tak ada hasil" — padahal itu error argumen. search execute --mode symbol (pattern-only) bekerja (69 hits), tapi kegagalan senyap membuat agent salah simpul tanpa sadar.
Dampak
Agent-ergonomics (north-star #279): CodeLens dibangun agar agent berhenti grep. Kalau CLI error muncul sebagai stdout-kosong, agent tak bisa membedakan "genuinely no results" vs "salah argumen" — silent-wrong, kelas yang sama dgn #293/#300 (tool bohong ke agent).
Tujuan
Error CLI (argparse maupun runtime) muncul dalam envelope JSON di stdout ({"s":"error","error":...}) atau minimal tidak terbaca sebagai hasil-kosong. Agent selalu bisa membedakan error vs empty.
Constraint
- Jangan pecah pemakaian interaktif (stderr human-readable tetap OK) — tapi
--format json/compact harus emit error ke stdout.
- Pertimbangkan konsistensi positional
search dgn umbrella lain (workspace positional) ATAU dokumentasikan tegas + validasi argumen berlebih dgn pesan yang mengarah.
Definition of Done
Mengapa (falsifiable — ditemukan saat DOGFOOD 2026-07-18, north-star agent-ergonomics)
4 umbrella (context/impact/audit/deps) pakai pola
<umbrella> <workspace> --check X --name Y(workspace positional). Tapisearchpositional-nya = pattern, bukan workspace. Agent yang konsisten menulis pola umbrella lain kena jebakan:.jadi pattern,executejadi extra → argparse error. Error ke stderr, stdout KOSONG. Agent yang mem-parse stdout JSON (cara pakai normal) dapat nol byte = menyimpulkan "tak ada hasil" — padahal itu error argumen.search execute --mode symbol(pattern-only) bekerja (69 hits), tapi kegagalan senyap membuat agent salah simpul tanpa sadar.Dampak
Agent-ergonomics (north-star #279): CodeLens dibangun agar agent berhenti grep. Kalau CLI error muncul sebagai stdout-kosong, agent tak bisa membedakan "genuinely no results" vs "salah argumen" — silent-wrong, kelas yang sama dgn #293/#300 (tool bohong ke agent).
Tujuan
Error CLI (argparse maupun runtime) muncul dalam envelope JSON di stdout (
{"s":"error","error":...}) atau minimal tidak terbaca sebagai hasil-kosong. Agent selalu bisa membedakan error vs empty.Constraint
--format json/compactharus emit error ke stdout.searchdgn umbrella lain (workspace positional) ATAU dokumentasikan tegas + validasi argumen berlebih dgn pesan yang mengarah.Definition of Done
search . --mode symbol execute(atau argumen salah lain) → error terbaca di stdout untuk--format json/compact, bukan nol byte