From 3c8e91f644f1e1b4228db2813b24eec662456a55 Mon Sep 17 00:00:00 2001 From: JesseMarkowitz Date: Thu, 3 Sep 2026 16:39:29 -0400 Subject: [PATCH] Docs: correct post-M3 status and Ollama configuration Three stale claims found in active documentation after the post-M3 consolidation: - BUILD-MILESTONES.md still opened "M1 and M2 complete; M3 next", which contradicted its own M3 "Status: COMPLETE" block, planning/README.md and VERSION.md. It now states M1, M2 and M3 complete and accepted, M4 next. - DEVELOPMENT.md described the settings row as "endpoint, model and (unused) API key" and sent "api_key":"" in its curl example. M2 removed the field; schemas.SettingsUpdate has no api_key. The prose and the example now match the real request shape. No application code was changed. - README.md listed LM Studio as a supported local endpoint. ADR 002 and ADR 011 make Ollama the only v1 backend; LM Studio is a rejected alternative there. The row is removed and the surrounding wording now says Ollama is the supported backend, same-host is the default, trusted-LAN Ollama is supported, public/cloud is prohibited, and the OpenAI-compatible adapter is an implementation detail rather than a support promise. The claude_shim section stays, relabelled "(development only)". Documentation only; no code, schema or test changes. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01PWU4gTfLYY6Qq9U7aa9Qw2 --- DEVELOPMENT.md | 9 +++++---- README.md | 17 +++++++++++------ planning/BUILD-MILESTONES.md | 2 +- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index c30538e..c798f80 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -91,15 +91,16 @@ decision that this project's threat model does not cover ## Pointing the storyteller at Ollama -The endpoint, model and (unused) API key are **runtime settings stored in the -database**, not environment variables. Set them on the app's Settings page, or -with one request: +The endpoint, the model and the generation parameters are **runtime settings +stored in the database**, not environment variables. There is no API key field: +M2 removed it along with the cloud providers, and Ollama does not use one. Set +them on the app's Settings page, or with one request: ```bash curl -X PUT http://127.0.0.1:8000/api/settings \ -H 'Content-Type: application/json' \ -d '{"endpoint_url":"http://127.0.0.1:11434/v1","model":"qwen2.5:3b-instruct", - "api_mode":"chat","api_key":"","max_output_tokens":200, + "api_mode":"chat","max_output_tokens":200, "context_token_budget":4096}' ``` diff --git a/README.md b/README.md index 9fa5f10..ad9f342 100644 --- a/README.md +++ b/README.md @@ -121,18 +121,23 @@ Open http://localhost:5173. ## Connect a model -Open **Settings** in the app and point it at a local Ollama-compatible endpoint: +Ollama is the inference backend v1 supports. Open **Settings** in the app and point it at one: -| Where the model runs | Endpoint URL | Notes | +| Where Ollama runs | Endpoint URL | Notes | |---|---|---| -| Ollama, same machine | `http://localhost:11434/v1` | the default, and the simplest thing that works | -| Ollama, a machine on your own network | `http://:11434/v1` or `https:///v1` | see below | -| LM Studio, same machine | `http://localhost:1234/v1` | | +| The same machine | `http://localhost:11434/v1` | the default, and the simplest thing that works | +| A machine on your own network | `http://:11434/v1` or `https:///v1` | explicitly configured; see below | Model name, generation parameters, and (optionally) summary and embedding models for the Memory Bank are configured there too. No config files and no rebuild are needed. There is no API key field, because there is nothing to authenticate to. +The adapter underneath speaks the OpenAI-compatible protocol, because that is what Ollama +serves. That is an implementation detail, not a promise of support for arbitrary local +servers that happen to speak the same protocol. Public and cloud inference endpoints are +prohibited outright — see `planning/DECISIONS/002-ollama-only-v1.md` and +`planning/DECISIONS/011-local-inference-endpoint-policy.md`. + ### What the endpoint policy allows The address is checked when you save it and again before every request. Only loopback and @@ -146,7 +151,7 @@ machine serves HTTPS with a certificate from a CA you installed, it works: certi verified against your operating system's trust store as well as the bundled one. Verification itself is never relaxed, and there is no option to turn it off. -### Playing against a local shim +### Playing against a local shim (development only) `backend/tools/claude_shim.py` serves an OpenAI-compatible endpoint on `127.0.0.1:8787` backed by a command-line tool, which is useful for testing the turn engine against a stronger diff --git a/planning/BUILD-MILESTONES.md b/planning/BUILD-MILESTONES.md index 5067506..dcd74f6 100644 --- a/planning/BUILD-MILESTONES.md +++ b/planning/BUILD-MILESTONES.md @@ -1,6 +1,6 @@ # Adventure Storyteller — Production Build Milestones -**Status:** In implementation. M1 and M2 complete (2026-09-02); M3 next +**Status:** In implementation. M1, M2 and M3 complete and accepted (M1 and M2: 2026-09-02; M3: 2026-09-03); M4 — Named Save Points / Checkpoints — next **Base:** AI-DnD `d72f7c1bda0f34fccd84afb7a25c34eb01c901de` ## 1. Purpose