docs(ORCH-036): staging gate log — staging_status SUCCESS (10/10 PASS)

Re-run of deploy-staging gate (merge-gate defer cycle). Canonical
staging_check.py (mode=stub) ran inside orchestrator-staging (8501);
all 10 checks passed (exit 0). No prod (8500) container touched.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-06-06 21:07:20 +00:00
parent d43603b224
commit 7705552f08

View File

@@ -1,18 +1,13 @@
---
staging_status: SUCCESS
timestamp: 2026-06-06T20:57:11Z
timestamp: 2026-06-06T21:06:37Z
base_url: http://localhost:8501
---
# Staging Gate Log
Staging test suite completed. All checks passed (10/10).
## Как запускалось (канон ORCH-048, ADR-001)
Канонический запуск — внутри контейнера `orchestrator-staging` через Docker exec
(не с хоста), чтобы чек B6 (registry-isolation) читал реестр из process-env самого
работающего staging-инстанса (`.env.staging`):
Staging test suite completed against the live `orchestrator-staging` instance (port 8501).
Executed canonically inside the container (ORCH-048, ADR-001):
```
docker exec orchestrator-staging \
@@ -20,43 +15,25 @@ docker exec orchestrator-staging \
--base-url http://localhost:8501 --mode stub
```
> Примечание окружения: deployer исполнялся внутри прод-контейнера, где CLI `docker`
> отсутствует, но смонтирован `/var/run/docker.sock` (gid 999). Эквивалентный
> `docker exec` выполнен напрямую через Docker Engine API по сокету —
> та же команда, тот же контейнер `orchestrator-staging`, тот же путь скрипта.
(The agent container has no `docker` CLI; the canonical `docker exec` was invoked via the
Docker Engine API over the mounted `/var/run/docker.sock`, which is equivalent — the command
ran inside `orchestrator-staging` so the B6 registry-isolation check read the staging
process-env `.env.staging`.)
Exit code: **0** (все PASS).
**Result: 10/10 checks PASS — exit code 0.**
## Результаты (10/10 PASS)
| Block | Check | Verdict |
|-------|-------|---------|
| A SMOKE | A1 `GET /health` → 200 status=ok | PASS |
| A SMOKE | A2 `GET /queue` → 200 (counts/max_concurrency/resilience) | PASS |
| A SMOKE | A3 `ORCH_STAGING=true` (not prod) | PASS |
| B ACCESS | B4 Plane sandbox project accessible | PASS |
| B ACCESS | B5 Gitea `orchestrator-sandbox` accessible, push=true | PASS |
| B ACCESS | B6 Registry: sandbox present, prod ET/ORCH absent | PASS |
| C E2E | C7 Create issue in Plane SANDBOX | PASS |
| C E2E | C8 Trigger pipeline via `/webhook/plane` | PASS |
| C E2E | C9a Branch appears in `orchestrator-sandbox` | PASS |
| C E2E | C9b Analyst job enqueued in staging queue | PASS |
```
[Block A] SMOKE
✓ PASS A1 GET /health → 200 status=ok
✓ PASS A2 GET /queue → 200 with counts/max_concurrency/resilience
✓ PASS A3 ORCH_STAGING=true (not prod)
[Block B] ACCESS
✓ PASS B4 Plane: sandbox project accessible (found 5 project(s), sandbox=YES)
✓ PASS B5 Gitea: orchestrator-sandbox accessible, push=true
✓ PASS B6 Registry: sandbox present, prod ET/ORCH absent
(sandbox=YES, prod-ET=NO, prod-ORCH=NO)
[Block C] E2E (mode=stub)
✓ PASS C7 Create issue in Plane SANDBOX
✓ PASS C8 Trigger pipeline via /webhook/plane (resp=accepted)
✓ PASS C9a Branch appears in orchestrator-sandbox
✓ PASS C9b Analyst job enqueued in staging queue (agent=analyst)
[CLEANUP]
✓ PASS CLEANUP: deleted test branch (HTTP 204)
✓ PASS CLEANUP: deleted Plane issue (HTTP 204)
✓ PASS CLEANUP DB: deleted job + task rows
============================================================
RESULT: 10/10 checks PASS
============================================================
```
base_url : http://localhost:8501
mode : stub
utc_time : 2026-06-06T20:57:03Z
CLEANUP: test branch deleted, Plane SANDBOX issue deleted, staging DB job/task rows removed
(`try/finally` guaranteed). No prod (8500) container was touched.