CoDNA Request access
Contents

Docs Decisions

0010 · CoDNA does not call an LLM

Status: Accepted · 2026-09-22

Context

CoDNA's pitch involves AI: uploads become a wiki, related documents get suggested, knowledge gets distilled. The question is where the model runs — inside CoDNA, or in the client connected to it.

Decision

CoDNA calls no LLM. It exposes knowledge over MCP and agents do the reasoning. Ingestion converts files to markdown and parks them in raw; turning raw into wiki is an agent's job, driven by a person.

Embeddings are the one optional exception — off by default, degrading to keyword, tag overlap, and co-citation (search.md).

The seam for server-side workers exists as an outbox consumer (0009), unbuilt.

Consequences

  • CoDNA runs with no provider API key. Nothing to configure, no inference cost, no rate limits, no vendor.
  • Every MCP-capable client works on day one, and CoDNA never has an opinion about which model is best — an opinion that ages badly in public.
  • No prompt engineering in the codebase, and no prompts to maintain against model updates.
  • Quality tracks whatever model the user already pays for, and improves without a release.
  • Nothing happens without an agent attached. A 10,000-document import sits in raw until somebody asks for something.
  • Capabilities that genuinely need server-side inference — scheduled re-distillation, bulk backfill — are deferred rather than available.

Alternatives rejected

Server-side LLM pipeline. Automatic ingestion with no client attached. Rejected for the first milestones because it requires a provider abstraction, key management, a job queue, cost controls, and a model opinion — substantial surface before the core knowledge model has been validated at all.

Embedded local model. No external dependency and full privacy. Rejected because it contradicts the single-binary deployment in 0003: a model file is hundreds of megabytes and wants a GPU to be useful.