Version: Current
Historical release snapshot. These docs are frozen. Read current docs.
Use console for common tasks
Use this guide after you can sign in. It covers normal operator work and the checks to make before a state change.
Check your session and scope
Section titled “Check your session and scope”Before changing state, confirm you have the right scope:
ops:readcan view operator pages and read data.adminis required for state-changing actions.- Every non-public console route is gated; missing identity redirects to login
and missing scope returns a denial (
CONSOLE-BFF-CONTRACT.md:107-111;src/hooks.server.ts:49-61).
If an action is unavailable, check the page state first. Console modules are
expected to show an honest unavailable or not-wired state when a backend route
is missing (CONSOLE-MODULE-STATES.md:9-19).
Review overview and operations
Section titled “Review overview and operations”Start at the console overview. Use operations and health views to confirm the upstream gateway is reachable before editing seats, offers, or DNS.
curl -sS https://console.tcp.systems/readyzObserved 2026-11-05 from this workspace (exit code 0): /readyz reported
ready:false and origin_bound:false. When readiness is false, read-only
pages may be limited and actions that depend on upstream APIs may fail. Record
the date and request context when you report that state.
Inspect seats, offers, and usage
Section titled “Inspect seats, offers, and usage”The operator route table includes /seats/, /offers/, /usage/, /ops/,
/dns/, and /auth/ (docs/CONSOLE-SPLIT.md:13-20). Use these pages to read
current state before taking action:
- Seats: review the account or model seat state exposed by the upstream gateway. Seat state changes are forwarded to acumen admin routes; do not treat the UI as a local cache of truth.
- Offers: review current offers or metrics exposed to operators. The upstream route mapping is owned by acumen and can change by deployment.
- Usage: review usage summaries for the selected scope. If usage is empty, check scope selection and upstream availability before assuming no traffic.
Detailed per-page field behavior is not fully verifiable from this docs workspace alone. When you need an exact field definition, cite the current console route component and the upstream acumen route it calls.
Change state safely
Section titled “Change state safely”Console mutations are strict by design:
- The request must come from the same host origin.
- Admin scope is required for gateway and admin writes.
- An
Idempotency-Keyheader is required for mutating routes, except analytics ingest which deduplicates by event id (src/hooks.server.ts:30-44,72-74). - Service credentials stay server-side; the browser does not send upstream API
tokens (
CONSOLE-BFF-CONTRACT.md:7-9,145-149).
For an action with a backend contract, expect a normal success response only
when the upstream route answers (check dated evidence). For an upstream-pending action, the console
passes through the honest upstream refusal; it must not fake a success
(CONSOLE-BFF-CONTRACT.md:128-136).
End a session
Section titled “End a session”Use the console logout action when you finish operator work. Logout clears the
signed session cookie. There is no server-side revocation list for the
stateless session cookie; a captured cookie remains valid until its short
expiry (CONSOLE-BFF-CONTRACT.md:37-46,91-101; src/lib/server/session.ts:184-188).
Record operational evidence
Section titled “Record operational evidence”When reporting a console change or incident, capture:
- date and UTC time;
- the URL or route;
- HTTP status and response class;
x-request-idwhen present;- the code path or runbook that defines the expected behavior.
Do not include session cookies, OIDC client secrets, bearer tokens, or tenant data in notes or screenshots.