It never blinks.
Every existing monitoring tool is a tripwire. It waits. It alerts. It pages a human. The human is the intelligence — the tool is just a sensor.
Marshal is the intelligence. It watches your servers, services, and systems — not as a passive monitor waiting for thresholds to breach, but as an active agent that understands context, detects developing problems before they become incidents, and acts with calibrated confidence.
The human is the exception — consulted only when the blast radius demands it.
See the architecture →Not a better monitor. A different thing entirely.
Monitoring tools operate on thresholds. Marshal operates on context. These three principles define what separates an autonomous agent from a sophisticated alert system.
TRENDING signal at t=10m: 68%
TRENDING signal at t=20m: 74%
→ NOTIFY_AND_ACT at 74%, not at 85%
85% CPU at 14:00 Tuesday → normal
Same signal. Opposite response.
Temporal baseline: 168-cell grid
restart_nginx + latency_spike → 0.22
→ Marshal stops using it for latency
→ Surfaces to human with note
Every action earns its autonomy.
The Confidence Gate is the core decision function. It weighs signal urgency against action risk and returns one of four tiers. This gate is what separates Marshal from both passive monitors and naive automation.
if uptime_days < observe_only_days (7): force RECOMMEND regardless of confidence
if action.confirmation_required: force RECOMMEND regardless of risk score
AUTONOMOUS: significance ≥ auto_threshold AND risk ≤ 0.35 AND confidence ≥ auto_confidence
NOTIFY_AND_ACT: significance ≥ notify_threshold AND risk ≤ 0.65
RECOMMEND: significance ≥ recommend_threshold
OBSERVE: default (significance below all thresholds)
Collect. Analyze. Gate. Act.
Marshal runs a continuous patrol loop — every tick, it collects all sensor readings, analyzes deviation from baseline, scores significance, passes through the confidence gate, and executes or notifies. Fail-open: a tick exception never stops the loop.
All active sensors fire. CPU, memory, disk, swap, load average, network I/O, HTTP endpoint health and latency. Every reading written to the append-only signal store (signals.db, WAL mode).
Pattern engine computes deviation (σ from baseline), velocity (rate of change per minute), and duration (minutes since deviation threshold exceeded). Correlation detection flags co-anomalous signals.
Each anomalous signal is scored for significance. The confidence gate evaluates action candidates from the playbook against current signal context and returns AUTONOMOUS / NOTIFY_AND_ACT / RECOMMEND / OBSERVE.
Autonomous actions execute (after audit write). Notify-and-act actions execute and fire webhook. Recommendations surface to the dashboard. Outcomes tracked and fed back into action effectiveness weights.
Borrowed from Ethos. Calibrated for infrastructure.
Marshal's significance formula shares structural DNA with Ethos's resistance scoring — an additive formula with independently tunable components. Signal urgency, not just current value, determines action tier. Range: 0.0 → 1.0.
dev_score = min(deviation_sigma / 5.0, 1.0) × 0.45
dur_bonus = min(duration_minutes / 30.0, 1.0) × 0.30
vel_bonus = min(velocity / 5.0, 1.0) × 0.15
corr_bonus = min(correlated_count × 0.025, 0.10) ← Phase 4
Example: deviation=4.2σ, duration=15min, velocity=0.3/min, correlation=0
→ 0.378 + 0.150 + 0.009 + 0.000 = 0.537 → RECOMMEND tier
Phase 0 runs today. Everything compounds.
Each phase is independently deployable and builds on the previous one. Phase 0 alone is more capable than most monitoring setups. Everything beyond Phase 0 turns data into intelligence.
Systems that do more than react.
Four products. One architecture. One philosophy. All four share the same underlying idea: systems that understand context, act with calibrated confidence, and are accountable for every decision.
Marshal decides.
The human is the exception."