Contrato con el motor
Qué API de karajan-rag 1.2.x consume karajan-watch, y qué gaps se han propuesto upstream. Regla de la familia: lo genérico de RAG vive en el motor — watch orquesta, nunca reimplementa mecánica de RAG.
API consumida
Sección titulada «API consumida»| Pieza | Uso en watch | Dónde |
|---|---|---|
CLI karajan-rag index <ruta> --store --embedder | Reindex incremental del workspace multi-repo en cada merge | src/ingest.js, workflow ingest.yml |
karajan.config.json (sección easy: store, embedder, sensitivity, sensitivityRules) | Watch lo genera en la raíz del workspace para estampar la sensibilidad declarada por la capa de despliegue (nivel de corpus + regla por prefijo repo/) | buildIngestPlan |
SENSITIVITY_LEVELS, DEFAULT_SENSITIVITY | Validación del config de despliegue: public | internal | confidential, default seguro internal | src/config.js |
Manifest incremental (.karajan/ del rootDir indexado) | Solo se reprocesa lo cambiado; ficheros ausentes se invalidan (de ahí la verificación de workspace completo) | verifyWorkspace |
queryIndex (export ESM) | F2: cada chunk del diff mergeado como query contra el corpus code; los hits exponen source (path namespaceado repo/…) | pipeline de impacto (F2) |
karajan-rag serve [--mcp | --http] --store | Servir cada corpus a los agentes (MCP stdio o HTTP) | despliegue |
| Sensitivity policy (adapters permitidos por nivel) | F2/F3: el juicio LLM solo corre por adapters que la policy permita para el nivel efectivo del corpus | pipeline de impacto (F2) |
Stores lancedb | pgvector | in-memory, embedders hash | transformers | Valores válidos del esquema de configuración | src/config.js |
Gaps upstream (propuestos en el Planning Game de Karajan RAG)
Sección titulada «Gaps upstream (propuestos en el Planning Game de Karajan RAG)»- Serve multi-corpus en un solo proceso (KJR-PRP-0001).
serveata un proceso a unrootDir+ store;--httpy--mcpson excluyentes. Watch necesita servircodeydocsa la vez. Workaround actual: un servicio por corpus. - Filtro por prefijo/repo en query (KJR-PRP-0002).
queryIndexno acepta filtro de origen; para el impacto cross-repo hay que excluir el repo de origen del diff. Workaround actual: filtrado post-hoc sobrehit.source(paga retrieval de hits que se descartan y muerde el top-k). - Tabla pgvector configurable por corpus (KJR-PRP-0003). El CLI fija
karajan_rag_chunks;codeydocsno pueden compartir base de datos. Workaround actual: unPG_URL(base o schema) por corpus.
Si un gap se cierra upstream, el workaround correspondiente se retira de watch en la misma versión que adopte el motor nuevo.