work_item: ORCH-047
module_under_test: src/qg/checks.py::_parse_tests_verdict (via check_tests_passed)
test_file: tests/test_qg.py
notes: >
  Добавить в класс TestCheckTestsPassed. Шаблон записи отчёта — существующий
  хелпер self._write(dir, content). Наборы токенов не меняются; проверяем, что
  поле result: теперь равноправно с verdict:/status:, а старые кейсы не регрессируют.

tests:
  - id: TC-01
    type: unit
    description: "result: PASS без verdict/status -> гейт PASS (главный кейс ORCH-17, AC-01)"
    module: tests/test_qg.py
    fixture_frontmatter: "---\ntype: test-report\nresult: PASS\n---\n\n# Test Report\n"
    expected: PASS

  - id: TC-02
    type: unit
    description: "result: FAIL без verdict/status -> гейт FAIL, reason содержит FAIL (AC-02)"
    module: tests/test_qg.py
    fixture_frontmatter: "---\nresult: FAIL\n---\n\nbody\n"
    expected: FAIL

  - id: TC-03
    type: unit
    description: "result: PASS, но verdict: BLOCKED -> negative авторитетен -> FAIL (AC-03)"
    module: tests/test_qg.py
    fixture_frontmatter: "---\nresult: PASS\nverdict: BLOCKED\n---\n\n23 passed\n"
    expected: FAIL

  - id: TC-04
    type: unit
    description: "result: PASS, но status: failed -> negative авторитетен -> FAIL (AC-03)"
    module: tests/test_qg.py
    fixture_frontmatter: "---\nresult: PASS\nstatus: failed\n---\n\nbody\n"
    expected: FAIL

  - id: TC-05
    type: unit
    description: "result: ready-to-deploy (positive-токен, без слова PASS) -> PASS (AC-04)"
    module: tests/test_qg.py
    fixture_frontmatter: "---\nresult: ready-to-deploy\n---\n\nbody\n"
    expected: PASS

  - id: TC-06
    type: unit
    description: "Только verdict: PASS (легаси) -> PASS, без регресса (AC-05)"
    module: tests/test_qg.py
    fixture_frontmatter: "---\nverdict: PASS\nstatus: pass\n---\n\nbody\n"
    expected: PASS

  - id: TC-07
    type: unit
    description: "verdict: BLOCKED + проза '23 passed' (ET-013 баг) -> FAIL, без регресса (AC-05)"
    module: tests/test_qg.py
    fixture_frontmatter: "---\nverdict: BLOCKED\n---\n\nTests: 23 passed, 0 failed.\n"
    expected: FAIL

  - id: TC-08
    type: unit
    description: "Ни result, ни verdict, ни status; тело с прозой 'Result: PASS' -> FAIL (AC-06)"
    module: tests/test_qg.py
    fixture_frontmatter: "---\ntype: test-report\nversion: 1\n---\n\nResult: PASS\n"
    expected: FAIL

  - id: TC-09
    type: unit
    description: "Нет frontmatter, проза 'Result: PASS' -> FAIL (AC-07)"
    module: tests/test_qg.py
    fixture_frontmatter: "# Test Report\n\nResult: PASS\nAll tests passed.\n"
    expected: FAIL

  - id: TC-10
    type: unit
    description: "Битый YAML во frontmatter -> FAIL без исключения, reason про YAML/frontmatter (AC-08)"
    module: tests/test_qg.py
    fixture_frontmatter: "---\nresult: [unclosed\n  : : :\n---\n\nbody PASS\n"
    expected: FAIL

  - id: TC-11
    type: unit
    description: "Файл 13-test-report.md отсутствует -> FAIL, reason 'not found' (AC-09)"
    module: tests/test_qg.py
    fixture_frontmatter: null
    expected: FAIL

  - id: TC-12
    type: unit
    description: "Реестр QG_CHECKS не изменился -> снапшот зелёный (AC-10)"
    module: tests/test_qg_registry_snapshot.py
    expected: PASS

  - id: TC-13
    type: integration
    description: "Полный регресс pytest tests/ -q зелёный, существующий TestCheckTestsPassed без правок логики (AC-05, AC-12)"
    module: tests/
    expected: PASS
