This project uses a local dual-graph MCP server for efficient context retrieval.
- Use layered context files:
.dual-graph-context/PROJECT_CONTEXT.mdfor stable project context..dual-graph-context/SESSION_CONTEXT.mdfor current in-chat scope..dual-graph-context/packs/*.mdfor domain-specific context packs.
- Never ask for "full context" or entire chat history.
- Ask only for missing sections, one short question at a time.
- If a domain is missing context, request only that pack (for example: "please share billing context pack").
-
Call
graph_continuefirst — before any file exploration, grep, or code reading. -
If
graph_continuereturnsneeds_project=true: callgraph_scanwith the current project directory (pwd). Do NOT ask the user. -
If
graph_continuereturnsskip=true: project has fewer than 5 files. Do NOT do broad or recursive exploration. Read only specific files if their names are mentioned, or ask the user what to work on. -
Load context layers before implementation decisions:
- Read
.dual-graph-context/PROJECT_CONTEXT.mdand.dual-graph-context/SESSION_CONTEXT.mdwhen available. - Read only relevant
.dual-graph-context/packs/*.mdfiles for the current task. - If critical context is missing, ask one scoped question and continue after answer.
- Read
-
Read
recommended_filesusinggraph_read— one call per file.graph_readaccepts a singlefileparameter (string). Call it separately for each recommended file. Do NOT pass an array or batch multiple files into one call.recommended_filesmay containfile::symbolentries (e.g.src/auth.ts::handleLogin). Pass them verbatim tograph_read(file: "src/auth.ts::handleLogin")— it reads only that symbol's lines, not the full file.- Example: if
recommended_filesis["src/auth.ts::handleLogin", "src/db.ts"], callgraph_read(file: "src/auth.ts::handleLogin")andgraph_read(file: "src/db.ts")as two separate calls (they can be parallel).
-
Check
confidenceand obey the caps strictly:confidence=high-> Stop. Do NOT grep or explore further.confidence=medium-> If recommended files are insufficient, callfallback_rgat mostmax_supplementary_grepstime(s) with specific terms, thengraph_readat mostmax_supplementary_filesadditional file(s). Then stop.confidence=low-> Callfallback_rgat mostmax_supplementary_grepstime(s), thengraph_readat mostmax_supplementary_filesfile(s). Then stop.
- Do NOT use
rg,grep, or bash file exploration before callinggraph_continue. - Do NOT do broad/recursive exploration at any confidence level.
max_supplementary_grepsandmax_supplementary_filesare hard caps - never exceed them.- Do NOT dump full chat history.
- Do context handshake per task: summarize known context, then ask for only missing pieces.
- Do NOT call
graph_retrievemore than once per turn. - After edits, call
graph_register_editwith the changed files. Usefile::symbolnotation (e.g.src/auth.ts::handleLogin) when the edit targets a specific function, class, or hook.