{
  "task_id": "task-2135",
  "verified_at": "2026-04-23T20:35:33",
  "overall": "FAIL",
  "checks": {
    "api_health": {
      "status": "SKIP",
      "details": [
        "No base URL specified"
      ]
    },
    "file_check": {
      "status": "PASS",
      "details": [
        "SKIPPED .done check (--gate mode will create it)",
        "REPORT FOUND (3474 bytes): /home/jay/workspace/memory/reports/task-2135.md",
        "1/1 checks passed"
      ]
    },
    "planned_check": {
      "status": "SKIP",
      "details": [
        "보고서에 '수정 파일별 검증 상태' 테이블 없음 (Lv.2 이하)"
      ]
    },
    "data_integrity": {
      "status": "WARN",
      "details": [
        "task-timers.json: [task-2135] status='running'",
        "events/.done file: FOUND for task-2135",
        "WARNING [task-2135]: .done file exists but status='running'"
      ]
    },
    "test_runner": {
      "status": "SKIP",
      "details": [
        "No test directory or check-files specified"
      ]
    },
    "full_suite_check": {
      "status": "PASS",
      "details": [
        "Running: python3 -m pytest /home/jay/workspace/tests -q --tb=short --continue-on-collection-errors",
        "pytest result: 2455 passed, 2 warnings in 91.39s",
        "Exit code: 0 (all tests passed)"
      ]
    },
    "tdd_check": {
      "status": "WARN",
      "details": [
        "JSON parse error at line 30379: Expecting property name enclosed in double quotes: line 1 column 202 (char 201)",
        "audit-trail 기반 검증 (task_id='task-2135')",
        "변경 파일 총 4개: 테스트 1개, 구현 1개",
        "  TEST  [2026-04-23T11:24:41Z] /home/jay/workspace/tests/test_dispatch_resume_retry.py",
        "  IMPL  [2026-04-23T11:23:19Z] /home/jay/workspace/dispatch.py",
        "구현 먼저 수정 (2026-04-23T11:23:19Z) → 테스트 (2026-04-23T11:24:41Z) → WARN (TDD 순서 위반)"
      ]
    },
    "schema_contract": {
      "status": "SKIP",
      "details": [
        "No workers found (no models.py detected); schema_contract check skipped. Use --workers-dir to specify a directory."
      ]
    },
    "pyright_check": {
      "status": "SKIP",
      "details": [
        "No files specified for pyright check"
      ]
    },
    "style_check": {
      "status": "SKIP",
      "details": [
        "No files specified for style check"
      ]
    },
    "scope_check": {
      "status": "WARN",
      "details": [
        "Expected: 2 files",
        "Actual: 6 files",
        "(1 line(s) failed to parse as JSON)",
        "Unexpected: /home/jay/workspace/dispatch.py",
        "Unexpected: /home/jay/workspace/memory/reports/task-2135+1.md",
        "Unexpected: /home/jay/workspace/memory/reports/task-2135.md",
        "Unexpected: /home/jay/workspace/memory/tasks/task-2135.md",
        "Unexpected: /home/jay/workspace/tests/test_dispatch_resume_retry.py",
        "Unexpected: bash_cmd"
      ]
    },
    "critical_gap": {
      "status": "PASS",
      "details": [
        "No CRITICAL issues found in report: /home/jay/workspace/memory/reports/task-2135.md"
      ]
    },
    "spec_compliance": {
      "status": "PASS",
      "details": [
        "No unchecked checklist items found — PASS"
      ]
    },
    "duplicate_check": {
      "status": "PASS",
      "details": [
        "OK: 유사도 6.4% — task-2133_2.md",
        "OK: 유사도 6.2% — task-2134.md",
        "OK: 유사도 8.8% — task-2133.md",
        "OK: 유사도 9.7% — task-2127.md",
        "OK: 유사도 8.4% — task-2126.md",
        "OK: 유사도 7.4% — task-2132.md",
        "OK: 유사도 5.7% — task-2131.md",
        "OK: 유사도 4.0% — task-2125.md",
        "OK: 유사도 9.9% — task-2123.md",
        "OK: 유사도 7.7% — task-2121.md"
      ]
    },
    "three_docs_check": {
      "name": "three_docs_check",
      "status": "SKIP",
      "message": "3문서 디렉토리 없음 — Lv.2 이하 작업으로 간주: /home/jay/workspace/memory/plans/tasks/task-2135",
      "details": {
        "directory": "/home/jay/workspace/memory/plans/tasks/task-2135",
        "checks": []
      }
    },
    "claude_md_check": {
      "status": "WARN",
      "details": [
        "WARN: design/CLAUDE.md — 310줄 (100줄 초과)",
        "OK: dev1/CLAUDE.md — 33줄",
        "OK: dev2/CLAUDE.md — 33줄",
        "OK: dev3/CLAUDE.md — 33줄",
        "OK: dev4/CLAUDE.md — 33줄",
        "OK: dev5/CLAUDE.md — 33줄",
        "OK: dev6/CLAUDE.md — 33줄",
        "OK: dev7/CLAUDE.md — 33줄",
        "OK: dev8/CLAUDE.md — 59줄",
        "OK: marketing/CLAUDE.md — 48줄",
        "OK: security/CLAUDE.md — 43줄"
      ]
    },
    "file_touch_ratio_check": {
      "status": "SKIP",
      "details": [
        "보고서에 수정 파일 섹션 없음"
      ]
    },
    "git_evidence": {
      "status": "FAIL",
      "details": [
        "PASS COMMIT_EXISTS: task-2135 커밋 4건",
        "FAIL NO_UNCOMMITTED: uncommitted 변경 존재 (1 unstaged, 0 staged)",
        "PASS NON_EMPTY_COMMIT: 변경 파일 1건"
      ],
      "failed_checks": [
        "NO_UNCOMMITTED"
      ]
    },
    "l1_smoketest_check": {
      "status": "PASS",
      "details": [
        "L1 결과 확인됨"
      ]
    },
    "signature_check": {
      "status": "SKIP",
      "details": [
        "파싱된 시그니처 없음"
      ]
    },
    "symbol_existence_check": {
      "status": "SKIP",
      "details": [
        "보고서 코드 블록에서 검증할 심볼(함수명/클래스명)을 추출하지 못했습니다.",
        "Modified files: 2"
      ]
    },
    "gemini_review_check": {
      "status": "SKIP",
      "details": [
        "Unknown check: gemini_review_check"
      ]
    },
    "browser_verify": {
      "status": "SKIP",
      "details": [
        "affected_files 섹션 없음 또는 비어있음"
      ]
    }
  },
  "summary": "6 PASS, 1 FAIL, 12 SKIP, 4 WARN",
  "trust_summary": {
    "Tested": {
      "verifiers": [
        "test_runner",
        "tdd_check",
        "full_suite_check"
      ],
      "passed": true
    },
    "Readable": {
      "verifiers": [
        "style_check",
        "pyright_check"
      ],
      "passed": true
    },
    "Unified": {
      "verifiers": [
        "scope_check"
      ],
      "passed": true
    },
    "Secured": {
      "verifiers": [
        "schema_contract"
      ],
      "passed": true
    },
    "Trackable": {
      "verifiers": [
        "data_integrity",
        "file_check"
      ],
      "passed": true
    },
    "_independent": {
      "verifiers": [
        "api_health"
      ],
      "note": "TRUST 외 독립 실행"
    }
  },
  "retry_count": 3
}