How ingestion works
What ctx| prepares after you connect a repository, and how to read indexing states.
Ingestion turns a connected repository into context that Search, Chat, the knowledge graph, and MCP can use. It is asynchronous: a repository can appear in ctx| before every capability is ready.
The four stages
Read the selected source
ctx| resolves the selected repository and default branch, then prepares a working copy for indexing. Private repositories require the GitHub App or clone credentials to remain valid.
Build code navigation
ctx| builds lexical and structural indexes so agents can search code, list files, and retrieve relevant source without reading an entire repository into one prompt.
Extract technical context
Model-assisted extraction identifies systems, APIs, libraries, infrastructure, instructions, and relationships. Those findings become evidence-backed claims in the organization knowledge graph.
Publish readiness
The repository status tells you whether work is pending, in progress, complete, or complete with issues. Search and graph preparation are separate, so one capability can be ready before another.
Read the repository state
| State | Meaning | What to do |
|---|---|---|
| Pending indexing | The source is selected but ingestion has not started. | Choose Index now. |
| Indexing | ctx | is preparing search and graph context. |
| Indexed | The current ingestion run completed. | Test a known question in Chat or MCP. |
| Complete with issues | Useful context exists, but one indexing capability failed. | Open the row menu and choose Retry indexing after resolving the cause. |
| Failed | ctx | could not complete the repository run. |
Indexed does not mean infallible
Ingestion creates search indexes and inferred graph claims; it does not certify an answer as correct. Ask agents to cite files and verify risky decisions against the current source.
Keeping context current
Repository changes can trigger another ingestion run. Connector-generated content follows the same path after it reaches the context repository.
If a repository is stale or a run failed, use Retry indexing. You no longer need to remove and add the repository merely to start a fresh run. Use Unindex only when the repository should stop contributing to Search, Chat, MCP, and the graph.