---
result: FAIL
work_item: ORCH-124
stage: testing
author_agent: test-runner
status: failed
created_at: 2026-06-16
model_used: n/a
exit_code: 1
smoke: skipped
---

# Test Gate Log (deterministic runner, ORCH-116)

pytest exit-code `1` -> `result: FAIL` (smoke: skipped).

Вердикт зафиксирован детерминированным test-раннером (ORCH-116), не LLM. PASS/FAIL = exit-код `pytest` + read-only smoke (`/health`, `/status`, `/queue` + блок `serial_gate`).

pytest stdout (tail):
```
onkeypatch.MonkeyPatch object at 0x7f3dd2a3bd70>

    def test_r2_held_deploy_staging_not_rolled_back(monkeypatch):
        tid = _make_task("deploy-staging")
        # No 15-staging-log.md was written (infra-HOLD) -> check_staging_status is red.
        advance = MagicMock()
        monkeypatch.setattr(stage_engine, "advance_stage", advance)
    
        result = stage_engine.advance_if_gate_passed(
            tid, "deploy-staging", "orchestrator", "ORCH-123", "feature/ORCH-123-x"
        )
    
>       assert result is None                               # red gate -> stay, no advance call
E       AssertionError: assert <MagicMock name='mock()' id='139903524445248'> is None

tests/test_orch123_staging_runner_exec.py:462: AssertionError
=============================== warnings summary ===============================
src/config.py:8
  /repos/_wt/orchestrator/feature_ORCH-124-bug-serial-gate-treats-backlog/src/config.py:8: PydanticDeprecatedSince20: Support for class-based `config` is deprecated, use ConfigDict instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.13/migration/
    class Settings(BaseSettings):

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED tests/test_orch123_staging_runner_exec.py::test_r2_held_deploy_staging_not_rolled_back
1 failed, 2177 passed, 1 warning in 100.82s (0:01:40)
```
