docs/research/2026-07-17-control-engineering-tranche-analysis.md

Control-engineering tranche analysis — whatyears of trigger scheduling prescribes for each ask

Date: 2026-07-17 · Corpus: the 32-paper curated tranche (see F:\arxiv-corpus\pdfs\REVIEW-2026-07-17-control-engineering.md, PR #2696) · Method: four track analysts deep-read every paper (arXiv HTML/ar5iv full text or the stored PDF), transcribed the actual trigger rules/formulas/theorems, and mapped them onto named repo mechanisms with explicit misfit notes. Every recipe carries [claim → evidence → confidence]; confidences are split where the shape transfers but the guarantee does not.

The one-sentence field summary: event-triggered control (ETC) watches a signal and acts when a condition fires; self-triggered control (STC) computes, at each action, when the next action must happen from the currently measured state and a known decay/growth bound. Everything below is those two moves, specialized.


The shared skeleton (what four independent deep-reads converged on)

  1. Every fixed clock in the repo is the naive baseline this field retired. The 6s collector poll, the 60s watcher tick, the 5-min deploy poll, verify-every-turn, monthly rebalancing, retrain-on-vibes — each maps to either ETC (signal available continuously → fire on condition) or STC (observation itself costs → compute next check at each check). Polling-shaped problems are STC; per-turn/per-event problems are ETC. And the periodic baseline isn't just lazy — it's provably the best you can do only if you ignore the signal (1707.02531: periodic = age-of-information-optimal; using the signal beats it 3×).
  2. The anti-chatter kit is always the same three parts: a leaky accumulator (Girard's η; PETC's budget; Hertneck's banked credit) so single spikes don't fire; a dead-band sized to measured noise (c > β(2w̄) — Scheres) so score wiggles structurally cannot trigger; and a hard floor (MIET /turn / τ_min) as the last line. Dual: the anti-staleness kit is a hard ceiling (heartbeat/τ_max), justified everywhere the same way — unmodeled events accrue while you sleep (0906.3588 prices staleness explicitly).
  3. Offline-heavy, online-cheap (Anta-Tabuada's architecture, echoed in all four tracks): expensive analysis — decay-rate fits, band formulas, LTT calibration, bootstrap bands — happens offline from logs/backtests; the online decision is a table lookup or one multiplication. This matches our single-process server reality (no event-loop blocking).
  4. The meta-trigger watches the trigger (the tranche's most cross-cutting idea, ETL 1904.03042): every trigger's own fire-gap/outcome statistics have a calibration-time expected distribution; when observed statistics drift beyond a Hoeffding/KS band (κ = τ_max√(ln(2/α)/2n)), recalibrate — with the false-alarm rate α as an explicit budget. This closes the loop on every recipe below: thresholds are never "set and forget," they're watched.
  5. Optimize the long-run average, not the next gap (2105.03110): greedy latest-safe-checking is rarely average-optimal. Instrument average inter-check time per scheduler as a KPI; early checks near known deadlines are free moves.
  6. Guarantees don't transfer; shapes do. All four analysts, independently: the ISS/Zeno/α/δ theorems lean on known dynamics, i.i.d. or linear-Gaussian assumptions we cannot verify. Adopt the trigger shapes, floors/ceilings, accumulators, and calibration procedures; log false-alarm and miss rates; never claim the formal guarantees in docs or code. (Σ₀: the evidence for our deployments must be our own measurements.)

Prioritized build list (ROI × effort, gated per repo rules)

  1. Collector send-on-delta (trade/project) — smallest blast radius, all inputs already logged, measurable win (staleness-MSE at equal request budget, or ~1/3 requests at equal accuracy). Verify by replaying stored 6s snapshots.
  2. Chat skip-gate + dead-band canary (chat) — highest token-ROI; stepis the w̄ measurement run (repeat-score closed-context transcripts, #2322), stepthe Jaccard draft-agreement gate (zero new models), stepLTT calibration on the golden benchmark.
  3. Brake/advisor no-trade bands (trade) — backtest the ±4pp band against the existing harness first (the "monthly rebalances are wasted" claim is directly testable); practice-mode only, per the managed-strategy gate.
  4. PCSF leaderboard ETL refresh gate (model) — cheap: store outcome samples at scoring time, Hoeffding/KS band on live windows, stratified per route.
  5. Q-exit LTT calibration (model) — needs one eval run; outputs a certificate ("exit-at-λ loses ≤ δ pass-rate at 1−ε vs depth-3").
  6. PETC watcher/deploy cadence (project) — fold in next time pr-watcher is touched; today's tick becomes the floor, add the τ_MASP ceiling.
  7. ETL fire-gap watchdogs over all of the above once they exist — the meta-trigger is what keeps the other six honest.

What the tranche does not license: alpha (every trade paper optimizes implementation cost of an existing target — bands are not edge, and "no taker edge after fees" stands); formal-guarantee claims; RL-trained triggers (sample complexity we can't feed).


Ask· chat — scheduling the Verify stage

Named mechanisms: surprise canary (two axes, per-turn, no accumulator); judge-scored groundedness bands, noisy on closed-context tasks (#2322); re-grounding actions (recall_memory / web / arXiv) each costing latency+tokens; wideSearch rounds.

What the papers actually say

  • 1301.2182 (Girard 2013) — the canary accumulator we don't have. Static trigger fires on the instantaneous margin σα(‖x‖) − γ(‖e‖) ≤ 0; Girard adds an internal variable η̇ = −β(η) + σα(‖x‖) − γ(‖e‖) — a leaky filter of the stability margin — and fires when η + θ(σα − γ) ≤ 0. η ≥σα(‖x‖) − γ(‖e‖) ≤ 0is invariant; the margin need only be non-negative on average (W = V+η decays); smaller θ ⇒ longer guaranteed gaps (θ→∞ recovers the static trigger). Chat translation: per turn η ← (1−λ_leak)η + (σ·g_t − s_t) with s = canary intensity, g = groundedness headroom; single-turn spikes drain the accumulator but don't fire it.
  • 2209.00849 (Scheres/Postoyan/Heemels 2023) — the #2322 fix. When the trigger sees only noisy measurements, naive designs chatter (Zeno). Cure = space regularization: a constant dead-band c in the trigger budget with the theorem condition c > β(2w̄) — the dead-band must strictly exceed the worst-case contribution of noise with amplitude bound w̄ (factor 2: noise enters both the held and current reading) — plus a conjunction jump rule: fire only when the accumulator is exhausted AND the instantaneous margin is negative. Price: practical stability with a floor offset d = Σc — you buy chatter-freedom by accepting a slightly stale grounding floor, documented.
  • 2111.04347 (Hertneck & Allgöwer 2021) — banked slack for multi-turn skips: badness V logged into an ϵ_ref-discounted FIR window of the last m checks; reference C = (1/m)(V + Ση_k); skip horizon Γ = max_i min{δ·T_max,i, (log C − log V)/(ϵ_ref − ϵ_i)} — quiet checks (V far below the discounted average) buy provably-bounded extra time; always a positive fall-back floor and a hard cap.
  • 0806.0709 (Anta & Tabuada 2008) — the architecture: all expensive analysis offline (base horizon τ* on a reference sphere, closed-form), online decision = cheap scaling by measured state. Chat translation: fit per-task-class grounding-decay rates from logs offline; per turn just scale the skip horizon.
  • 1904.03042 (Solowjow & Trimpe 2019) — the watchdog on the watchdog: the trigger's own fire-gap statistics are the drift signal. Recalibrate when |mean_n(τ) − E[τ]| ≥ κ, κ = τ_max√(ln(2/α)/(2n)) (Hoeffding; false-trigger rate ≤ α); the forced heartbeat Verify every τ_max turns is the same constant that makes the statistics bounded.
  • 2207.07061 (CALM, Schuster et al. 2022) — how to set any skip threshold with a certificate: Learn-then-Test — reference = verify-every-turn; grid λ descending; per-λ p-value p_j = exp(−2n·max(0, δ−Ê(λ_j))²); fixed-sequence testing at level ε; deploy the last rejected λ ⇒ "skipping degrades ≤ δ with probability ≥ 1−ε", distribution-free.
  • 2501.09292 (Dhole 2025) — measured payoff, zero extra models: draft first, retrieve only if sampled-drafts disagreement (Degree-Matrix Jaccard > 0.4 or Eccentricity > 2) — 1.46–2.23 retrievals/question vs 4.6–5.0 always-retrieve, with F1 up (0.593–0.605 vs 0.552): retrieving when confident actively hurts.
  • 2604.26649 (ReaLM 2026) — the composite step signal: RSUS = α·U_verb + β·U_ent + γ·U_cons (verbalized confidence; entropy of BM25 coverage over the step's entities — we already run BM25; 3-sample agreement only at marked steps; <8% overhead), then a cost-shaped learned gate (R = F1 − λ₁·n_ret − λ₂·latency): +10.1 F1 over standard RAG at −47% retrieval calls.
  • 2508.00500 (ProbGuard 2025) — predictive, not reactive: learn a smoothed DTMC over ~10–30 abstracted turn-states from our logs; intervene when the k-turn probability of reaching "ungrounded/degenerate" exceeds θ (PAC sample bound tells us how much log data suffices). Lead time measured up to ~39 s in their agents.

Recipes

  1. Leaky Verify-budget with noise dead-band (Girard × Scheres). Per turn: margin m_t = σ·g_t − s_t + c; η_t = max(0, (1−λ_leak)η_{t−1} + m_t); fire Verify iff η_t + θ·m_t ≤ 0 AND m_t ≤ 0. Calibrate c ≥ β(2w̄) with w̄ measured by repeat-scoring identical closed-context transcripts — score wiggles inside the noise band become structurally unable to fire the trigger. [accumulator + dead-band gives spike-tolerant, chatter-free triggering with tunable rate → 1301.2182 eqs. 7–8/Prop. 2/Thmm_t ≤ 0+ 2209.00849 Thm 1/eq. 17/Remarkm_t ≤ 0→ 0.85 mechanism, 0.4 formal-guarantee transfer]
  2. Self-triggered Verify horizon with banked slack (Hertneck × Anta-Tabuada). Discounted FIR window of badness at checks; skip horizon from log(C/V)/(ϵ_ref−ϵ_i) over task-class regimes with log-fitted decay rates; 1-turn fall-back, hard heartbeat cap. [quiet turns legitimately buy longer gaps via log(avg/current) → 2111.04347 Alg. 2/Thms 1–2 + 0806.0709 Thm 4.3/eq. 4.25 → 0.7; fitted rates are the weak joint]
  3. Calibrated skip-gate for re-grounding, watched by ETL (CALM × Dhole × ReaLM). Cheap composite signal (verbalized confidence + entity-BM25 entropy + 3-draft Jaccard only on hedge-markers); skip recall_memory/web/arXiv when above λ; λ set by LTT on golden-benchmark logs against an always-re-ground reference (certificate: ≤ δ groundedness loss at 1−ε); recalibrate only when the ETL watchdog fires on fire-gap statistics. [cheap uncertainty gating halves re-grounding at flat-or-better quality; threshold carries a distribution-free certificate → 2501.09292 Tables 1–2 + 2207.07061 Prop.+ 2604.26649 §4.2–4.3 + 1904.03042 Thm→ 0.8]

Not adopted

  • Anta-Tabuada's closed-form τ* / homogeneity fitting — no Lipschitz/homogeneity analogue for conversational drift; borrow the offline-base + online-scaling architecture only.
  • Continuous-time Zeno machinery — chat is discrete (1-turn MIET for free); the real disease is chatter, fixed by dead-band + conjunction.
  • Full ProbGuard CTL/PRISM stack — a smoothed transition table + matrix-power reachability suffices; adopt only if a small abstraction proves predictive on our logs.
  • Semantic entropy / full self-consistency as the gate signal — measured worst-of-class on cost and accuracy in this tranche (Dhole: Semantic Sets F1 0.411; ReaLM: 5–20× overhead vs <8%).

Ask· trade — rebalance bands, gate hysteresis, collector polling

Named mechanisms: brake-to-cash overlay (daily bars, 200d-SMA gate, tangency weights, $20/mo contributions, calendar-naive rebalancing); Kalshi collector (fixed 6s poll,budget); Portfolio Advisor contribution_plan (flat per-trade fees at small scale).

What the papers actually say

  • 1202.6131 (Soner & Touzi 2012) — the license: with proportional cost λ = ε³, welfare loss is O(λ^{2/3}) and the no-trade region has width O(λ^{1/3}), proven by viscosity/homogenization for general utility and general Markov dynamics — the theorem that lets the closed-form bands below be used outside toy models. Corollary that matters: the loss surface is flat near optimum, so frequent re-tuning buys almost nothing (see recipe 3).
  • 1303.3148 (Kallsen & Muhle-Karbe 2013) — THE band formula (eq 3.2/4.1). For constant target weights (our tangency case): Δπ = (3η/2γ)^{1/3} · (π(1−π))^{2/3} — half-width from measured half-spread η, risk-aversion knob γ, target weight π. Universal split: 2/3 of the welfare loss is paid costs, 1/3 displacement.
  • 1306.2802 (Altarovici/Muhle-Karbe/Soner 2013) — our dominant friction (flat ticket fee λ): band |w − π| ≤ ((12/γ)·π²(1−π)²·λ/Z)^{1/4} — width scales as (fee/wealth)^{1/4}, halving impact as wealth doubles; on breach, jump to target. Their worked example ($1 fee, $5K wealth): 45%–59% band around a 52% target.
  • 1203.5957 (Bouchaud et al. 2012) — gate hysteresis: for a discrete-OU predictor p with linear cost Γ, the optimal policy is bang-bang with threshold q* = (β/√ε)·F⁻¹(Γε^{3/2}/β), F(x) = x − e^{−x²}∫₀ˣe^{v²}dv; small-cost limit q* ∝ Γ^{1/3}. Fit ε, β by AR(1) on the signal; flip the SMA gate only beyond ±q* — kills whipsaw round-trips.
  • 1108.5940 (Rosenbaum & Tankov 2011) — rebalance on hitting times, not the calendar: optimal barriers a_t = c·(λ_t/A_t)^{1/(2+α−β)} (per-trade cost on a diffusion: (λ/A)^{1/4}, A = local variance); at equal expected trade count, hitting-time discretization strictly dominates equally-spaced dates. Daily close = a sampled hitting time; the constant c must be re-fit by backtest (discrete monitoring overshoots barriers).
  • 1510.04295 (Cai/Rosenbaum/Tankov 2015) — the unified calculator for our real cost (flat fee k + spread h): stay inside ±x*, on breach trade to the inner point ±x̃* (NOT to center unless h=0), boundaries from the polynomial system P(x) = θ₁x⁴+θ₂x², P′(x*) = P′(x̃*) = h, P(x*)−P(x̃*) = k + h(x*−x̃*); these bounds are attained by hitting-time policies, calendar policies attain strictly worse constants.
  • 1707.02531 (Sun/Polyanskiy/Uysal 2017) — the collector theorem: MSE-optimal sampling of a Wiener process under a rate constraint is send-on-delta (|W_t − W_{S_i}| ≥ √β) with the trigger disabled while a sample is in flight; optimal β solves E[max(β, W_Y²)] = max(1/f_max, E[max(β², W_Y⁴)]/2β). Zero-delay case: MSE σ²/(6f) vs σ²/(2f) for periodic — 3× at equal request rate; signal-ignorant (periodic) sampling is exactly age-of-information-optimal, i.e. the best you can do while ignoring the signal.
  • 1609.07534 (Trimpe 2016) — the implementable form for a poller that can't observe between polls: next poll at the smallest M with predicted error variance ≥ cost; for a random-walk price with variance rate σ_m²: Δt_m = β/σ_m².
  • 0809.1040 (Glattfelder/Dupuis/Olsen 2008) — calibration dial: directional-change counts obey N(δ) = (δ/C)^E with E ≈ −1.9 acrossFX pairs (Brownian would be −2); overshoot ≈ 2× threshold. Fit C, E per Kalshi market from our stored snapshots to set thresholds for a target event budget — and to test whether the Brownian model behind the two papers above holds (E far from −2 ⇒ re-fit).
  • 2510.21650 (Bayraktar/Han/Zhang 2025) — contribution_plan grounding: with per-trade fees, goal-based investing is impulse control — deposits accumulate in an inaction region and deploy in lumps; the frictionless V-shaped re-risking profile does not survive frictions (do not chase goals by re-risking).
  • 1910.07732 (Schlüter/Solowjow/Trimpe 2019) — when to re-tune: monitor windowed realized cost against the model-implied Chernoff band (κ⁻, κ⁺); trigger re-identification only on exit; false-trigger probability ≤ η by construction, and the window-sum handles autocorrelation.

Recipes

  1. Collector: variance-scheduled send-on-delta polling. Per market, EWMA variance rate σ_m² from the snapshots we already store; shared threshold β = (Σσ_m²)/R for request budget R; next poll for market m in Δt_m = β/σ_m², clamped [2s, 120s]; never schedule while a request or Retry-After backoff is in flight (Sun's rule); validate with fitted DC exponents (E_m ≈ −2 ⇒ model holds). Expected: up to ~3× staleness-MSE reduction on tight-band markets at equal budget, or equal accuracy at ~1/3 the requests. [threshold beats periodic at equal rate → 1707.02531 Thm 1, eqs. 15–16 → 0.85 in-model; transfer to thin, cent-grid, bounded Kalshi books → 0809.1040 unverified there → 0.6]
  2. Brake/Advisor: no-trade bands + contribution steering. Per asset: Δπ_i = max[(3η_i/2γ)^{1/3}(π_i(1−π_i))^{2/3}, ((12/γ)π_i²(1−π_i)²·λ/Z)^{1/4}] from measured spread η, fee λ, live wealth Z, γ fitted once to our −25% dip tolerance. Worked: Z≈$59K, λ=$1, γ=4, π=0.35 ⇒ ticket term ±4.0pp, spread term ±1.7pp ⇒ ±4pp bands — most monthly rebalances are provably wasted. Check at daily close (sampled hitting time); on breach trade to the inner point x̃* (≈ full target when the flat fee dominates). Contributions: route $20 to the most-underweight asset only near/beyond its band edge, else accumulate cash and deploy in lumps. SMA gate: flip only beyond ±q* hysteresis (AR(1)-fit ε, β; Γ = round-trip cost). [band structure leading-order optimal → 1303.3148 eq 3.2/4.1 + 1306.2802 eq 2.5 + 1510.04295 Prop 4.2/4.3 → 0.8 in-model; measured net-CAGR improvement after daily-bar discretization → backtest required → 0.65]
  3. Event-triggered re-tuning of the overlay. Monthly: rolling 12-mo realized excess-vs-backtest cost Ĵ; null band (κ⁻, κ⁺) from block-bootstrapped backtest residuals sized to false-trigger ≤ η = 0.1; re-estimate tangency weights / SMA family / band constants only when Ĵ exits the band, then recompute the band. Prevents both silent decay and re-tuning churn — and the flat loss surface (1202.6131) is why a gate beats a schedule. [cost-band trigger separates model change from noise, P[false] ≤ η → 1910.07732 Thm→ 0.85 for LQG; bootstrap substitute on fat-tailed dailies → 0.6]

Not adopted

  • Literal plant models of markets (ISS Lyapunov, Kalman over known dynamics) — markets aren't plants we actuate; adopt trigger architectures only, anything else is sprawl with fake precision.
  • The asymptotic constants as gospel at daily bars — keep the cube/quarter-root scaling structure, re-fit one multiplicative constant per formula by backtest (1108.5940 says its own c is only defined up to a constant).
  • **Reading q*/bands as alpha** — every paper here optimizes implementation cost of an existing target; none generates edge. Tighter polling must NOT become more taker trades: our own "no taker edge after fees" measurement stands; the collector redesign buys data freshness per request, nothing else.
  • Frictionless V-shaped goal-chasing (re-risking when behind) — 2510.21650 shows frictions destroy it; for a retail account it converts a savings plan into drawdown-seeking.

Ask· model — Q-exit, escalation, when to retrain

Named mechanisms: Ouro-1.4B looped LM with Q-exit (depth-3 optimum); verify-gated local→cloud escalation; GRPO refreshes on L4 with no principled trigger; PCSF provider leaderboard with no staleness detection; layer-1 surprise signal (AUROC ~0.76–0.81) with no spend; honesty probe (0.996 AUROC).

What the papers actually say

  • 1603.08983 (ACT, Graves 2016) — Q-exit's ancestor: sigmoidal halting unit, halt when cumulative Σh ≥ 1−ε, ponder cost ρ = N+R priced into the loss by τ. Lesson learned from its τ-sensitivity: a trained halting head carries no per-deployment guarantee — threshold selection belongs in post-hoc calibration, not in the weights.
  • 2207.07061 (CALM) — the calibration recipe (see chat section): Learn-then-Test over a descending λ grid with Hoeffding p-values and fixed-sequence testing ⇒ distribution-free "≤ δ quality drop vs full model at 1−ε".
  • 2504.15895 (DEER 2025) — where to test the exit: only at reasoning transition points (the model's own "Wait"/"Alternatively" tokens, or first-token entropy > 0.672 after a step break); trial-answer confidence = geometric mean of per-token max probs; exit iff C > λ (0.95 uncalibrated); DEER-PRo hedges prompt-sensitivity with C_avg − α·C_MAD. 19–80% CoT cut, accuracy flat or up, ~95% exit-decision accuracy — training-free.
  • 2404.16710 (LayerSkip 2024) — draft-then-verify inside one model: exit early to draft d tokens, verify with the remaining layers in one pass reusing KV; exact for greedy decoding (aggressive exits become lossless). Training recipe: exponential-depth layer dropout + shared-head early-exit loss. Maps naturally onto Ouro's weight-shared loop (draft at depth 1–2, verify with the depth-3 continuation); KV accounting across loop iterations needs a design note.
  • 1904.03042 / 1910.07732 (ETL) — retrain triggers with provable false-alarm rates: Hoeffding band on mean inter-event/outcome statistics (κ_approx = τ_max√((n+m)/(2nm)·ln(2/α)) when the reference is Monte-Carlo'd), KS band for distributions; 1910.07732 monitors the realized cost you care about with a Chernoff band on its exact MGF — and the window-sum trick tolerates autocorrelation (no independence inside the window needed).
  • 2410.09190 (CDSeer 2024) — drift detection at ~1% label cost: a cheap inspector labels everything in parallel with production; the disagreement stream feeds Page-Hinkley; humans label one point per DBSCAN cluster (labels spread cluster-wide) to keep the inspector honest. Matches supervised detection with ~99% fewer labels; deployed industrially.
  • 1911.06565 (Umlauft & Hirche 2019) — data-intake gating: acquire a new training point only when scaled model uncertainty ≥ the margin that matters (βσ(x) ≥ k_c|r|), with a noise dead-band (don't chase noise) and budgeted forgetting (prune replay data only while the uncertainty gate still holds; keep the newest).
  • 2605.06350 (cascades 2026) — escalation is a solved shape: two-model threshold cascades (cheap always paid; escalate iff s_L < τ); frontier slope (m_H(τ)−m_L(τ))/c_H; optimal point = reciprocal shadow prices; over a pool, the achievable frontier is the pairwise envelope — fixed cost-ordered chains lost to it on every tested dataset (≤0.014 from jointly-optimized subsequences; up to 79.5% cost cut at 90% ceiling quality).
  • 1809.05152 / 2008.04712 — price the expensive action explicitly (R = R_task − λ·γ_communicate) and calibrate the trigger jointly with the policy it gates — separately-optimal pieces are jointly suboptimal (70% vs 60% comm savings in their ablation). For us: fit thresholds offline from logs (regime i: freeze the actor, learn only the trigger); skip the RL machinery.

Recipes

  1. LTT-calibrated Q-exit (CALM transplant, DEER placement, LayerSkip insurance). Depth-3 = "full model"; grid λ descending; n≈300–500 held-out tasks; loss = max(0, quality(depth3) − quality(exit@λ)) with exec-verify pass as quality; deploy last λ with p_j = exp(−2n·max(0,δ−Ê)²) ≤ ε (δ = 0.02–0.05 pass-rate, ε = 0.05). Test exits only at loop boundaries/transition points with trial-answer geometric-mean confidence; optionally self-speculate (draft@1–2, verify@3) to make aggressive exits lossless. [distribution-free ≤δ drop certificate → 2207.07061 §4 → 0.9] [semantic-boundary placement, λ≈0.95 seed → 2504.15895 §3.2 → 0.85] [draft-verify in one weight-shared model → 2404.16710 §4.3 → 0.8, 0.6 on loop-KV adaptation]
  2. Event-triggered refresh gate for the PCSF leaderboard + local adapters (ETL × CDSeer). (a) Leaderboard: store the outcome sample behind each score; refresh a provider when live window vs score-time sample crosses the Hoeffding/KS band (α = 0.01–0.05 false-refresh budget, stratified per route). (b) Local adapters: inspector = honesty probe + exec-verify + ~1% cloud-teacher spot-checks sampled one-per-cluster; disagreement stream → Page-Hinkley; alarm ⇒ queue GRPO refresh, with the noise dead-band and budgeted-forgetting rules for the replay buffer. [provable ≤α false-trigger rates → 1904.03042 Thms 4–7 → 0.9, 0.7 under non-i.i.d. traffic] [inspector-disagreement + PHT at ~1% labels → 2410.09190 §IV → 0.85] [band the cost you care about; windows tolerate autocorrelation → 1910.07732 Thms 1+3 → 0.8]
  3. Pairwise-envelope escalation — spend the surprise signal as a deferral score. Retire the fallback-chain mental model: from PCSF logs fit conditional-benefit curves m_H(τ)−m_L(τ) per (cheap, expensive) pair; operate each budget class at the shadow-price point on the best single pair; deferral score for Ouro = fusion of Q-exit value + layer-1 surprise (this is where ADR-0017's signal gets spent — as an escalation feature, not a decode intervention) + honesty probe. [fixed chains lose to the pairwise envelope on every dataset → 2605.06350 Prop 4.2/eq. 19/§6.2 → 0.85] [price escalation explicitly; calibrate trigger jointly with the gated policy → 1809.05152 eq.+ 2008.04712 → 0.75]

Not adopted

  • ACT-style trained ponder cost — retraining the halting decision into the weights is τ-sensitive, high-variance, against our persistent-learning-not-weight-modification rule, and redundant with Q-exit + LTT.
  • Model-free RL for triggers (DDPG/hierarchical-RL/REINFORCE) — sample complexity assumes simulators/trace volumes we lack; keep the priced-escalation objective, fit thresholds offline.
  • Optimizing the fixed provider chain order — the envelope result retires the chain as a design object, not just a parameter choice.
  • Claiming the formal α/δ guarantees — theorem forms transfer (banded triggers, uncertainty-vs-margin comparators, safe forgetting); proofs assume i.i.d./linear-Gaussian/RKHS conditions we can't verify. Log false-alarm rates and validate empirically.

Ask· project — watcher ticks, deploy polls, monitor cadences

Named mechanisms: pr-watcher.js ~60s setInterval merger; 5-min autodeploy poll; Kalshi collector (scheduling view); RAM-drain / tunnel-canary / fleet-scenario monitors. Failure modes: burning API budget polling quiet systems; missing fast incidents; chattering restarts.

What the papers actually say

  • 0806.0709 (Anta & Tabuada 2008) — the ur-pattern. Event rule: with measurement error e(t) = x(t_i) − x(t) and ISS-Lyapunov bound V̇ ≤ −α(|x|) + γ(|e|), act when |e| = σ·(a/b)·|x|, σ∈(0,1) — a relative deviation threshold, σ the budget knob. Self-triggered version: compute next execution time τ(x) from how fast |e|/|x| can grow, using homogeneity (τ(λx) = λ^(−ζ)τ(x), Thm 4.3). Note the polarity: for ζ>0, hotter state ⇒ check sooner. Transfers: the two-ingredient schema (measured activity level + known worst-case growth rate → next check) and relative-not-absolute thresholds. Doesn't: the scaling formulas — queues and CI pipelines have no dilation symmetry.
  • 1108.5504 (Postoyan et al. 2011) — the design contract: pick a scalar "pressure" function R that (i) is positive-definite, (ii) strictly decreases while waiting, (iii) doesn't increase at actions, and (iv) solutions have a dwell time — a uniform minimum gap between actions. Item (iv) elevates anti-chatter to a first-class acceptance criterion. Their auxiliary-threshold rule (η̇ = −δ(η), trigger only when V ≥ η AND the error condition fires) is a dual-condition trigger, explicitly recommended with slow decay "in case of overload in the network" — resource-aware cadence in 2011.
  • 2202.06282 (Scheres et al. 2022, distributed PETC)the watcher-shaped one. Agents run unsynchronized local clocks with bounded tick gaps; expensive transmissions happen only at ticks, at the first tick past an enforced minimum inter-event time τ_MIET where a running budget η (supply-minus-leak dynamics, eq. 10) plus a mismatch penalty ν is exhausted (eq. 9). Zeno-free by construction (actions ⊆ ticks, gap ≥ d; plus the τ_MIET floor). This is setInterval + poll-then-decide with provable shape.
  • 0906.3588 (Mazo, Anta, Tabuada 2009) — closed-form next-time with both clamps: Γ_d(x) = max{τ_min, n_kΔ}, n_k the largest number of quanta for which the predicted health metric stays under a decaying envelope, capped at N_max. Theorem 4.2 prices staleness: the disturbance gain grows with N_maxΔ — τ_max exists because unmodeled events accrue while you sleep ("a human force-pushed master while we slept" is δ(t)).
  • 2105.03110 (Gleizer & Mazo 2021) — the objective correction: maximize long-run average inter-sample time (AIST = liminf (1/n)Στ_i), not the next gap; latest-safe-sampling is named a greedy strategy that is "very rarely optimal" on average. Early checks within the safety deadline are free moves and can re-phase the loop favorably.
  • 2111.04347 (Hertneck & Allgöwer 2021) — backoff-credit, formalized: memory η stores discounted past health values; the acceptance test is that the next sample sit under the discounted average of the last m (average decrease, not per-interval — a debouncer); intervals may extend when log(C/V) > 0credit banked when past decay beat the reference rate — but never past a hard cap T_max, never under floor t_min. ISS holds for arbitrary unknown disturbances the mechanism never sees.
  • 1609.07534 (Trimpe 2016) — polling is estimation: communicate iff expected estimation-error cost ≥ communication cost (eq. 18); self-trigger = sleep the smallest M with trace(P_pred(ℓ+M|ℓ) − P_ref(ℓ+M)) ≥ C (eq. 34) — next poll at the first time predicted excess uncertainty exceeds the poll's cost. Gives any monitor a two-parameter cadence: uncertainty growth rate × cost ratio.

Recipes

  1. PETC watcher/deploy cadence (MIET floor + MASP ceiling). Cheap conditional probes every tick (ETag/If-None-Match — 304s near-free); budget η spent by observed events (push/CI-completion/review), leaks toward deferral when quiet; full scan+merge burst at the first tick with elapsed ≥ τ_MIET and budget exhausted; unconditional scan at τ_MASP. Defaults: watcher τ_MIET=60s (today's tick becomes the floor — never chattier than now), τ_MASP=10min; deploy τ_MIET=2min, τ_MASP=15min (today's 5min becomes the midpoint, not the constant). [claim: tick-gated poll-then-decide with an enforced MIET is Zeno-free by design and is the correct shape for a setInterval merger → 2202.06282 §3.3–3.4, eqs. 6/9/10 → 0.85 structural, 0.3 for any formal guarantee] [claim: a hard τ_max is required because unmodeled events accrue while sleeping → 0906.3588 §3 + Thm 4.2 → 0.8]
  2. Variance-budget poller for the collector. Per-market: σ̂² = EWMA of squared per-poll deltas; sleep M* = ceil(C/σ̂²) base ticks, clamped [6s, 60s]; C calibrated so hot markets resolve to M*=1 (today's behavior = floor); volume/spread spike hard-resets to 1. [claim: poll when predicted open-loop uncertainty exceeds the poll cost; closed form = smallest M with excess variance ≥ C → 1609.07534 eq.→ 0.75 for budget reduction on quiet markets]
  3. Credit-bank anti-chatter for monitors. Per-monitor credit η ← clamp(0, η + (SLA_rate − badness)·τ, η_cap); interval τ = clamp(τ_min, τ_base·(1+η/η_ref), τ_max); and gate actions (restart/kill/alert) on the discounted average of the last m readings, never one sample. Defaults: m=5, τ_max=10×current, η_cap ≈[claim: dual-condition triggers + ε-floors are the standard Zeno/chatter fixes → 1108.5504 §V, Thm 1(iv) → 0.8]skipped checks. [claim: bank slack from quiet periods with explicit floor+cap, robust to unknown disturbances → 2111.04347 §III-B/IV-A, Thmτ = clamp(τ_min, τ_base·(1+η/η_ref), τ_max)→ 0.7] [claim: dual-condition triggers + ε-floors are the standard Zeno/chatter fixes → 1108.5504 §V, Thm 1(iv) → 0.8]

KPI change: instrument AIST (average inter-scan time) per poller + miss latency; allow deliberate early checks near known deadlines (CI ETA, market close). [greedy latest-safe is rarely average-optimal → 2105.03110 eq. 3, Problem→ 0.9 metric, 0.5 measurable savings here]

Not adopted

  • Mean-payoff-game synthesis on finite abstractions (2105.03110's machinery) — no finite quotient of GitHub/CI exists; take the objective only.
  • Homogeneity scaling laws as formulas — no dilation symmetry outside ODE-land; keep the relative-threshold schema only.
  • Pure continuous-monitoring ETC — for us continuous watching is polling, the thing being economized; everything must be PETC- (tick-gated) or STC- (sleep-until) shaped.
  • Porting stability guarantees — our plants are queues+CI+APIs; adopt shapes/floors/accumulators, validate empirically (API calls/hour, p95 merge latency, missed-incident latency), and never claim ISS/UGAS in docs or comments.