Skip to main content
Developer docs
core/autonomy

Trust ramp

Per-lever earned autonomy: fast down, slow up. Promotion needs ≥10 decided actions at ≥75% win rate; irreversible actions are never auto-approved.

Autonomy is granted per lever — a specific action type in a specific domain — and it is earned from that lever's measured record on that store. There is no global 'trust the AI' switch; there is a ladder each lever climbs on its own verdicts, and falls off faster than it climbed.

The rules

auto-apply gate (illustrative)python
def can_auto_apply(lever, action):
    if action.irreversible:
        return False                    # never, at any win rate
    r = verdicts(lever)                 # win/loss/neutral, full windows
    if r.decided < 10:                  # slow up
        return False
    if r.win_rate < 0.75:
        return False
    if lever.demoted:                   # fast down: loss streak → review
        return False
    return within_budget_envelope(action)

Promotion is slow — at least 10 decided actions at a ≥75% win rate. Demotion is fast — a poor win rate or a loss streak sends the lever back to operator review immediately, and it re-earns autonomy the same way it did the first time. The asymmetry is the design.

The verdict engine

Every applied action is scored win, loss, or neutral after its full measurement window — not on day-two noise — against the store's own break-even ROAS, with a baseline-drift adjustment so market-wide movement isn't credited to or blamed on the action. Verdicts are what the ladder, the Reflection lessons, and the win-rate math all run on. Auto-rollback of confirmed losers is double-gated opt-in: you enable it explicitly, and each rollback still clears its own gate.

One-way-down confidence

Confidence calibration only moves in one direction: realized win rates can add review requirements to a lever, but nothing the system measures can ever remove a review requirement on its own. And irreversible actions sit outside the ladder entirely — never auto-approved, at any win rate, in any mode.

The budget envelope

Even earned autonomy operates inside per-domain soft daily spend caps. A budget increase that would breach the envelope is blocked; decreases and pauses are always allowed; and every individual budget move is clamped to ±20%. The envelope bounds the blast radius of a wrong decision, which is what makes granting autonomy a bounded bet instead of an open one.

// developer docs

Magistry runs your store. We run Magistry.

The SDK is the same one our worker uses in production. Same auth, same rate limits, same audit plane — no shadow surface.

Stable for a year · Versioned changelogs · No silent breaking changes