Skip to content

feat(context): token-efficient hierarchical symbols-overview fast-path (like Serena get_symbols_overview) #254

Description

@Wolfvin

Mengapa

Gap-analysis vs Serena MCP. Serena's get_symbols_overview beri "hierarchical map of top-level symbols in a file, allowing agents to understand structure WITHOUT reading every line" — token-efficient onboarding. CodeLens punya context --check outline (verified jalan, per-file, kembalikan functions/imports/classes) tapi: (a) output-nya flat per-file, bukan hierarkis top-level-first; (b) tidak ada mode "seluruh workspace top-level symbols dalam 1 call yang ringkas". Agent yang mau peta cepat struktur repo harus outline file-per-file → boros call + token.

Konteks

outline_engine.py + context --check outline sudah ada. scan sudah bangun graph_nodes dengan semua symbol + node_type (function/class/module/route/type/interface) + file + line. Data untuk overview hierarkis SUDAH ADA di graph — tinggal query + format ringkas (nama + kind + file:line, tanpa body).

Tujuan

Fast-path yang kembalikan peta top-level symbols hierarkis (per-file atau per-workspace) yang token-efficient — cukup untuk agent paham "file ini punya class/fungsi apa" tanpa baca isi. Kandidat: context --check outline --overview atau flag ringkas di outline existing. Reuse graph_nodes, bukan re-parse.

Constraint

  • JANGAN re-parse file — query graph_nodes yang sudah terisi dari scan.
  • Output harus BENAR-BENAR ringkas (target: <1 baris per symbol, nama+kind+lokasi). Ini beda dari outline penuh yang detail.
  • Konsisten dengan --lite philosophy — ini tentang token efficiency.

Definition of Done

  • 1 call kembalikan top-level symbols hierarkis untuk file (atau workspace) dari graph_nodes
  • Output token-efficient (bandingkan byte size vs outline penuh — harus signifikan lebih kecil)
  • Tidak re-parse (verifikasi: jalan cepat, baca DB bukan file)
  • Regression test

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