Skip to content

rfc: unified graph for read (trace/impact) and write (rename/move) — no CodeLens refactor engine exists today #242

Description

@Wolfvin

Mengapa

Ditemukan saat brainstorming "dream tool sempurna" untuk eksplorasi repo — poin terakhir dan paling ambisius: hari ini graph yang menjawab "siapa yang panggil X" (trace/impact) dan proses yang benar-benar MENGUBAH kode (rename/move/delete file) adalah dua dunia terpisah. CodeLens sekarang TIDAK PUNYA refactor engine sama sekali — cuma analisis read-only. Kalau suatu saat CodeLens (atau tool lain) menambahkan kemampuan menulis, risiko besar: graph yang dipakai untuk memutuskan "aman diubah" bisa drift dari graph yang benar-benar dipakai eksekusi perubahan, menghasilkan rename yang "dijamin aman" tapi ternyata rusak.

Konteks

Ini BUKAN task implementasi langsung — scope-nya sengaja RFC/design-doc-only untuk sekarang. Issue #241 (extend impact simulation to rename) adalah langkah kecil realistis yang TIDAK butuh RFC ini; RFC ini untuk kalau/ketika CodeLens benar-benar mau punya kemampuan MENULIS perubahan (bukan cuma simulasi/analisis).

Tujuan

Design doc yang menjawab: kalau CodeLens someday membangun kemampuan menulis (rename simbol lintas file secara aktual, bukan cuma simulasi), bagaimana memastikan graph yang dipakai untuk decision ("aman diubah") adalah PERSIS graph yang sama dipakai eksekusi — supaya tidak ada window di mana graph stale menyebabkan write yang salah.

Constraint

  • JANGAN implementasi kode di issue ini — cuma design doc / RFC.
  • Kalau setelah RFC kesimpulannya "belum worth dibangun sekarang" (misal karena scope-nya terlalu besar dibanding value, atau ada tool eksternal yang sudah cover ini lebih baik seperti IDE refactor tools), itu OUTCOME YANG VALID — RFC boleh berakhir dengan rekomendasi "tidak lanjut", bukan wajib menghasilkan rencana implementasi.
  • Worker/BOS yang ambil issue ini WAJIB baca docs/agent-usage-guide.md dan issue feat(impact): friendly 'simulate change' entry point, extend beyond delete to rename #241 dulu supaya tidak duplikasi scope yang sudah dikerjakan di sana.

Definition of Done

  • RFC doc di docs/design/ menjawab: apakah worth dibangun, kalau ya arsitektur seperti apa (graph-as-single-source-of-truth untuk read DAN write), kalau tidak kenapa
  • Tidak ada kode baru dari issue ini kecuali RFC merekomendasikan langkah implementasi kecil yang jelas scope-nya

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions