Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

§14. Intent matcher (crate intent)

planarian @ a924e09 · Spec v4.6 · snapshot main · all versions

Deterministic; no language model; identical behavior in degraded mode. Not in the Verus subset.

  • Index: every UnitDef.synonyms, every transition verb with a phrasing list, every change-catalog entry’s description tokens, every runtime-settable option.
  • Match: normalized token overlap plus a fixed pattern set (“restart X”, “reconnect X”, “turn X on/off”, “make X bigger/smaller”, “stop/pause X [for N minutes|until I say]”, “start X again”/“done with X”). Output (Transition, confidence).
  • Thresholds: ≥ 0.8 propose with Source::Intent; 0.5–0.8 ask the user to confirm one of the top two; < 0.5 unmatched (A: say so; B: summon the model).
  • Stopping: “stop X” and its variants map to StopAndSuppress { until: parsed or Explicit }, never to a bare StopUnit or a bare SetOverride; the override is journaled before the stop (§12), so there is no window in which the repair loop restarts the unit. “Turn wifi off” and similar map to an override on the network unit. “Start X again”/“done with X” → LiftOverride, after which the unit is desired-Running again and is repaired if needed. A StopUnit issued through the CLI by an authorized user is rewritten to StopAndSuppress { until: NextBoot } with a notice. The first time a user’s raw stop is caught as the unattributed residue (§11), the notice teaches the attributed form.
  • Authorization applies as in §11; an unauthorized match is reported as such, not silently dropped.