diff --git a/docs/work-items/ORCH-060/15-staging-log.md b/docs/work-items/ORCH-060/15-staging-log.md new file mode 100644 index 0000000..b7931f3 --- /dev/null +++ b/docs/work-items/ORCH-060/15-staging-log.md @@ -0,0 +1,80 @@ +--- +staging_status: FAILED +timestamp: 2026-06-07T11:57:34Z +base_url: http://localhost:8501 +mode: stub +result: 8/10 +work_item: ORCH-060 +--- + +# Staging Gate Log + +Staging test suite **FAILED** (exit code 1, 8/10 checks PASS). + +Canonical run (ORCH-048, ADR-001) — executed INSIDE the `orchestrator-staging` +container against the live staging instance: + +``` +python3 /repos/orchestrator/scripts/staging_check.py --base-url http://localhost:8501 --mode stub +``` + +## Failing checks + +- **C9a — Branch appears in `orchestrator-sandbox`** → FAIL (`branch=not found`). + After triggering the pipeline via `POST /webhook/plane`, no feature branch was + created in the sandbox repo within the 60s poll window. +- **C9b — Analyst job enqueued in staging queue** → FAIL. No analyst job appeared + in the staging job queue within the 30s window. + +Both failures are in the E2E block (Block C): the webhook was accepted +(C8 → HTTP 200 `{'status': 'accepted'}`) and the Plane issue was created (C7 → +HTTP 201), but the pipeline did not materialise a branch or enqueue the analyst +job — the staging instance did not actually process the triggered task end-to-end. + +## Passing checks (8/10) + +- Block A (SMOKE): A1 /health 200, A2 /queue shape, A3 ORCH_STAGING=true. +- Block B (ACCESS): B4 Plane sandbox reachable, B5 Gitea sandbox push=true, + B6 registry isolation (sandbox present, prod ET/ORCH absent — confirms the + canonical in-container run; B6 would false-FAIL from the host). + +## Verdict + +Machine verdict is authoritative: exit code 1 → `staging_status: FAILED`. +Per the conditional staging gate (ORCH-35), a FAILED staging gate for the +self-hosting repo rolls the task back to `development`. + +## Raw output + +``` +============================================================ + ORCH-33 Staging Check Suite + base_url : http://localhost:8501 + mode : stub + utc_time : 2026-06-07T11:55:50.247315+00:00 +============================================================ + +[Block A] SMOKE + ✓ PASS A1 GET /health → 200 status=ok [HTTP 200, body={'status': 'ok', 'service': 'orchestrator'}] + ✓ PASS A2 GET /queue → 200 with counts/max_concurrency/resilience [HTTP 200, keys=['counts', 'max_concurrency', 'poll_interval', 'resilience', 'reconcile', 'recent']] + ✓ PASS A3 ORCH_STAGING=true (not prod) [ORCH_STAGING=true] + +[Block B] ACCESS + ✓ PASS B4 Plane: sandbox project accessible [HTTP 200, found 5 project(s), sandbox=YES] + ✓ PASS B5 Gitea: orchestrator-sandbox accessible, push=true [HTTP 200, permissions={'admin': True, 'push': True, 'pull': True}] + ✓ PASS B6 Registry: sandbox present, prod ET/ORCH absent [sandbox=YES, prod-ET=NO(good), prod-ORCH=NO(good)] + +[Block C] E2E (mode=stub) + C7 Create issue in Plane SANDBOX [HTTP 201, issue_id=a05995d1-4e3c-44f7-af6f-8bd28fa6367d] + C8 Trigger pipeline via /webhook/plane [HTTP 200, resp={'status': 'accepted'}] + ✗ FAIL C9a Branch appears in orchestrator-sandbox [branch=not found] + ✗ FAIL C9b Analyst job enqueued in staging queue + +[CLEANUP] + ✓ PASS CLEANUP: deleted Plane issue a05995d1-4e3c-44f7-af6f-8bd28fa6367d (HTTP 204) + +============================================================ + RESULT: 8/10 checks PASS +============================================================ +__EXIT_CODE__=1 +```