From 36ccf64f6a54a22fedf3e7439cef6681c0d43b86 Mon Sep 17 00:00:00 2001 From: ducoterra Date: Wed, 30 Sep 2026 09:35:07 -0400 Subject: [PATCH] =?UTF-8?q?docs(plan):=20lock=20A21=20=E2=80=94=20all=20LL?= =?UTF-8?q?M=20calls=20are=20free;=20sync=20may=20burn=20unlimited=20visio?= =?UTF-8?q?n=20calls?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .agents/PLAN.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.agents/PLAN.md b/.agents/PLAN.md index b13619f..fb2b543 100644 --- a/.agents/PLAN.md +++ b/.agents/PLAN.md @@ -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=`) + `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-`