docs: handoff — headless bot settings design constraint (shared Runtime option seam)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-08-10 21:59:05 +02:00
parent 6b45dd8ffc
commit d5d97b84a1

View file

@ -141,6 +141,23 @@ plausibly video/audio/mouse).
subsystems don't exist yet (chess rank...) — the implement-vs-store
split per row.
8. **Headless bot settings (user-directed 2026-08-10):** character
options must be settable by bots too. DESIGN CONSTRAINT for the plan:
the option map (option -> CharacterOptions1/2 bit or PlayerModule
property -> wire) is RUNTIME-owned, exposed as a typed set-option
command on the shared IGameRuntimeCommands surface; the graphical
Options panel and the headless host are BOTH consumers of that one
seam (CH3's hear-chat toggles are the proven precedent). The headless
session config (K1 strict versioned JSON) gains an optional
`characterOptions` block of declared desired values; at login, after
the PlayerDescription seeds actual state, the host DIFFS declared vs
actual and sends only changes through the shared command path
(0x0005 per change or one 0x01A1 blob) — idempotent on reconnect.
Presentation-only settings (opacity/audio/quality) stay graphical-only;
the strict schema keeps them out of bot config by construction.
Research: verify which options a bot can meaningfully hold and whether
ACE rejects any option change from a logged-in session.
## Process (binding, from Campaign CH's five gate rounds)
- Model split: Opus research lanes → Fable (main loop) plans →