{"name":"knowledge","version":"0.1.0","description":"Personal knowledge base. The most-called-upon agent in TheCollective — Email looks up sender context here, Calendar resolves attendees, Facts may shadow it for some queries. Phase 2 in the architecture (the first real domain agent ported). Publishes one MCP tool (`query`, fast read-mostly) and one ACP intent (`session`, write/update/extract). Both surfaces collapse internal handlers behind the Tier-1.5 router.\n","port":42010,"hostname":"thecollective2-dev","started_at_ms":1777505109805,"substrate_tags":["strix_halo","local_lan"],"has_tool_router":true,"modes":["simulation","production"],"default_mode":"simulation","active_mode":"production","mcp_tools":[{"name":"query","description":"Read the personal knowledge base. Pass a `query` describing what you need (e.g. \"who is jane\", \"search for meetings with smith\", \"get record person:alex\", \"what do you know about the aurora project\"); Knowledge's Tier-1.5 router picks among `lookup_fact` (id-keyed exact match), `search_kb` (FTS5 keyword search across facts and chunks), `get_record` (full record by id), `semantic_search` (FAISS-backed cosine similarity), or `get_context` (unified FTS + FAISS + cortex-rerank merge with temporal + sensitivity weighting). Returns the matched fact(s) plus the routing decision.\n","input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Natural-language description of what to retrieve."},"record_id":{"type":"string","description":"Optional explicit record id (skips routing if set)."}},"required":["query"]},"speculative_safe":true},{"name":"quick_context","description":"Fast-path knowledge retrieval — LLM-free, no router, no rerank. Designed for the greeter LLM's user-turn enrichment hot path (target <150ms p50). Two parameters: `what` (the query string) and `n` (max records, default 5). Returns a flat list of hits from FTS5 + FAISS merge with temporal weighting + sensitivity filter. NO LLM dispatch, NO cortex-rerank, NO relationship traversal — minimum-latency context for the routing layer. For richer/slower retrieval use `query` with a `get_context`- worded prompt.\n","input_schema":{"type":"object","properties":{"what":{"type":"string","description":"What to retrieve context on. Free-text query."},"n":{"type":"integer","description":"Max records to return. Default 5; cap 25.","default":5,"minimum":1,"maximum":25}},"required":["what"]},"speculative_safe":true}],"acp_intents":[{"name":"session","description":"Mutate or extract knowledge. Streams progress for long-running operations. Pass a `query` describing what to do (e.g. \"extract facts from this email\", \"update jane's role to attorney\", \"correct the spelling on Acme\", \"merge k_b into k_a\", \"list all known people\", \"drain the embedding queue\"); Tier-1.5 picks among `extract` / `update` / `correct` / `ingest` / `delete` / `attach` / `unlink` / `manage` / `hygiene_daily` / `hygiene_weekly` / `hygiene_monthly` / `enrich_cycle` / `rebuild_faiss` / `confirm_merge` / `drain_queue` / `rebuild_stale` / `embed_chunks`.\n","params_schema":{"type":"object","properties":{"query":{"type":"string"},"payload":{"type":"object","description":"Operation-specific data (text to extract from, fields to update, correction details, etc.).\n"}},"required":["query"]},"substrate_tags":["strix_halo"]},{"name":"ingest_file","description":"End-to-end file ingest. Accepts a path or base64-encoded bytes, runs the full pipeline (Magika sniff → text/document/image extraction → chunking → embedding → record creation). Streams progress events as each pipeline stage completes. Returns the created knowledge_id plus per-stage diagnostics.\n","params_schema":{"type":"object","properties":{"path":{"type":"string","description":"Filesystem path on the agent."},"bytes_b64":{"type":"string","description":"Base64 file bytes (use when caller has no shared FS)."},"filename":{"type":"string"},"source":{"type":"string","enum":["email","file_upload","uploads","inbox","scout","agent"],"default":"agent"},"title":{"type":"string","description":"Override the default title (otherwise derived from filename)."}},"required":[]},"substrate_tags":["strix_halo"]}]}