---
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
```
