Skip to main content

Supervised Autonomy (Pillar 4)

Earned trust through demonstrated competence — 3-tier automation that adapts review depth based on officer track record.

Business Value

Experienced officers shouldn't review every case identically. Supervised Autonomy earns automation tiers per (officer, template, country) based on calibration history, reducing review time for predictable cases while maintaining full scrutiny for novel risks.

Architecture

3-Tier Model

TierRequirementsUX
Full ReviewDefault (< 20 cases)Standard case detail
Guided Review20+ cases, > 85% agreement rateRecommendationBanner with AI suggestion
Express Approval50+ cases, > 92% agreement rateOne-click approval in ExpressQueue

Tiers are earned per (officer_id, template_id, country) composite key — granular trust.

Safety Net

GovernanceEngine can override any tier:

  • Sanctions proximity → always FULL_REVIEW
  • CRITICAL risk flags → always FULL_REVIEW
  • p_critical > 0.15 → always FULL_REVIEW
  • HIGH risk + Express → downgrade to GUIDED

Compliance Manager can force/release tiers via API.

Key Components

  • app/services/automation_tier_service.py — Tier computation, assignment, rolling-window downgrade; calls the governance engine on each assignment
  • app/services/governance_engine.pyGovernanceEngine.check_tier_eligibility() — the override safety net
  • app/models/automation_tier.py — Data models (shim re-exporting trustrelay_models.automation_tier, which defines AutomationTier, TierConfig, and TIER_CONFIGS)
  • app/api/automation.py — 5 API endpoints (router tagged automation)
  • frontend/src/components/dashboard/ExpressQueue.tsx — One-click approval cards
  • frontend/src/components/dashboard/TierBadge.tsx — Colored tier indicators
  • frontend/src/components/dashboard/RecommendationBanner.tsx — AI recommendation display

API Endpoints

MethodPathDescription
GET/api/automation/tiersList all tiers
GET/api/automation/tiers/{template}/{country}Get specific tier
POST/api/automation/overrideForce tier (Compliance Manager)
DELETE/api/automation/override/{template}/{country}Release override
GET/api/automation/statsAutomation statistics

Configuration

  • automation_audit_mode — When true, logs tier decisions but doesn't automate
  • Alembic migrations: 012_automation_tiers, 013_signal_events_nullable_case_id