Handbook
automation_situation_arbitrate v1
Governed LLM arbitration for the lmeta decision break-in. Called only when deterministic rules are exhausted (long flip-flop, stall, repeated failure). The model is strictly advisory: it may only choose from the…
Updated
Invariants
- Any
action(decided) or entry incandidate_actions(ambiguous) must appear verbatim in caller-suppliedallowed_actions. Out-of-set values areSchemaFailureat validation. factsis a bounded situation summary (capped at 20 KB). Never pass raw DOM/HTML dumps.- Identity/People surfaces must only ever
escalate— do not add person-disambiguation actions toallowed_actions.
Input
| Field | Type | Notes |
|---|---|---|
facts |
JSON object | Bounded situation summary (flow_id, state, counters, recent outputs) |
allowed_actions |
non-empty list of strings | Closed set of atoms the flow already owns |
situation |
string | Optional short label (e.g. owa_view_flip_flop) |
signals |
JSON object | Optional deterministic signals (flip_count, no_progress, drift_reasons) |
self_check |
boolean | Optional; when true, a weak first answer (ambiguous / low-confidence / invalid) triggers exactly one bounded revision pass |
timeout_sec, temperature |
optional | Pass-through knobs (temperature defaults 0.0) |
Output
One JSON object with required status in decided | ambiguous | escalate:
decided:action(one ofallowed_actions),confidencein[0,1](not boolean / NaN), optionalreason, optionalstable(bool; coerced tofalsewhen absent)ambiguous:candidate_actionsnon-empty duplicate-free subset ofallowed_actions; optionalreasonescalate: optionalreason
Fallback contract
Callers should route this task through forgeDecide / forgeConsensus, which enforce
action in allowed_actions + min_confidence and emit the caller's default_action on any
Err, low confidence, ambiguous, or escalate result. The flow therefore never breaks on LLM
failure — the worst case is the deterministic default action.
Verification
Task-internal deterministic validation per contract.json verification_policy.
Changelog
- v1 — Initial governed arbitration contract for the lmeta decision break-in.
Examples
See sidecar examples for real payloads.
{}