54 lines
2.9 KiB
Markdown
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.
|