Feature stages
operatorThe feature flags that gate each Console stage — enabled, read, prepare, signing plus its owner gate, and the kill switch — and the honest current state: code deployed, every stage disabled.
The Console ships as an additive, feature-flagged, fully-removable shell. Each capability stage is gated by its own flag, and a stage is only reachable when its flag — and every flag below it — is enabled. Flags are resolved from server env as booleans; they are never secrets and never leak env values into the public capability response.
The flags, in order
HISS_CONSOLE_ENABLED— the master switch. Nothing is reachable unless this is on.HISS_CONSOLE_READ_ENABLED— gates L0 READ (Today, activity). Requires the master switch.HISS_CONSOLE_PREPARE_ENABLED— gates L1 PREPARE (resolve, compile, simulate lifecycle). Requires read on and the kill switch off.HISS_CONSOLE_SIGNING_ENABLEDplus the owner gateOWNER_APPROVED_HISS_CONSOLE_L2_SIGNING— together gate L2 SIGN_EACH_ACTION. Both must be true, on top of prepare being enabled. Signing defaults off and never auto-enables. See wallet handoff.HISS_CONSOLE_KILL_SWITCH— when active, forces prepare and signing off immediately, regardless of their flags. Read may remain.
Capability levels
The resolved levels are L0_READ, L1_PREPARE, and L2_SIGN_EACH_ACTION. The Console never reaches L3 (scoped session), L4 (automation), or L5 (protocol admin) — automationEnabled, sessionKeysEnabled, safeModulesEnabled, and serverSigningEnabled are always false.
Honest behavior when disabled
Disabling a flag removes the surface. With read off, GET /api/console/today and GET /api/console/activity answer 404 CONSOLE_DISABLED. With prepare off, the intent, plan, simulate, and cancel endpoints answer 404 CONSOLE_PREPARE_DISABLED. The sanitized GET /api/console/capabilities always returns 200 with booleans only, so a client can learn the Console is off without a special case. See troubleshooting.