Track B Phase 3 (CR-5) — effective-state badge (kill-switch override, honest)

2026-06-21

scope-enforcementgovernance-dashboard

LOCKSTEP TRACEABILITY MATRIX --- api_endpoints: ["consumes GET /auth/killswitch/status"] sdk_methods_updated: ["none"] mcp_tools_updated: ["none"] ---

What We Built

A badge that states the effective enforcement state, not just the configured one (R6). Phase 1 deliberately showed "configured mode" with an "effective state unknown" caveat, because a global kill-switch can suspend enforcement regardless of the dial. This badge surfaces that one signal honestly: when a global kill-switch is active it reads "effective: HALTED — global kill-switch active" in red, with the reason; otherwise "effective: live — no global halt."

Critically, it does not overclaim: it explicitly notes that per-request cohort divergence (CR-2, a separate route that doesn't exist yet) is not surfaced — an honest "this is what we can confirm" rather than a false all-clear.

Why It Matters

The most dangerous lie a governance dashboard can tell is "ENFORCING" when a kill-switch has actually halted enforcement. CR-5 makes the kill-switch override visible at a glance on the grants surface, so an operator never mistakes a configured intent for a live guarantee.

How It Works

effectiveModeBadge() reads the existing GET /auth/killswitch/status over the dashboard JWT client and renders the effective state. Pure frontend — no new backend; it composes a truthful effective signal from data the platform already exposes.

The Numbers

  • 1 component; mounted on #grants beside the chain-verify badge. Build + lint + 389 dashboard tests green.

Lockstep Checklist

  • [x] API Routes: consumes /auth/killswitch/status; no new backend.
  • [x] TS/Python SDK / MCP: none.

Remaining (Phase 3 + 4)

Phase 3 is now down to CR-4 (scope-check composer) — the design's explicitly-flagged composer refactor — plus CR-2's cohort-divergence route. Phase 4 (Plans, CR-9) needs a liaison-store list extension + the Plans section. Everything else in Phase 3 (CR-1 badge + ledger, CR-3 would-deny, CR-5 effective-state, CR-7 events + live feed) has shipped.