You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Diharapkan: - + `freshFn` (a.py) dan - - `goneFn`.
Konteks
Mengenai _md_diff() di scripts/formatters/markdown.py (~baris 1153-1165), blok if be:.
Tiga tempat kena: added_nodes, removed_nodes, changed_nodes — ketiganya .get('fn').
Sisi frontend blok yang sama BENAR (cls.get('name')) — jadi ini murni ketidakcocokan di sisi backend.
Dampak: impact --check diff --format markdown melaporkan jumlah yang benar tapi identitas kosong — user/agent tahu "1 fungsi ditambah" tanpa tahu fungsi mana. Diam-diam tak berguna, tidak crash, jadi tak pernah ketahuan.
Diff markdown menampilkan nama fungsi backend yang sebenarnya, dan mismatch ini tak bisa terulang diam-diam.
Constraint
Perbaiki di sisi consumer (markdown.py baca name), JANGAN ubah bentuk output _diff_backend() — commands/diff.py, dashboard, dan MCP sudah mengonsumsi name; mengubah producer memecah mereka.
Mengapa (falsifiable — repro dijalankan 2026-07-17)
Ditemukan saat navigasi untuk #297 (edge-diff), bukan scope task itu — jadi tidak di-fix di PR #298.
--format markdownpada registry diff selalu mencetak nama fungsi kosong. Producer dan consumer memakai key berbeda:diff_engine._diff_backend()mengemit:{"name": "freshFn", "file": "a.py", "status": "active"}scripts/formatters/markdown.py:1158-1161membaca:node.get('fn', '')→ selalu jatuh ke default''Repro:
Output aktual:
Diharapkan:
- + `freshFn` (a.py)dan- - `goneFn`.Konteks
_md_diff()discripts/formatters/markdown.py(~baris 1153-1165), blokif be:.added_nodes,removed_nodes,changed_nodes— ketiganya.get('fn').cls.get('name')) — jadi ini murni ketidakcocokan di sisi backend.impact --check diff --format markdownmelaporkan jumlah yang benar tapi identitas kosong — user/agent tahu "1 fungsi ditambah" tanpa tahu fungsi mana. Diam-diam tak berguna, tidak crash, jadi tak pernah ketahuan.diff_engine.pytak punya test sama sekali sebelum feat(diff): compare call-graph edges in snapshot diff — 25,876 edges saved to disk but never compared #297;_md_diff()juga belum tertutup test.Tujuan
Diff markdown menampilkan nama fungsi backend yang sebenarnya, dan mismatch ini tak bisa terulang diam-diam.
Constraint
markdown.pybacaname), JANGAN ubah bentuk output_diff_backend()—commands/diff.py, dashboard, dan MCP sudah mengonsumsiname; mengubah producer memecah mereka._md_diff()— scope-nya key mismatch saja.Definition of Done
_md_diff()mencetak nama fungsi untukadded_nodes/removed_nodes/changed_nodes_diff_backend()tidak berubah