docs(spec): d1 may also run on a local llama.cpp server when #336 is built

Merged
OJ
15d ago
+11-5

Part of #336.

What

The owner asked on 2026-10-09: 「採用予定のd1がローカル運用可能になったから判断モデルを導入する時にローカル運用も候補に入れて」 (d1 now runs locally, so make running it locally a candidate when the judgement model is introduced).

  • docs/spec.md, under decision 38: a dated paragraph, "A local d1 (owner, 2026-10-09)". Decision 38 had left a local endpoint to a setting "once Ollama or llama.cpp ship it"; llama.cpp now ships it.
  • 3.5 and 4 (B): d1 may run on Liquid's hosted API or on a local llama.cpp server. Both remain candidates; nothing becomes a default.
  • 4 and A109: a local server the user runs (Ollama for curation, a llama.cpp decision server for #336) is a provider endpoint, not a model oboete loads or serves. A109 is a Claude decision; this states its scope rather than changing it.
  • docs/spec-webui.md, "Additional admitted AI roles": d1's choices include the local server (a loopback endpoint with a connection test and no key).

Facts checked (2026-10-09, primary sources)

  • Liquid AI, Open d1 (2026-10-07): open weights for d1-3B (3.12B, text and images, 32K context) and the experimental d1-omni-600M, LFM Open License v1.0. d1-3B's model card lists Japanese among its languages.
  • llama.cpp: /v1/systemone in tools/server/README.md ("Follows the TypeSafe API"), d1-3B in ggml-org/llama.cpp#30110 (2026-10-07), d1-omni-600M in ggml-org/llama.cpp#30114 (2026-10-08). d1-3B-GGUF: Q8_0 2.87 GB, BF16 5.4 GB.
  • Hosted d1: POST https://api.liquid.ai/decisions/v1/systemone with model, state, questions; "Each question is charged for its text and all supplied images"; d1:free is text-only.
  • Cautions carried into the single evaluation: Japanese decision quality is unmeasured; a quantized decision head has collapsed toward uniform probabilities before (ggml-org/llama.cpp#30064, Clef); llama.cpp states the probabilities are not calibrated for the user's data.

Nothing was downloaded or run: no model, no inference, no evaluation (decision 34).

This is a design-doc PR: after two consecutive review rounds whose findings are mechanism only, the rest goes to #336 as acceptance tests (CLAUDE.md).

🤖 Generated with Claude Code

https://claude.ai/code/session_01Vs2me5nWqSZLFn65f7iASY

Summary by Sourcery

Document local llama.cpp hosting as an additional, non-default d1 provider option for #336’s judgement model.

Enhancements:

  • Document Liquid AI d1 as a candidate for both hosted use and user-managed local llama.cpp servers when #336’s judgement and reranking roles are implemented.
  • Clarify that user-run model servers are provider endpoints and preserve existing fallback, privacy, cost, and evaluation requirements.

Documentation:

  • Update the WebUI and specification documents to cover local llama.cpp configuration for d1, including loopback connectivity testing and keyless operation.