Thresholds: F&B cost > 32% · Labour > 35% · A&G or Utilities MoM > ±15% (3× materiality).
F&B cost % 38.1% (target 30%) −$0.8k / mo
dept=F&B × period=Apr 2026 · breach 8pp
Detector: cost_of_sales $3.8k vs revenue $9.9k.
Composer: Composer: 1) RFQ to alt suppliers 2) menu remix 3) renegotiate volume tier.
Labour cost 75.7% (target 30%) −$19.9k / mo
dept=All × period=Apr 2026 · breach 46pp
Detector: payroll $33.0k vs revenue $43.7k.
Composer: Composer: review roster vs occupancy; trim low-utilisation shifts.
⚠ Cloudbeds write policy — pilot phase. Agent-proposed reclassifications, JE proposals, and RFQs always require explicit human approval. Variance Composer never auto-publishes commentary. Controller Agent never posts to GL. Procurement Agent has no PO authority. After validation against 90 days of decisions, only Tier-1 actions (parity resync, <$2k impact, ≥85% confidence) move to auto.
Agent guardrails — finance writes are always approval-required. Until the GL→USALI mapping is locked and variance-materiality thresholds are calibrated against 12 months of close data, every agent-proposed reclassification or commentary publication requires explicit human approval. After validation, only Tier-1 actions (defined criteria, ≥85% confidence, audit-logged) move to auto. P&L policy: Tier-1 auto disabled — financial reporting always Tier-2.
WIRED (real numbers from gl.* + governance.*):
KPI strip: Total Revenue · GOP $ / margin / EBITDA · Labour % / F&B labour % / Distribution cost % · A&G $ · Revenue vs LY · USALI mapping gaps. USALI grid: Actual column · LY column for departmental rev/expense (via pnl_snapshot + class-inferred dept) · Δ% column (vs prior month). Right panels: Top variances waterfall (MoM dept profit) · Margin leak heatmap (last 5 months dept profit + A&G overhead) · Variance commentary (template w/ live numbers). Tactical alerts: F&B cost % · Labour cost % · A&G MoM · Utilities MoM (computed from current vs prior month, threshold-gated). Decision queue: live from governance.decision_queue, empty-state when no items.
NOT WIRED (still xx):
Cash on hand (no bank feed integration) · USALI grid Budget / Δ Bgt / Flow columns (no gl.budgets table) · LY breakdown for undistributed lines (pnl_snapshot lacks subcat split for A&G/POM/etc.). Edit account-class assignments for not_specified entries at /finance/mapping.