Model integration (FUTURE — code first) #10
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The plan
FUTURE. Do not build this now. This issue tracks the decision-model work so the shape it needs is kept in mind while the heuristic system is built — and so nobody starts it early.
The build order is code first, then model integration. The heuristic system has to be proven on the simulation scenarios before a model touches either decision slot. When the time comes, the plan is below.
The shape (from the design doc)
Commander and Director are both decision roles with a heuristic default and a decision-model alternate behind the same interface. A model sits as Director and Commander — both layers, not one:
A model in either slot sees only what that layer knows. A Commander model sees team knowledge and local environment — never the player's true position, never anything an NPC has not perceived. A Director model sees the union of its Commanders' knowledge — never anything outside it. The model is optional in both slots, off by default, and the game runs fully on heuristics without it. If the model is absent, slow, or wrong, the layer falls back to heuristics — instantly, with no visible break. The model never sits in the per-frame loop and never blocks a decision: every call has a timeout, and a timeout means the heuristic decides.
The work, when it starts (in order)
Research backing
Two research notes back the slots (delivered as Markdown, not filed here): the Hanzo service offering and the self-hosted decision-model survey. The findings that constrain this work: there is no local Kai and no local Jev — both are API-only with closed weights, so neither can run in these slots as shipped; a cloud model could only sit in a slot behind a developer-run relay, which is not part of this design. The self-hostable candidates are small open-weight decision models copying the state-plus-typed-questions contract, with the 4B tier as the practical ceiling on a player PC (a GPU already rendering PCVR fits only small models). Runtimes: llama.cpp / llama-server is the most shippable; ONNX Runtime is the most game-friendly in-process option. No decision model is trained on combat or horror game state — combat value is unproven until measured on this game's own tactic data, which is what the scenarios are for.
What done looks like (future)
A model Commander beats or matches the heuristic on the scenario suite by the settled metric, with the timeout fallback proven (kill the model mid-decision and the heuristic decides with no visible break), shipped as an option that is off by default.
Open questions