Pilot Onboarding Kit
DecisionOps documentation.
Goal
Stand up a pilot repository in advisory mode, validate policy precision, and produce burn-in evidence before blocking merges.
Prerequisites
- Cloudflare Workers deployed (
api-mcp-worker,gatekeeper-worker,jobs-worker) - GitHub App installed on the pilot repository
- Service token with scopes:
decisions:readdecisions:writedecisions:approvepolicy:checkpr:writeadmin:readadmin:writehooks:readmcp:readmcp:callmetrics:read
Step 1: Seed Policy Mode
Set repo policy to advisory:
curl -X PUT "$API_URL/v1/admin/policies/$REPO_ID" \
-H "authorization: Bearer $TOKEN" \
-H "content-type: application/json" \
-d '{"mode":"advisory","threshold":0.6,"highImpactPaths":[],"adrPaths":["docs/adr/**","docs/decisions/**"]}'Step 2: Import Baseline Decisions
Ingest existing MADR docs into the Decision graph through jobs worker:
curl -X POST "$JOBS_URL/internal/ingest" \
-H "content-type: application/json" \
-d '{"orgId":"<org-id>","repoId":"'$REPO_ID'","path":"docs/adr/0001.md","markdown":"---\ntitle: Example\nstatus: accepted\ndecision_id: DEC-2026-0001\n---\n# Example\n"}'Step 3: Enable Agent Hooks
Fetch generated hooks and place into repo AGENTS.md:
curl "$API_URL/v1/agent-hooks/$REPO_ID" \
-H "authorization: Bearer $TOKEN"Step 4: Run Burn-in Window
- Keep advisory mode for 14-30 days.
- Require decision IDs in PR descriptions.
- Track findings and override reasons.
Check burn-in report:
curl "$API_URL/v1/admin/burn-in?days=14&minRuns=30" \
-H "authorization: Bearer $TOKEN"Step 5: Promote Selectively
Promote only repos meeting thresholds:
curl -X POST "$API_URL/v1/admin/policies/$REPO_ID/promote" \
-H "authorization: Bearer $TOKEN" \
-H "content-type: application/json" \
-d '{"days":14,"minRuns":30}'Success Criteria
- At least 30 policy runs in window.
- Advisory failure rate <= 5%.
- Override rate <= 10%.
- Stable check-run latency and no sustained queue DLQ growth.