Mengapa
Ditemukan saat navigasi kode untuk issue #237 (bukan scope task itu, temuan sampingan). scripts/codelens.py's _REGISTRY_COMMANDS set (gerbang yang menampilkan pesan ramah "Registry was auto-built...") masih list nama command LAMA pra-#195: query, trace, impact, context, dependents, list, symbols, search, summary, smell, complexity, dead-code, debug-leak, circular, missing-refs, side-effect, perf-hint, secrets, dataflow, vuln-scan, env-check, entrypoints, api-map, state-map, handbook, analyze, test-map, stack-trace, config-drift, type-infer, ownership, regex-audit, a11y, css-deep, diff, ask, taint, dashboard, history.
args.command sekarang SELALU salah satu dari 12 nama umbrella (audit, security, deps, impact, doctor, context, dll) — beberapa nama lama kebetulan sama dengan nama umbrella baru (search/summary/history/api-map/context/impact), tapi audit, security, deps, doctor TIDAK PERNAH match set ini karena bukan nama command apapun pra-#195.
Konteks
Verified BUKAN functional break — dites audit --check dead-code di workspace kosong tanpa .codelens/, hasilnya tetap sukses (.codelens/codelens.db ter-buat), berarti ada auto-init fallback LAIN yang jalan (kemungkinan di registry.py/engine level, independen dari gate _auto_setup() global ini). Tapi karena gate ini tidak match, command audit/security/deps/doctor di workspace kosong TIDAK dapat field _auto_setup: true + pesan "Registry was auto-built" yang informatif — agent tidak tahu bahwa registry baru saja auto-dibuat (dan mungkin capped/parsial), field itu cuma silently absent.
Tujuan
_REGISTRY_COMMANDS diupdate ke 12 nama umbrella (scan dikecualikan karena scan sendiri yang membangun registry, tidak butuh gate ini): search, context, deps, audit, security, summary, impact, api-map, doctor, history, graph. Field _auto_setup konsisten muncul di semua command analisis kalau registry baru dibangun otomatis, bukan cuma sebagian.
Constraint
- JANGAN ubah logic
_auto_setup() function itu sendiri — cuma update SET nama command yang jadi gate-nya.
- Investigasi dulu jalur auto-init LAIN yang bikin
audit tetap jalan tanpa registry (kemungkinan besar tumpang tindih dengan _auto_setup() — kalau iya, pertimbangkan apakah ini 2 mekanisme redundant yang perlu disatukan, bukan cuma tambal gate-nya).
Definition of Done
Mengapa
Ditemukan saat navigasi kode untuk issue #237 (bukan scope task itu, temuan sampingan).
scripts/codelens.py's_REGISTRY_COMMANDSset (gerbang yang menampilkan pesan ramah "Registry was auto-built...") masih list nama command LAMA pra-#195:query, trace, impact, context, dependents, list, symbols, search, summary, smell, complexity, dead-code, debug-leak, circular, missing-refs, side-effect, perf-hint, secrets, dataflow, vuln-scan, env-check, entrypoints, api-map, state-map, handbook, analyze, test-map, stack-trace, config-drift, type-infer, ownership, regex-audit, a11y, css-deep, diff, ask, taint, dashboard, history.args.commandsekarang SELALU salah satu dari 12 nama umbrella (audit,security,deps,impact,doctor,context, dll) — beberapa nama lama kebetulan sama dengan nama umbrella baru (search/summary/history/api-map/context/impact), tapiaudit,security,deps,doctorTIDAK PERNAH match set ini karena bukan nama command apapun pra-#195.Konteks
Verified BUKAN functional break — dites
audit --check dead-codedi workspace kosong tanpa.codelens/, hasilnya tetap sukses (.codelens/codelens.dbter-buat), berarti ada auto-init fallback LAIN yang jalan (kemungkinan diregistry.py/engine level, independen dari gate_auto_setup()global ini). Tapi karena gate ini tidak match, commandaudit/security/deps/doctordi workspace kosong TIDAK dapat field_auto_setup: true+ pesan "Registry was auto-built" yang informatif — agent tidak tahu bahwa registry baru saja auto-dibuat (dan mungkin capped/parsial), field itu cuma silently absent.Tujuan
_REGISTRY_COMMANDSdiupdate ke 12 nama umbrella (scandikecualikan karena scan sendiri yang membangun registry, tidak butuh gate ini):search, context, deps, audit, security, summary, impact, api-map, doctor, history, graph. Field_auto_setupkonsisten muncul di semua command analisis kalau registry baru dibangun otomatis, bukan cuma sebagian.Constraint
_auto_setup()function itu sendiri — cuma update SET nama command yang jadi gate-nya.audittetap jalan tanpa registry (kemungkinan besar tumpang tindih dengan_auto_setup()— kalau iya, pertimbangkan apakah ini 2 mekanisme redundant yang perlu disatukan, bukan cuma tambal gate-nya).Definition of Done
_REGISTRY_COMMANDSberisi nama umbrella yang benaraudit --check dead-codedi workspace kosong tanpa registry → response punya field_auto_setup: truedengan pesan yang sama sepertisearch/contextscan) trigger auto-setup message yang sama di workspace kosong