Wikantik exposes REST (/api/bundle, /api/briefing, /api/changes), two MCP servers, and an OpenAPI 3.1 tool surface — but ships no client SDK, no framework adapters, no quickstart, and no hosted playground. In 2026, a RAG platform's discoverability runs through the agent-framework ecosystems: developers adopt what drops into their existing LangChain/LlamaIndex code with minimal integration. The retriever adapter is the genuine quick win here; the full developer-experience program (two SDKs, key management, docs site) is a multi-session effort — do not conflate the two.
).
).
) — Wikantik's MCP servers are already the right architecture; SDKs extend reach to the (still much larger) population of framework-based apps that don't speak MCP yet.GET /api/bundle?q= (ranked, de-duplicated, version-pinned-cited sections + coverage block), GET /api/briefing (budgeted session-start context), /api/changes?since= (incremental sync feed), /wiki/{slug}?format=md|json (raw content), 21-tool knowledge MCP, 26-tool admin MCP, /tools/* OpenAPI for non-MCP clients.api_keys table); no self-service key management UI.wikantik-client on PyPI): thin typed client for bundle/briefing/changes/search + WikantikRetriever adapters for LangChain and LlamaIndex that map bundle sections to framework document types with citation metadata intact. The no-synthesis bundle contract fits retriever semantics — frameworks want documents, not answers — but the fit is verified by the acceptance test below, not assumed.assemble_bundle + get_briefing as the differentiated path.First session scope: a Python package containing a thin /api/bundle client + the LangChain retriever adapter only. No LlamaIndex adapter, no TypeScript, no key-management UI, no docs site.
Phase 1 is done when:
Document objects whose metadata carries canonicalId, version, headingPath, and spanSha256 intact — and a follow-on test proves the citation metadata survives a RetrievalQA-style chain end-to-end (the "maps perfectly onto retriever semantics" assumption, tested).docker compose up.[OWNER] versioning decision, not an adapter detail.[OWNER]-gated step (namespace ownership).wikantik-client, wikantik) before writing setup metadata./api/* has spec coverage (the /tools/* spec exists; /api/* does not yet) — hand-write the thin client first, generate later.[AGENT] API contract audit before publishing: which response fields of /api/bundle and /api/briefing are stable vs incidental? Produce the freeze list; [OWNER] ratifies the versioning policy (URL vs header) as part of the RoadmapTargetArchitecture API-stability contract.[AGENT] LlamaIndex NodeWithScore mapping (Phase 2) — same citation-survival test shape as LangChain.[AGENT] Key scoping model: read-only retrieval keys vs admin keys — what the existing api_keys store supports and what must be added; [OWNER] accepts the scoping design before external keys are issued.[AGENT] SDK maintenance cost: generate from OpenAPI where possible once /api/* spec coverage exists, to keep the single-maintainer burden bounded.[OWNER] PyPI/npm namespace ownership and the publishing decision; [AGENT] the CI publishing pipeline once approved.