Change a sandbox policy and inspect the job result

This recipe uses disposable sandbox records. Platform IDs and result counters are fixtures, even when they use familiar product names.

Update a policy rule

bash
curl -X POST "$PHOSRA_SANDBOX/policies/$POLICY_ID/rules" \
  -H "Content-Type: application/json" \
  -d '{
    "category": "addictive_pattern_block",
    "enabled": true,
    "config": {}
  }'

Start and poll a synthetic job

bash
JOB_ID=$(curl -s -X POST "$PHOSRA_SANDBOX/children/$CHILD_ID/enforce" | jq -r .id)
curl -s "$PHOSRA_SANDBOX/enforcement/jobs/$JOB_ID/results"

Use the response to test pending, running, partial, completed, and failed UI states, plus retry and idempotency behavior. A result such as rules_applied: 5 means the sandbox simulation advanced five fixture rules. It does not mean Xbox, PlayStation, Apple, or any other third party received them.

There is no documented base-URL and live-key switch to production. A real adapter must define its authorization, write, read-back, rollback, and evidence contracts in a bounded design-partner pilot.