{
  "schemaVersion": 2,
  "id": "troubleshooting",
  "title": "Troubleshoot missing tasks and save or import errors",
  "video": "troubleshooting.mp4",
  "poster": "troubleshooting-poster.jpg",
  "captions": "troubleshooting.vtt",
  "srt": "troubleshooting.srt",
  "subtitleLog": "troubleshooting.json",
  "sourceMaster": "output/video-masters-narrated/troubleshooting.mp4",
  "fps": 30,
  "frameIndexConvention": "zero-based; start inclusive, end exclusive",
  "width": 1280,
  "height": 1040,
  "screenHeight": 800,
  "frameCount": 1370,
  "durationSeconds": 45.666666666666664,
  "captionsBurnedIn": true,
  "audioTracks": 1,
  "exampleDate": "2026-09-24",
  "capture": "Live Chromium Page.startScreencast frames; resampled to constant frame rate without cutting or speeding up actions.",
  "nativeDialogs": "OS file pickers are not captured. Cues explicitly identify file-selection steps.",
  "demoNote": "Storage failures and reset use fictional data in an isolated browser.",
  "cues": [
    {
      "id": "troubleshooting-01",
      "helpStep": 1,
      "stepTitle": "If a task seems missing",
      "text": "For missing tasks, select All tasks to clear filters, then check Completed and the lists.",
      "narrationText": "For missing tasks, select All tasks to clear filters, then check Completed and the lists.",
      "startFrame": 0,
      "endFrameExclusive": 171,
      "startSeconds": 0.0,
      "endSeconds": 5.7,
      "actions": [
        {
          "action": "type",
          "target": "#search",
          "value": "unfindable"
        },
        {
          "action": "click",
          "target": "[data-view=\"all\"]"
        },
        {
          "action": "click",
          "target": "[data-view=\"completed\"]"
        },
        {
          "action": "click",
          "target": "[data-view=\"all\"]"
        }
      ],
      "originalStartFrame": 0,
      "originalEndFrameExclusive": 171,
      "addedHoldFrames": 0,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/troubleshooting-01.mp3",
        "taskId": "37d4722e-30a0-4c89-941e-34f882f1f7e9",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 4800,
        "endSampleExclusive": 263378,
        "startSeconds": 0.1,
        "endSeconds": 5.487041666666666,
        "startFrame": 3,
        "endFrameExclusive": 165,
        "sourceSha256": "f30ab3d8a18683aed30774847090e41097de8ff6b0072a93dec4acf48c4d3053"
      }
    },
    {
      "id": "troubleshooting-02",
      "helpStep": 2,
      "stepTitle": "If an import is rejected",
      "text": "Example: an invalid JSON backup is rejected. Your saved tasks are not changed.",
      "narrationText": "Example: an invalid JSON backup is rejected. Your saved tasks are not changed.",
      "startFrame": 171,
      "endFrameExclusive": 345,
      "startSeconds": 5.7,
      "endSeconds": 11.5,
      "actions": [
        {
          "action": "demo-fixture",
          "description": "Import intentionally malformed example JSON."
        },
        {
          "action": "choose-file",
          "name": "invalid-example.json",
          "note": "Native operating-system chooser is outside browser screencast."
        },
        {
          "action": "highlight",
          "target": "#toast"
        }
      ],
      "originalStartFrame": 171,
      "originalEndFrameExclusive": 324,
      "addedHoldFrames": 21,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/troubleshooting-02.mp3",
        "taskId": "bbf14f3a-dec1-412e-9fdc-70592135990a",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 278400,
        "endSampleExclusive": 543665,
        "startSeconds": 5.8,
        "endSeconds": 11.326354166666667,
        "startFrame": 174,
        "endFrameExclusive": 340,
        "sourceSha256": "fecf174721bc9267e537793dd0624099082679b4dfb083709c3551f1a6e56101"
      }
    },
    {
      "id": "troubleshooting-03",
      "helpStep": 3,
      "stepTitle": "If Storage needs attention appears",
      "text": "Example: unreadable sample storage causes Storage needs attention.",
      "narrationText": "Example: unreadable sample storage causes Storage needs attention.",
      "startFrame": 345,
      "endFrameExclusive": 480,
      "startSeconds": 11.5,
      "endSeconds": 16.0,
      "actions": [
        {
          "action": "demo-fixture",
          "description": "Set only the isolated browser sample storage to malformed JSON."
        },
        {
          "action": "reload"
        },
        {
          "action": "highlight",
          "target": "#save-status"
        }
      ],
      "originalStartFrame": 324,
      "originalEndFrameExclusive": 459,
      "addedHoldFrames": 0,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/troubleshooting-03.mp3",
        "taskId": "c1fe3601-1437-491b-b8c0-16595958f251",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 556800,
        "endSampleExclusive": 757421,
        "startSeconds": 11.6,
        "endSeconds": 15.779604166666667,
        "startFrame": 348,
        "endFrameExclusive": 474,
        "sourceSha256": "f8776bd543c6a06de3244feadc155d1861b9b6262297570943cbed974ce48eac"
      }
    },
    {
      "id": "troubleshooting-04",
      "helpStep": 3,
      "stepTitle": "If Storage needs attention appears",
      "text": "Export the raw stored data before any reset. It may need repair before import.",
      "narrationText": "Export the raw stored data before any reset. It may need repair before import.",
      "startFrame": 480,
      "endFrameExclusive": 633,
      "startSeconds": 16.0,
      "endSeconds": 21.1,
      "actions": [
        {
          "action": "click",
          "target": "#export"
        }
      ],
      "originalStartFrame": 459,
      "originalEndFrameExclusive": 612,
      "addedHoldFrames": 0,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/troubleshooting-04.mp3",
        "taskId": "e8b64596-775f-402b-a8bb-d0a3bb661b53",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 772800,
        "endSampleExclusive": 1002399,
        "startSeconds": 16.1,
        "endSeconds": 20.8833125,
        "startFrame": 483,
        "endFrameExclusive": 627,
        "sourceSha256": "4c71c3001b946cbf64c4f58979700a6f7d783be7535e9acda65e285259348b91"
      }
    },
    {
      "id": "troubleshooting-05",
      "helpStep": 4,
      "stepTitle": "If Unable to save appears",
      "text": "Example: blocked storage causes Unable to save. The failed change is not saved.",
      "narrationText": "Example: blocked storage causes Unable to save. The failed change is not saved.",
      "startFrame": 633,
      "endFrameExclusive": 811,
      "startSeconds": 21.1,
      "endSeconds": 27.033333333333335,
      "actions": [
        {
          "action": "demo-fixture",
          "description": "Restore fictional tasks, then simulate a blocked Storage.setItem write."
        },
        {
          "action": "reload"
        },
        {
          "action": "type",
          "target": "#quick-title",
          "value": "Unsaved example"
        },
        {
          "action": "keyboard",
          "key": "Enter"
        }
      ],
      "originalStartFrame": 612,
      "originalEndFrameExclusive": 767,
      "addedHoldFrames": 23,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/troubleshooting-05.mp3",
        "taskId": "000c5c2c-4345-4946-b975-959faec02125",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 1017600,
        "endSampleExclusive": 1289552,
        "startSeconds": 21.2,
        "endSeconds": 26.865666666666666,
        "startFrame": 636,
        "endFrameExclusive": 806,
        "sourceSha256": "96ddc849c5202084775485c6852a322450609b3e3991e035fff1010572e19ed7"
      }
    },
    {
      "id": "troubleshooting-06",
      "helpStep": 4,
      "stepTitle": "If Unable to save appears",
      "text": "Export saved tasks and keep unsaved text separately. Fix storage settings, then retry.",
      "narrationText": "Export saved tasks and keep unsaved text separately. Fix storage settings, then retry.",
      "startFrame": 811,
      "endFrameExclusive": 990,
      "startSeconds": 27.033333333333335,
      "endSeconds": 33.0,
      "actions": [
        {
          "action": "highlight",
          "target": "#toast"
        }
      ],
      "originalStartFrame": 767,
      "originalEndFrameExclusive": 933,
      "addedHoldFrames": 13,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/troubleshooting-06.mp3",
        "taskId": "c2faaf97-542a-456d-9db7-6f906071e224",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 1302400,
        "endSampleExclusive": 1576581,
        "startSeconds": 27.133333333333333,
        "endSeconds": 32.8454375,
        "startFrame": 814,
        "endFrameExclusive": 986,
        "sourceSha256": "b6c305850248b9f979254aec210aba47a27ac59489905af55f44d8950d38994c"
      }
    },
    {
      "id": "troubleshooting-07",
      "helpStep": 5,
      "stepTitle": "Reset only after preserving what you need",
      "text": "Reset demonstration: only this recording\u2019s sample storage is cleared, then the app reloads.",
      "narrationText": "Reset demonstration: only this recording\u2019s sample storage is cleared, then the app reloads.",
      "startFrame": 990,
      "endFrameExclusive": 1164,
      "startSeconds": 33.0,
      "endSeconds": 38.8,
      "actions": [
        {
          "action": "demo-fixture",
          "description": "Simulate browser clear-site-data by removing the isolated task key."
        },
        {
          "action": "reload"
        }
      ],
      "originalStartFrame": 933,
      "originalEndFrameExclusive": 1107,
      "addedHoldFrames": 0,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/troubleshooting-07.mp3",
        "taskId": "559fad8d-598a-4ed4-9916-eca07d31b325",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 1588800,
        "endSampleExclusive": 1840690,
        "startSeconds": 33.1,
        "endSeconds": 38.34770833333334,
        "startFrame": 993,
        "endFrameExclusive": 1151,
        "sourceSha256": "ddd5547e98eaaca76798918ed8d66d2fcee45aa5bf61ead2eb7c0e0ccd0b92ab"
      }
    },
    {
      "id": "troubleshooting-08",
      "helpStep": 5,
      "stepTitle": "Reset only after preserving what you need",
      "text": "In normal use, export first and clear this site\u2019s data in browser settings. Then import a good backup.",
      "narrationText": "In normal use, export first and clear this site\u2019s data in browser settings. Then import a good backup.",
      "startFrame": 1164,
      "endFrameExclusive": 1370,
      "startSeconds": 38.8,
      "endSeconds": 45.666666666666664,
      "actions": [
        {
          "action": "choose-file",
          "name": "today-list-example.json",
          "note": "Native operating-system chooser is outside browser screencast."
        },
        {
          "action": "highlight",
          "target": "#task-area"
        }
      ],
      "originalStartFrame": 1107,
      "originalEndFrameExclusive": 1298,
      "addedHoldFrames": 15,
      "narration": {
        "voice": "Niki",
        "sourceClip": "output/narration/clips/troubleshooting-08.mp3",
        "taskId": "5a54e45d-6130-4f2b-aadd-1b7b8e5b8423",
        "generationSpeed": 1.05,
        "playbackSpeed": 1.0,
        "sampleRate": 48000,
        "startSample": 1867200,
        "endSampleExclusive": 2183735,
        "startSeconds": 38.9,
        "endSeconds": 45.494479166666665,
        "startFrame": 1167,
        "endFrameExclusive": 1365,
        "sourceSha256": "327d5298fe4739895f8be9701063e19ed225b2f9c7b305bfe0e4b2024b9a66d2"
      }
    }
  ],
  "subtitleBoundaryEncoding": "ASS cue boundaries quantized down to centiseconds to align exactly with the logged 30 fps frames.",
  "videoSha256": "a0f4ecd6f14a80beaf9e7fa2feb6145ac135987be41c7a96480af9bcd2187276",
  "masterSha256": "6084e5a175fc50a995ebe14b25a8b5ecf7fdd472a5f154a6ebbc4b5f4ca2b19e",
  "controlsClearancePixels": 128,
  "originalSourceMaster": "output/video-masters/troubleshooting.mp4",
  "originalMasterSha256": "39dafeade4903b866e78b062e401e2c3e166522c1e23221eff681811fd60701d",
  "originalFrameCount": 1298,
  "addedNarrationHoldFrames": 72,
  "narration": {
    "voice": "Niki",
    "language": "en",
    "description": "Friendly American narration",
    "generatedSpeech": true,
    "model": "eleven_multilingual_v2",
    "generationSpeed": 1.05,
    "sampleRate": 48000,
    "codec": "AAC",
    "audioFile": "troubleshooting-narration.m4a",
    "trackMaster": "output/narration/tracks/troubleshooting.wav",
    "alignment": "Each original cue plays at its original pace. End-frame holds extend cues when needed for natural speech, with 100 ms lead-in and at least 150 ms end clearance. Audio is never truncated or sped up.",
    "timingConvention": "Audio sample indices at 48000 Hz are exact; covering video frame ranges are rounded outward."
  }
}
