Observe then enforce
Complete the linear path in Onboarding first. This page explains mode concepts; the refund walkthrough in onboarding step 6 is the concrete proof.
ALLOW may run. This guide documents both modes against verified SDK helpers.
Existing customer protections outside Sector8 remain in force during observe. Sector8 does not claim a one-click “enforcement off” switch or an automated gap-report SKU.
Modes
An evaluation-only example that never dispatches does not prove a live observe integration. Readiness needs a verified observation test where the business path still completes when evaluate returns DENY, times out, or fails.
Verified helpers
These helpers are covered by unit proofs in the SDKs:
Examples:
- TypeScript:
examples/pilot-evaluation-only.ts,examples/pilot-enforce-stub.ts,examples/PILOT.md - Python:
examples/PILOT.md
Enforce: fail closed beyond DENY
In enforce mode, do not dispatch when evaluate returns or fails as:DENY- Timeout
- Authentication failure (401/403)
- Malformed response
- Unknown / missing outcome
ALLOW with a complete decision artifact → exactly one dispatch (or your agreed stub behavior).
TypeScript
Python
Observe: continue on failure
Use observe when you need evaluate visibility without blocking the partner workflow yet.Evidence after evaluate
Every decision should carry:outcome(ALLOW/DENY)reason_codedecision_trace_idevidence_hashpolicy_version_id
decision_trace_id in the Decision Feed (tenant-scoped retrieve) to confirm the feed matches the response artifact. Missing or cross-tenant traces return the same not-found result.
Move to enforce
- Confirm observe does not break the partner path on DENY / timeout / error.
- Flip the honor path to
honorEnforceDecision/honor_enforce_decision. - Re-run ALLOW (dispatches once) and DENY / failure classes (zero dispatch).
- Keep recording
decision_trace_idvalues for the pilot report.
