Files

54 lines
2.9 KiB
Markdown

## Documentation law (2026-10-18)
**One fact, one owner.** The `serverAppConfigs` repo owns every fleet fact;
`AGENTS.md` restates only what a deploy gate or the harness needs and otherwise
links. `serverAppConfigs-docs/` (Obsidian vault) carries the lore: one page per
endpoint (`[[frank-archon]]`, `[[frank-dragoon]]`, `[[frank-zealot]]`) holding
Current shape, **Eras** (one row per payload swap: dates, payload, runtime,
shape, why replaced, rollback), Laws, wire contract, files. `log.md` records
incidents and laws only — no per-swap ledgers, no bench tables. A retired
payload is an Eras row, never a page of its own. `scripts/<service>.env` beats
any page: where they disagree, the page is the bug.
## Model swaps (2026-10-18)
Swap the model, don't instrument the swap: edit the trio
(`scripts/<svc>.env` + serve script + unit) → `./tests/run.sh` → PR →
`deploy.sh <host> --service <svc>` → `/health` + one chat / tool-call / vision
probe → done. **No benchmarks, A/Bs, ladders, or acceptance tables unless
Frank explicitly asks for data.** If a payload misbehaves, revert the commit and
redeploy. When a bench IS ordered, the GPU-safety procedure (stop + mask, no
scratch ports, never `systemctl disable`) is `AGENTS.md` → *Model swaps* and
*Deployment completeness*.
## Where facts live
|Need|Owner|
|---|---|
|Topology, ports, payload, shape|repo `AGENTS.md` → Fleet topology; `scripts/<svc>.env` is the authority|
|Endpoint lore, eras, laws, rollback|vault `serverAppConfigs-docs/LLM/<endpoint>.md`|
|Harness model entries (`contextWindow`, `maxTokens`, `reasoningContentField`, `modelRoles`)|`~/.omp/agent/models.yml`|
|Incidents and operational laws|vault `serverAppConfigs-docs/log.md`|
|Service/infra pages|vault `Dankclaw/`, `Dankserver/`, `Infrastructure/`, `Architecture/`|
Models.yml resolution rules that are harness-local: a default model resolves as
a `defaultProvider` + `defaultModel` pair; a subagent override is a bare model
`id` and resolves only when unique across providers; two ports on one host need
two provider blocks — the file cannot express "same host, different port".
There is **no audio input anywhere in the fleet** (gone with the Gemma4
retirement, 2026-10-01). All three chat endpoints take text + images.
## Retired laws
- The old "Benchmarking Policy (MANDATORY)" wording demanded a bench harness per
payload; superseded 2026-10-18 by the swap law above.
- A "Subagent Lifecycle (MANDATORY)" rule (heartbeat ≤5 s, checkpoints, hard
timeout) was recorded here 2026-09 and **never implemented anywhere**; it
described nothing that exists and is deleted 2026-10-18. Do not re-add it
without a real implementation.
- The fleet model inventory that used to live in this memory file drifted out of
date within hours (it still claimed Bonsai-2-**27B** at `--ctx-size 401408`
and a dragoon 524,288-position pool). Memory files do not get deploys — the
repo does. That is why it is pointers now.