Skip to main content

Knowledge State and Decision Models

Knowledge State and Decision Models

The judgment layer

Most trigger conditions are computable in code (round/tick counts, HP fractions, allies alive, distance). A few are genuinely judgment-shaped:

  • "Is this party vulnerable / outmatched?"
  • "Is the player kiting?"
  • "Is that prep a feint or a commitment?" (especially once fake-cancel feats exist - pure state can't answer this; it's about habits and context)

Typed decision models (Jev/Kev class)

The model supplies judgment; your code owns policy. Ask typed questions over a compact state snapshot; get back probabilities/distributions, not text.

  • noul booleans for non-computable conditions (one per condition - they must not compete for probability mass).
  • choice for posture selection; sample from the distribution, don't take argmax - seeded for reproducible variety. This is the "every run differs" lever.
  • Cost is fractions of a cent per call (tiny state envelopes); latency is a network round trip per monster decision.
  • Provider-swappable: hosted Jev for dev, local Kev (0.8B fits Terra's P2200; 4B fits Saturn's M2 Pro via MLX) at play time, pure-code fallback for offline. Small local models are option-order sensitive - pin option order per question pack.
  • Valid output never means correct judgment - the model's answer is a suggestion the profile policy resolves, not the final word.

What stays in code

  • The Ammann profile and its trigger table: always evaluated in code.
  • Thresholds, weights, branches - reviewable and tunable without re-prompting.
  • Outcome determination and any side effects.