Autonomy Cockpit User Guide
1. Purpose
Autonomy Cockpit is an operations panel in the SentinAI dashboard that lets you view autonomous agent status on a single screen,
and run scenario injection / Goal Tick / Dispatch Dry-run.
Audience:
- Operator
2. Prerequisites
2.1 Required environment variables
Minimum recommended values (based on .env.local):
# Enable Agent Loop (automatic)
L2_RPC_URL=https://your-l2-rpc.example.com
# Goal Manager
GOAL_MANAGER_ENABLED=true
GOAL_MANAGER_DISPATCH_ENABLED=true
GOAL_MANAGER_DISPATCH_DRY_RUN=true
GOAL_MANAGER_DISPATCH_ALLOW_WRITES=false
# Runtime autonomy defaults (optional)
GOAL_AUTONOMY_LEVEL=A2
GOAL_AUTONOMY_MIN_CONFIDENCE_DRY_RUN=0.35
GOAL_AUTONOMY_MIN_CONFIDENCE_WRITE=0.65
2.2 When using policy changes / dispatch buttons
Changing Autonomy Level and running Dispatch Dry-run are write API calls, so the API key must be valid.
# Server authentication key
SENTINAI_API_KEY=your-admin-key
# Dashboard (for injecting write headers) - same value as the server key
NEXT_PUBLIC_SENTINAI_API_KEY=your-admin-key
Notes:
NEXT_PUBLIC_*values are exposed to the browser.- Use only in internal networks / demo environments, and in public environments we recommend separate access controls (SSO/VPN/IP allowlists).
2.3 Development vs production mode differences
- The
Stable/Rising/Spikebuttons callPOST /api/metrics/seed. - This endpoint is blocked with 403 when
NODE_ENV=production. - In production, observe only real traffic-derived state instead of injecting seed data.
3. Understanding the panel layout
The dashboard Autonomy Cockpit panel consists of the four areas below.
3.1 Top badges
A0~A5: Current runtime autonomy policy levelloop:on/off: Agent Loop enabled status (/api/agent-loop)
3.2 Engine Status
Goal Manager: Whether the candidate generation / queue management engine is enabledDispatch: Whether dispatch execution is enabledDispatch Mode:dry-runorwrite
3.3 Goal Queue
Queue Depth: Number of goals in queued/scheduled/running statesActive Goal: Currently-processing goal id (shortened)top: Summary of the top-of-queue goalsuppression: Number of suppressed candidatesdlq: Number of items moved to the DLQ after failures
3.4 Guardrails
Read-Only: Whether read-only mode is enabledVerify: Most recent execution verification result (PASS/FAIL/N/A)Approval (Write): Whether write-family approvals are requireddegraded: Most recent degraded reason
4. Autonomy Level (A0~A5)
| Level | Permission | Guardrail |
|---|---|---|
| A0 | Observe only, no autonomous execution | All executions require manual approval |
| A1 | Can generate recommendations; execution is manually triggered | Automatic dispatch disabled |
| A2 | Allow autonomous dry-run execution | Block write execution; approval required |
| A3 | Allow low-risk goal write execution | Switch to degraded mode on verification failure |
| A4 | Expand automatic execution up to medium-risk goals | Enforce approval/verification/audit logs |
| A5 | Maximum autonomy including high-risk | Auto-rollback on post-verification failure |
Reference:
- The panel footer shows the current
dry-run thresholdandwrite threshold. - On hover, each level button shows Permission/Guardrail tooltips.
5. Basic usage procedure
5.1 Check status
- Confirm the
Autonomy Cockpitpanel is visible - Confirm the top badge shows
loop:on - In
Engine Status, confirmGoal Manager=EnabledandDispatch=On
5.2 Inject a scenario (development mode)
- Click one of
Stable/Rising/Spike - Confirm the feedback message
- e.g.
Scenario spike injected (20 data points)
- e.g.
5.3 Run Goal Tick
- Click
Goal Tick - Confirm the feedback message
- e.g.
Goal tick completed (generated 4, queued 2, queue depth 2)
- e.g.
- Check changes in
Queue Depth,top, andsuppression
5.4 Run Dry-run Dispatch
- Click
Dispatch Dry-run - Confirm the feedback message
- e.g.
Dry-run dispatch completed (status: dispatched)
- e.g.
- Check
verify/degradedinGuardrailstogether withGoal Queuestate
5.5 Change autonomy level
- Click the target level among the
A0~A5buttons - Confirm the success message
- e.g.
Autonomy level changed to A3.
- e.g.
- Confirm the top level badge and current policy description update immediately
6. UI actions to API mapping
| UI action | API | Auth requirement | Notes |
|---|---|---|---|
| Stable/Rising/Spike | POST /api/metrics/seed?scenario=<name> | No API key required by default | Development-mode only (blocked in production) |
| Goal Tick | POST /api/goal-manager/tick | Requires x-api-key when SENTINAI_API_KEY is set | Performs queue generation / suppression calculation |
| Dispatch Dry-run | POST /api/goal-manager/dispatch (dryRun=true, allowWrites=false) | Requires x-api-key | Route also re-validates the admin key |
| Autonomy Level buttons | POST /api/policy/autonomy-level | Requires x-api-key | Runtime updates for level/thresholds |
| Status panel polling | GET /api/goal-manager?limit=20, GET /api/policy/autonomy-level, GET /api/agent-loop | Not required | Refreshes about every 30 seconds |
7. Troubleshooting
7.1 Changing policy level requires NEXT_PUBLIC_SENTINAI_API_KEY
Cause:
- No key in the browser to construct write API headers
Action:
- Set
SENTINAI_API_KEYandNEXT_PUBLIC_SENTINAI_API_KEYto the same value in.env.local - Restart the server
7.2 Unauthorized: invalid or missing x-api-key
Cause:
- Mismatch between the server key (
SENTINAI_API_KEY) and the request key
Action:
- Verify server env and browser env values match
- Check that the reverse proxy is not stripping the
x-api-keyheader
7.3 This endpoint is only available in development mode
Cause:
metrics/seedis blocked in production mode
Action:
- In production, validate using real metrics instead of the seed injection buttons
- If you need a demo, run it in a development environment
7.4 Queue stays at 0
Cause:
- Goal Manager disabled
- Candidate generation / queueing conditions not met given the signal
Action:
- Check
GOAL_MANAGER_ENABLED=true - Check
GOAL_MANAGER_DISPATCH_ENABLED=true - After
Goal Tick, first inspect generated/queued values in the feedback
7.5 loop:off
Cause:
- Agent Loop disabled (
L2_RPC_URLnot set orAGENT_LOOP_ENABLED=false)
Action:
- Set
L2_RPC_URL - If needed, explicitly set
AGENT_LOOP_ENABLED=true
8. Operational recommendations
- For initial operation, start with the
A2 + dry-runcombination. - Before raising to
A3or higher for write execution, validate verification/rollback procedures first. - Before switching
GOAL_MANAGER_DISPATCH_ALLOW_WRITES=true, accumulate and review dry-run results for at least 1 day. - When doing incident analysis, archive the following APIs together with
Autonomy Cockpitstatus.
curl -s http://localhost:3002/api/agent-loop | jq '.lastCycle.phase, .lastCycle.verification, .lastCycle.degraded'
curl -s "http://localhost:3002/api/goal-manager?limit=20" | jq '.queueDepth, .queue[0], .suppression[0], .dlq[0]'
curl -s http://localhost:3002/api/policy/autonomy-level | jq '.policy'
9. Related documents
docs/guide/agentic-q1-operations-runbook.mddocs/guide/agent-loop-vs-goal-manager-hands-on-runbook.mddocs/guide/multistack-autonomous-ops-validation.mddocs/guide/network-stack-dashboard-feature-differences.mddocs/guide/stack-environment-operations-decision-matrix.mddocs/guide/sentinai-mcp-user-guide.mddocs/guide/demo-scenarios.md