docs(plan): lock A21 — all LLM calls are free; sync may burn unlimited vision calls

This commit is contained in:
2026-09-30 09:35:07 -04:00
parent 5e87622b30
commit 36ccf64f6a
+8 -2
View File
@@ -59,6 +59,7 @@ accounts (one admin + hand-out tokens is the model).
| A18 | Docs push | Save-a-answer-as-doc: server-side draft (`doc_drafts`, long body never in a URL — unguessable `uuid4` token is the URL credential) pushed to a **generic git remote** (`BOR_DOCS_REPO`, URL or local path; no `gh`) on a dedicated branch, `--ff-only`, re-cut per push; **no PR tooling**; inert (hidden + 409) while the repo is unset |
| A19 | Deploys & caching | HTML pages `Cache-Control: no-cache` (no etag/last-modified); `/assets/*` versioned (`?v=<token>`) + `immutable, max-age=1y`; **the token is the deploy** (git `HEAD` short SHA; content-hash fallback) — a deploy is a commit the browser sees without a hard refresh |
| A20 | Security headers | Every response: `Content-Security-Policy: default-src 'self'` (+ the theme's inline-`<style>` hash on themed pages), `frame-ancestors 'none'`, `X-Content-Type-Options: nosniff`; login rate-limited 10 attempts / 15 min (in-memory, A12) |
| A21 | LLM call economics | **ALL LLM calls are free** (chat, vision, embed, `lite` — self-hosted aipi): the sync/import path may burn as many LLM/vision calls as quality requires — e.g. render + describe **every** sparse page of a pictorial PDF, no page caps, no call budgets (owner 2026-09-30). Latency targets bind the **interactive** path only (retrieval, inference, tool calling — the inference engine's job, not ours to micro-optimize): never cap, throttle, or skip work to save calls; a slower sync is acceptable, a lower-quality KB is not |
**UI/theming anchors (B):**
@@ -70,8 +71,13 @@ accounts (one admin + hand-out tokens is the model).
| B5 | Admin-only nav views (Sources, Git sources, Tuning, History, Tokens, Theme) are hidden from non-admins; a monochrome theme must keep every state **text** label ("text + color, never color alone") |
**Key recent revisions (full log in the previous plan revision / phase
records):** A10 — single-admin cookie auth, saved chats + shares +
staleness, client history budgets, access tokens.
records):** A21 — ALL LLM calls (chat, vision, embed, lite) are free for
this project (owner 2026-09-30): import/sync may burn unlimited
LLM/vision calls for quality (e.g. every page of a 500+ page pictorial
PDF, rendered + described); sync duration is not an optimization target,
interactive-path speed is the inference engine's job. A10 — single-admin
cookie auth, saved chats + shares + staleness, client history budgets,
access tokens.
A15 — `thinking`, `tool`, unlimited tool rounds under
`BOR_AGENT_MAX_ROUNDS`, `retry`, harness-aligned
`ls`/`read`/`grep` surface. A7 — the **retrieval** path's