Kickside KB10 — the document/graph knowledge-base engine. Owns the kb10_* schema and node/edge/embedding store, durable embeddable/queryable/deletable bindings, and the kb_store engine contract used by kickside/knowledge.

BUSL-1.1 736 downloads
Updated 8 days ago Repository
kicksideknowledgekb10ragembeddings

Run

wippy run kickside/kb10

kickside/kb10

The document/graph knowledge-base engine for Kickside.

This module owns:

  • The kb10_* schema (kb10_stores, kb10_nodes, kb10_embeddings, kb10_edges, FTS) created by its single baseline migration.
  • The node/edge/embedding store (kickside.kb10.persist:kb10_store) — the only code that reads/writes those tables.
  • The engine funcs: contextual document embedding (embed_func), two-stage adaptive query (query_func), and teardown (delete_func). The shared embed_reference_func (content-provider dispatch) lives in knowledge.
  • The bindings:
    • kb_store implements kickside.knowledge:kb_store (default), the engine seam knowledge's control plane uses to reach a KB's store.
    • kb_store_materializer implements kickside.knowledge:kb_store_materializer, the internal durable source-thread seam for document/summary/chunk materialization.
    • embeddable / queryable implement the Kickside KB surface (kickside.contract:embeddable / queryable) plus kickside.contract:deletable.

Boundary

kb10 is an implementation module. Knowledge's control plane (KB CRUD, browse/graph API, concept-graph enrichment/retrieval, digest) never imports this module's persistence — it resolves the kickside.knowledge:kb_store contract, which kb10 binds by default. Source injection resolves the internal kickside.knowledge:kb_store_materializer contract from the durable thread projection worker.

kb10 depends on kickside/knowledge only for the contract definition it implements and for the graph_retrieval library query_func invokes on graph-type KBs.

Engine descriptors

kb10 exposes document, graph, and wiki as declarative kickside.kb_engine entries. Each entry declares the same embeddable/queryable bindings, the kickside.knowledge:kb_store control-plane contract, and the internal kickside.knowledge:kb_store_materializer contract. The knowledge module discovers those descriptors; it does not special-case kb10 for create, read/list, query, delete, or source projection.

Test

make test

Boots kb10 + knowledge + component/uploads/dataflow/llm and runs the co-located *_test.lua suites against an in-memory SQLite database. Embedding/ingest suites issue real llm.embed calls — OPENAI_API_KEY must be set.