{
  "status": "ready-with-notes",
  "user_story": "【开发者 阿豪】在【凌晨三点本机跑自动化】被【权限弹窗卡死】→ 用【tcc-preflight 一次性预授权】→【headless 整夜跑完】",
  "funnel_url": "https://macos-tcc-preflight-rec.pages.dev/",
  "funnel_checks": [
    {
      "url": "https://macos-tcc-preflight-rec.pages.dev/",
      "status": 200,
      "role": "page"
    },
    {
      "url": "https://macos-tcc-preflight-rec.pages.dev/desktop/demo.gif",
      "status": 200,
      "role": "gif"
    },
    {
      "url": "https://macos-tcc-preflight-rec.pages.dev/desktop/demo.mp4",
      "status": 200,
      "role": "mp4"
    },
    {
      "url": "https://macos-tcc-preflight-rec.pages.dev/handoff.json",
      "status": 200,
      "role": "handoff.json"
    },
    {
      "url": "https://macos-tcc-preflight-rec.pages.dev/desktop/cues.json",
      "status": 200,
      "role": "cues"
    },
    {
      "url": "https://macos-tcc-preflight-rec.pages.dev/mobile/demo.mp4",
      "status": 200,
      "role": "mp4_mobile"
    },
    {
      "url": "https://macos-tcc-preflight-rec.pages.dev/mobile/demo.gif",
      "status": 200,
      "role": "gif_mobile"
    }
  ],
  "gif": "https://macos-tcc-preflight-rec.pages.dev/desktop/demo.gif",
  "mp4": "https://macos-tcc-preflight-rec.pages.dev/desktop/demo.mp4",
  "poster": "https://macos-tcc-preflight-rec.pages.dev/desktop/poster.jpg",
  "gif_mobile": "https://macos-tcc-preflight-rec.pages.dev/mobile/demo.gif",
  "mp4_mobile": "https://macos-tcc-preflight-rec.pages.dev/mobile/demo.mp4",
  "commit": "8c84e04c90fad3e89fdc3a65ce9e2d01e8bb9dd0",
  "branch": "feature/macos-tcc-preflight-film-a-take2",
  "pr": null,
  "product_url": "https://macos-tcc-preflight.pages.dev/",
  "story_scores": [
    {
      "candidate": "A_night_automation_preauth",
      "R1": 8,
      "R2": 8,
      "R3": 9,
      "R4": 8,
      "R5": 9,
      "R6": 7,
      "R7": 8,
      "total": 57
    },
    {
      "candidate": "B_settings_manual_hunt",
      "R1": 5,
      "R2": 4,
      "R3": 6,
      "R4": 5,
      "R5": 6,
      "R6": 5,
      "R7": 4,
      "total": 35
    },
    {
      "candidate": "C_check_only_green",
      "R1": 6,
      "R2": 5,
      "R3": 5,
      "R4": 6,
      "R5": 7,
      "R6": 6,
      "R7": 5,
      "total": 40
    }
  ],
  "winner": "A_night_automation_preauth",
  "shot_list": [
    {
      "id": "s1",
      "t_start": 0.0,
      "t_end": 2.0,
      "beat": "hook",
      "framing": "wide",
      "zoom": 1.0,
      "crop_css": "1600x1000@40,20→1280x800",
      "roi_css": null,
      "focus": "Terminal night context",
      "pointer": "none",
      "text_expected": [
        "Night automation",
        "tcc-preflight"
      ],
      "legibility_px": {
        "hero_cap": null
      },
      "transition_in": "cut",
      "ease": "none",
      "hold_s": 1.0,
      "purpose": "problem context"
    },
    {
      "id": "s2",
      "t_start": 2.0,
      "t_end": 6.0,
      "beat": "run_preflight",
      "framing": "medium",
      "zoom": 1.0,
      "crop_css": "1600x1000@40,20→1280x800",
      "roi_css": null,
      "focus": "bin/tcc-preflight request",
      "pointer": "none",
      "text_expected": [
        "PERMISSION",
        "STATUS",
        "ACTION"
      ],
      "legibility_px": {
        "hero_cap": 14
      },
      "transition_in": "cut",
      "ease": "none",
      "hold_s": 0.5,
      "purpose": "launch tool"
    },
    {
      "id": "s3",
      "t_start": 6.0,
      "t_end": 14.0,
      "beat": "checklist_PASS",
      "framing": "medium",
      "zoom": 1.05,
      "crop_css": "1600x1000@40,20→1280x800",
      "roi_css": null,
      "focus": "7 PASS rows",
      "pointer": "none",
      "text_expected": [
        "Camera",
        "Microphone",
        "Screen Recording",
        "Accessibility",
        "Automation",
        "Input Monitoring",
        "Full Disk Access",
        "PASS"
      ],
      "legibility_px": {
        "hero_cap": 16,
        "label_x": 9
      },
      "transition_in": "cut",
      "ease": "none",
      "hold_s": 3.0,
      "purpose": "all PASS visible"
    },
    {
      "id": "s4",
      "t_start": 14.0,
      "t_end": 24.0,
      "beat": "check_proof",
      "framing": "medium",
      "zoom": 1.05,
      "crop_css": "1600x1000@40,20→1280x800",
      "roi_css": null,
      "focus": "--check table EXIT:0",
      "pointer": "none",
      "text_expected": [
        "mode=check",
        "missing=0",
        "EXIT:0",
        "PASS"
      ],
      "legibility_px": {
        "hero_cap": 16
      },
      "transition_in": "cut",
      "ease": "none",
      "hold_s": 3.0,
      "purpose": "verify hold ≥3s"
    }
  ],
  "legibility": {
    "verdict": "pass-with-notes",
    "file": "outputs/verify/final_checklist.png",
    "checks": [
      {
        "id": "PASS_token",
        "metric": "ocr",
        "measured_px": 16,
        "threshold_px": 16,
        "ocr": true,
        "pass": true
      },
      {
        "id": "permission_labels",
        "metric": "ocr",
        "measured_px": 12,
        "threshold_px": 9,
        "ocr": true,
        "pass": true
      }
    ],
    "readable_result_s": 3.0,
    "centering_pass": true,
    "story_test": {
      "independent": false,
      "pass": "provisional",
      "answer": "Developer runs tcc-preflight in Terminal; checklist shows all 7 privacy permissions PASS; --check confirms EXIT:0."
    }
  },
  "qa": {
    "verdict": "pass-with-notes",
    "hold_s": 3.0,
    "cjk_frames": "system_chrome_zh_ok_tool_en",
    "notes": "Delivery cut is clean Terminal 7/7 PASS. No password STOP. Fresh Allow dialogs not re-shown (already granted from take1). Mid-raw Chrome false-click noise excluded from cuts."
  },
  "deviations": [
    "No fresh Camera/Mic/Automation Allow dialogs in take2 — Terminal context already 7/7 PASS from prior take1 grants; cannot revoke without tccutil (forbidden).",
    "Mid-raw (~25–60s) contaminated by OCR substring false match Allow→'Al' clicking Chrome; excluded from desktop/mobile delivery cuts (cut ss=64 t=24).",
    "macOS system UI Chinese (zh-Hans); tool output English — per brief OK.",
    "ui_language hard rule from ChatCut skill N/A for Terminal CLI tool; system dialogs would be Chinese if shown.",
    "Mobile 390×844 crop is tight on Terminal; some permission name prefixes clipped — PASS column readable."
  ],
  "artifacts": [
    "macos-tcc-preflight/outputs/desktop/demo.mp4",
    "macos-tcc-preflight/outputs/desktop/demo.gif",
    "macos-tcc-preflight/outputs/desktop/cues.json",
    "macos-tcc-preflight/outputs/mobile/demo.mp4",
    "macos-tcc-preflight/outputs/mobile/demo.gif",
    "macos-tcc-preflight/outputs/mobile/cues.json",
    "macos-tcc-preflight/outputs/handoff.json",
    "macos-tcc-preflight/outputs/raw/film-a-raw-take2.mp4",
    "macos-tcc-preflight/outputs/verify/final_checklist.png",
    "macos-tcc-preflight/site-rec/"
  ],
  "known_weaknesses": [
    "Grant-click loop not visible this take (already authorized).",
    "Background Chrome job-board windows still partially visible behind Terminal.",
    "Notification toast present in some frames."
  ],
  "issues_for": {
    "f28cb932-9806-46f4-a18b-b076705795f8": [
      "Film A take2 is success-path (7/7 PASS hold) rather than full grant-loop UX; remix may need B-roll or title card for 'already granted' if story beat 3 (Allow clicks) is required on screen.",
      "reply_to remix-ship only — do not hand huashu/earshot/X yet."
    ]
  },
  "next": "remix-ship: accept Film A UI_MP4+cues from preview; decide if grant-loop re-record needed after user revokes Camera/Mic in System Settings (manual, no tccutil).",
  "perms_final": {
    "camera": "PASS",
    "microphone": "PASS",
    "screen": "PASS",
    "accessibility": "PASS",
    "automation": "PASS",
    "input": "PASS",
    "fulldisk": "PASS",
    "missing": 0,
    "password_stop": false
  },
  "recording_lock": {
    "owner": "fr-tcc",
    "purpose": "macos-tcc-preflight Film A take2",
    "ttl_s": 2700,
    "waited_s": 0.001
  },
  "take_verification": {
    "take": "take2",
    "verdict": "keep-with-notes",
    "raw_duration_s": 87.93,
    "cut": {
      "ss": 64,
      "t": 24
    },
    "evidence": [
      "outputs/verify/contact-good.jpg",
      "outputs/verify/final_checklist.png",
      "outputs/verify/takes.log"
    ]
  },
  "surface": "mobile"
}
