📋 English documentation
日本語 →

📋Capabilities (Current State)

One row per capability: how production behaves right now, with status (active / off-by-default / planned) and flag defaults.

Division of roles: the feature map (Layer 3) records development progress; this capability list shows the current state — not whether something is implemented, but how production behaves right now, via status and flag defaults.
ℹ️How to read this

“Implemented” and “enabled by default” are different things (see “How to Read This Spec”). Currently active 6 / implemented-but-off 12 / planned 0 (18 total). A default-OFF capability does nothing in production until its flag is raised.

Inbound AI verdict

CapabilityStatusFlag (default)Notes
Rule-layer verdict (8 steps)active (on by default)— (always)blocklist→whitelist→hours→auth-KW→KW score→opener floor→category→threshold
backend/engine/scorer.py
Termination safety valveactive (on by default)AEGIS_TERMINATE_MIN_SCORE=0.8score-based termination only at ≥0.8; L1 gates unconditional
backend/engine/verdict_port.py
route-decision 3-way branch (Gate 1)active (on by default)— (always)pre-call block / human / ai; undecidable falls to a human (fail-open)
backend/api/route_decision.py
AMI Hangup (Gate 2)implemented, off by defaultbridge feat/d1(未マージ)awaiting on-device verification; Docker-verified, guarded by the 0.8 valve
aegis-sip-bridge src/bridge.py
LLM-layer shadow recordingimplemented, off by defaultAEGIS_VERDICT_MODE=rules(既定)set to shadow to start rules-alongside recording (record-only, main line unchanged)
backend/api/realtime_session.py
fraud enum (fraud classification)implemented, off by defaultAEGIS_FRAUD_ENUM_SCORE=0.95platform #67 merged; awaiting bridge #17 — live only when both land
backend/services/tools_core.py

Outbound restriction

CapabilityStatusFlag (default)Notes
Premium / international call blockingimplemented, off by defaultAEGIS_BLOCK_PREMIUM / AEGIS_BLOCK_INTERNATIONAL(既定0)enabled with =1 (switch-style; passes through by default)
voice-edge configs/extensions.d/30-from-ext.conf
Emergency numbers always allowedactive (on by default)— (always)110/119/118 always callable regardless of flags
voice-edge configs/extensions.d/30-from-ext.conf

Recording & PII

CapabilityStatusFlag (default)Notes
retention_until stampingactive (on by default)AEGIS_REALTIME_RETENTION_DAYS=30stamps a retention deadline on all call_logs paths (deadline only; never deletes)
backend/core/retention.py
Deletion sweeper (periodic task)implemented, off by defaultAEGIS_RETENTION_SWEEP_SCHEDULER_ENABLED=false⚑ actual deletion impossible in code (F1 forces dry-run); unlocking awaits F2
backend/services/retention_scheduler.py
Realtime recordingimplemented, off by defaultAEGIS_REALTIME_RECORDING_ENABLED=falsethe RecordingStorage abstraction is wired; full implementation awaits the B3 design
backend/services/recording_storage.py

Billing

CapabilityStatusFlag (default)Notes
Usage meteringimplemented, off by defaultAEGIS_USAGE_METERING_ENABLED=falseappend-only, idempotent, PII-less; recorded only at call finalization
backend/services/usage_metering.py

Notifications

CapabilityStatusFlag (default)Notes
App notificationimplemented, off by defaultAEGIS_NOTIFY_APP_ENABLED=falseactual sending is a stub (awaiting Chris's confirmation)
backend/notifications/channels.py
Slack notificationimplemented, off by defaultAEGIS_NOTIFY_SLACK_ENABLED=falseimplemented (the legacy SlackNotifier wrapped in the channels abstraction)
backend/notifications/channels.py
LINE notificationimplemented, off by defaultAEGIS_NOTIFY_LINE_ENABLED=falseinterface only; sending not implemented
backend/notifications/channels.py
Email notificationimplemented, off by defaultAEGIS_NOTIFY_EMAIL_ENABLED=falseinterface only; sending not implemented
backend/notifications/channels.py

MCP

CapabilityStatusFlag (default)Notes
MCP 28 tools (read 12 / write 13 / approval 3)active (on by default)AEGIS_MCP_TRANSPORT=stdio(既定)AI agents get dashboard-equivalent reads and writes; see the MCP Tools page
backend/mcp/tools/
Strict approval mode (enforced two-person approval)implemented, off by defaultstrict_approval_mode_default=False(client 単位)for a client with it ON, loosening changes require propose → approval by another operator → apply
backend/services/strict_approval_gate.py

Not supported (explicitly)

  • Outbound calling in general — groundwork only on the roadmap
  • FAQ answering — KB integration is planned (not implemented)
  • Always-on recording — off by default; continuous recording is not supported