ccg-build — Graph Ingestion
Build or refresh graph state only from source paths the executing CCG runtime can read.
Invocation Gate
Proceed only when the user explicitly names ccg-build in the current request.
A stale or missing graph, a requested scoped update, another skill's suggestion,
or an applicable task description is not invocation. If the name was not
explicitly provided, do not load the maintenance reference and do not perform or
plan a graph write; report that the user may invoke ccg-build explicitly.
Mandatory Contract
Before any graph write, read
references/graph-maintenance.md completely.
Resolve the server-visible source path, namespace, update mode, scoped
replacement behavior, and required postprocessing before invoking a write.
Ingestion Boundary
- Local CLI and stdio MCP may build from a local source path.
- A remote HTTP server ingests repositories through its configured Git webhook/sync path by default. Treat Git as the transport and source of truth.
- Do not invent or attempt database upload, graph-bundle upload, streaming upload, or client-filesystem transfer. MCP graph-write tools operate on paths already visible to the server; they are not upload APIs.
- If a remote server cannot access the source and no admitted Git sync path is available, report the limitation instead of trying a client-local path.
Command Selection
ccg update <dir> # Ordinary source edits; incremental synchronization
ccg build <dir> # First use, intentional full rebuild, or recovery
ccg migrate # Existing database schema upgrade when required
Over MCP:
- Use
build_or_update_graphwithfull_rebuild=falsefor an incremental update. - Use
build_or_update_graphwithfull_rebuild=truefor a full rebuild. parse_projectwrites parsed graph state without search postprocessing.run_postprocessrefreshes selected derived artifacts after graph changes.
Do not call a write tool merely because it is registered. Confirm that the user authorized graph mutation and that the target path and namespace are the intended ones.
Completion
Report the resolved source path, namespace, Git sync or local ingestion mode,
full versus incremental choice, scoped replace behavior, and every failed or
skipped postprocess step. State which verification was not run.