learn_knowledge() runs both.
How do I run the pipeline?
Full pipeline
Via Kapso API
Extract only (no merge)
What can I ingest?
TheSource namespace provides typed wrappers for knowledge inputs:
Stage 1: Ingestors
Ingestors extract WikiPages from sources. Each source type has a dedicated ingestor.IngestorFactory
RepoIngestor
The most sophisticated ingestor, using a two-branch multi-phase pipeline: Phase 0: Repository Understanding (pre-phase)- Parse repo structure, generate
_RepoMap.mdwith AST info - Agent fills in natural language understanding for each file
- Subsequent phases read this file instead of re-exploring
- Phase 1a: Anchoring - Find workflows from README/examples, write Workflow pages + rough WorkflowIndex
- Phase 1b: Anchoring Context - Enrich WorkflowIndex with detailed implementation context
- Phase 2: Excavation+Synthesis - Trace imports, write Implementation-Principle pairs together
- Phase 3: Enrichment - Mine constraints/tips, write Environment/Heuristic pages
- Phase 4: Audit - Validate graph integrity, fix broken links
- Phase 4b: Repo Builder - Create GitHub repositories for workflows
- Phase 5a: Triage (code) - Deterministic filtering into AUTO_KEEP/AUTO_DISCARD/MANUAL_REVIEW
- Phase 5b: Review (agent) - Agent evaluates MANUAL_REVIEW files
- Phase 5c: Create (agent) - Agent creates wiki pages for approved files
- Phase 5d: Verify (code) - Verify all approved files have pages
- Phase 6: Orphan Audit - Validate orphan nodes
Research ingestors
Research ingestors convert web research results into WikiPages using a three-phase agentic pipeline: Phase 1: Planning- Analyzes content and decides what pages to create
- Writes
_plan.mdwith page decisions
- Creates wiki pages following section definitions
- Writes pages to staging directory
- Validates pages and fixes issues
- Ensures graph integrity
Stage 2: Knowledge merger
The merger uses a hierarchical sub-graph-aware algorithm with a single Claude Code agent call. It processes connected pages as units, respecting the knowledge graph DAG structure.Wiki hierarchy
The Knowledge Graph follows a top-down DAG structure:Merge algorithm
The merger executes a 5-phase process: Phase 1: Sub-Graph Detection- Parses
outgoing_linksto build an adjacency list - Finds root nodes (no incoming edges from proposed pages)
- Groups connected components into sub-graphs
- For each sub-graph, makes merge decisions starting from root:
- Root decision: Search for similar pages of same type →
MERGEorCREATE_NEW - Children decisions (recursive):
- If parent =
CREATE_NEW→ child inheritsCREATE_NEW(no search needed) - If parent =
MERGE→ search only among target’s children →MERGEorCREATE_NEW
- If parent =
- Special case: Heuristics with multiple parents use lowest parent for scoped search
- Root decision: Search for similar pages of same type →
- Computes execution order (bottom-up): Environment → Heuristic → Implementation → Principle
- Records deferred edges (which parent adds edge after processing)
- Processes nodes in computed order
- For
CREATE_NEW: Get page structure, prepare content, callkg_index - For
MERGE: Get page structure, fetch target, merge content intelligently, callkg_edit - Updates
outgoing_linksto point to processed children’sresult_page_id
- Verifies nodes exist (
CREATE_NEW/MERGE) - Verifies edges (parent has edge to child’s
result_page_id) - Handles failures with retries (max 3)
- Collects all
result_page_idvalues - Categorizes as created (
CREATE_NEW) or edited (MERGE) - Writes final summary to
_merge_plan.md
Edge types
Merge rules
Beyond the phase mechanics above: search is same-type only (Principles among Principles, never a Principle merged with an Implementation), and a merge keeps existing edges, only ever adding new ones.MCP tools used
The merger uses these MCP tools via thekg-graph-search server:
Using the merger
Merge modes
The merger operates in two modes based on whether a KG index exists:- No Index Mode: Creates all pages as new, writes to wiki directory, then creates index
- Merge Mode: Runs agentic hierarchical merge using MCP tools
- Explicit
kg_index_pathfrom config - Auto-detect
.indexfile in wiki directory
Merge result
WikiPage structure
How do I run it from the CLI?
CLI options
What does it return?
Related
Knowledge graph
What the graph holds
Search backends
How it is queried
pip install leeroo-kapso · Every page as plain text: llms.txt.