ALLOW as onboarding success.
You will:
- Install and authenticate
- Produce expected
ALLOWandDENY - Retrieve matching decision evidence
- Verify observation continues on
DENY/ evaluation failure - Verify enforcement dispatches only on
ALLOW
What you need
- Runtime credentials issued by Sector8 Operator / support (
SECTOR8_API_KEY,SECTOR8_CLIENT_ID) — shell environment only. Never paste keys into chat, tickets, or source control. - Separately provisioned dashboard access (browser session) for Decision Feed. The runtime key is not authority for dashboard APIs.
- Python 3.10+ or Node.js 18+
- The public example bundle below. No GitHub account or repository access is needed.
No credentials yet? Contact support@sector8.ai or book a demo. Do not borrow another tenant’s key.
Public example bundles
Choose one language. Each versioned JSON download contains three scripts that use the published 1.0.4 SDK. Step 3 saves them into your new project directory without overwriting existing files. Current: TypeScript examples v2 · Python examples v2 v2 is Windowscp1252-safe (ASCII console output) so a successful live walkthrough exits 0. v1 remains available but is not the acceptance path.
These examples simulate refund dispatch; they never move money. The refund cap is a narrow fixture that Sector8 must bind to your issued tenant before live verification.
Environment variables
Both language paths acceptSECTOR8_ENDPOINT or SECTOR8_BASE_URL; set only one. Use the endpoint issued with your credentials. The default is https://sdkapi.sector8.ai. A separately issued non-default endpoint requires an explicit opt-in before credential use:
.env files are fine if gitignored. Neither walkthrough auto-loads dotenv — export vars in the shell (or Get-Content .env patterns you already use) before running.
Journey
1
1. Set credentials securely
Inject issued credentials through your shell (bash or PowerShell above). Never paste keys into chat.
2
2. Install published packages (pinned)
Choose one language and start in a new directory.Python (bash)Python (PowerShell)TypeScript
3
3. Download public examples
Run the commands for your language and shell in the directory from step 2. Downloads require no credentials. The extraction command refuses to overwrite existing example files; use a fresh directory for a retest.Typescript (bash)Typescript (powershell)Python (bash)Python (powershell)
4
4. Confirm the gate is reachable
/api/health. In PowerShell, use curl.exe. If health fails, stop. Do not route live actions.5
5. Prove ALLOW and DENY (full artifact fields)
Use the downloaded verifiers — they print TypeScriptThese scripts import the published packages only (
outcome, reason_code, decision_trace_id, evidence_hash, and policy_version_id for Decision Feed comparison.Pythonsector8-sdk / @sector8/sdk). They do not require a repository dist/ or src/ tree.The package CLI
sector8-verify still prints traces only. Prefer onboarding_verify.py / onboarding-verify.js for full-field proof.6
6. Retrieve matching evidence
- Open your issued dashboard and go to Decisions.
- Use Verify / lookup with each
decision_trace_idfrom step 5. - Confirm matching
outcome,reason_code,policy_version_id, andevidence_hashagainst the JSON printed by the verifier.
7
7. Observe and enforce proofs (refund walkthrough)
Offline (no credentials) proves helper dispatch effects only and must exit Live verification (Operator-issued key + Refund Agent fixture bound for your tenant) must also exit Fixture defaults (confirm with Operator): cap 100 GBP, under 25, over 250, agent
0. Simulated trace IDs have no Decision Feed row — do not look them up.0:Refund Agent, expect over-cap DENY / AMOUNT_LIMIT_EXCEEDED.Live mode fails closed when expected outcomes are missing (network failure, wrong verdict, or wrong reason). Fake refunds never move money. Wrong fixture binding is a mismatch, not success. Copy LIVE
decision_trace_id values back into Decision Feed Verify.8
8. Completion checklist
- Published
1.0.4packages installed in a clean environment - Public v2 example bundle downloaded and extracted (no local edits)
- Credentials only via shell environment
- Verifier produced
ALLOW+DENYwith full artifact fields - Both traces retrieved in Decision Feed and fields matched
- Observe/enforce walkthrough exited
0(offline and live) - Observe proof: continuation on DENY / failure
- Enforce proof: dispatch only on ALLOW
- No founder undocumented steps required
Reference only (not alternate start pages)
- Quickstart — short install snippets
- Observe then enforce — mode concepts behind step 7
- Python SDK / TypeScript SDK — API detail
- Evaluate API
- Assistant setup companion: guides/onboard-assistant
Common mistakes
- Omitting
SECTOR8_UNSAFE_ENDPOINT=truefor staging on TypeScript or Python examples - Pasting runtime keys into chat or committing them
- Using the runtime key against dashboard APIs
- Treating
--offlinehelper proofs as live gate evidence - Looking up simulated trace IDs in Decision Feed
- Using a repository checkout or the superseded v1 bundle instead of the current v2 bundle
- Treating a non-zero walkthrough exit as success (Windows consoles must still exit
0) - Claiming observation “had zero impact” on a real production workflow
- Branching only on
reason_codeinstead ofoutcome/decisionfor enforce
