[
  {
    "id": "01-schedule-dashboard",
    "at": "2026-09-18T15:22:24.523Z",
    "build": "http://localhost:3102",
    "path": "/app/schedule-management",
    "caption": "Actual Schedule module after the training one-off completed.",
    "callouts": [],
    "visibleText": "Select an option\nPhone\nChat\nAI Agent\nWhat's this?\nSupport\nReport a Bug\n1\n\n1 waiting on you\n\nOpen Approvals\nSchedule Management\n\nAutomate tasks and manage schedules\n\nOverview\nUpcoming\nRuns\nLogs\nAll Status\nActive\nPaused\nCompleted\nFailed\n0 Active\n13 Total\nNew Schedule\nRefresh\n\nDatabase\n\n13\n\nRedis Queue\n\n0\n\nTotal\n\n13\n\nActive\n\n0\n\nPaused\n\n0\n\nCompleted\n\n0\n\nFailed\n\n0\n\nDatabase Schedules\n13 schedules\nTutorial mark internal note ready\nDB\n\nsimple schedule\n\ndone\nAction:\nupdate-status\nOwner:\nNo owner\nLast Run:\nSep 18, 2026, 10:18 AM\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad4a75bef5e1976f5c9174\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad4a75bef5e1976f5c9172\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad4a75bef5e1976f5c9170\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad4a75bef5e1976f5c916e\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad49f2bef5e1976f5c915e\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad49f2bef5e1976f5c915c\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad49f2bef5e1976f5c915a\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad49f2bef5e1976f5c9158\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nStart reminder for Tutorial Makers Conference 2026\nDB\n\nsimple schedule\n\nnew\nAction:\nevent-reminder-start\nOwner:\nNo owner\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nMorning-of reminder for Tutorial Makers Conference 2026\nDB\n\nsimple schedule\n\nnew\nAction:\nevent-reminder-morning\nOwner:\nNo owner\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\n1h reminder for Tutorial Makers Conference 2026\nDB\n\nsimple schedule\n\nnew\nAction:\nevent-reminder-1h\nOwner:\nNo owner\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\n24h reminder for Tutorial Makers Conference 2026\nDB\n\nsimple schedule\n\nnew\nAction:\nevent-reminder-24h\nOwner:\nNo owner\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled"
  },
  {
    "id": "02-runs-tab",
    "at": "2026-09-18T15:23:13.527Z",
    "build": "http://localhost:3102",
    "path": "/app/schedule-management",
    "caption": "Schedule Runs tab after the successful training note update.",
    "callouts": [],
    "visibleText": "Select an option\nPhone\nChat\nAI Agent\nWhat's this?\nSupport\nReport a Bug\n1\n\n1 waiting on you\n\nOpen Approvals\nSchedule Management\n\nAutomate tasks and manage schedules\n\nOverview\nUpcoming\nRuns\nLogs\nAll Status\nActive\nPaused\nCompleted\nFailed\n0 Active\n13 Total\nNew Schedule\nRefresh\n\nDatabase\n\n13\n\nRedis Queue\n\n0\n\nTotal\n\n13\n\nActive\n\n0\n\nPaused\n\n0\n\nCompleted\n\n0\n\nFailed\n\n0\n\nTotal Runs\n\n0\n\nCompleted\n\n0\n\nFailed\n\n0\n\nRunning\n\n0\n\nAvg Duration\n\nN/A\n\nSchedule Runs History\nRefresh\nNo schedule runs found\n\nSchedule execution history will appear here"
  },
  {
    "id": "03-failed-target-overview",
    "at": "2026-09-18T15:23:13.880Z",
    "build": "http://localhost:3102",
    "path": "/app/schedule-management",
    "caption": "Schedule overview after the intentionally malformed training target became due.",
    "callouts": [],
    "visibleText": "Select an option\nPhone\nChat\nAI Agent\nWhat's this?\nSupport\nReport a Bug\n1\n\n1 waiting on you\n\nOpen Approvals\nSchedule Management\n\nAutomate tasks and manage schedules\n\nOverview\nUpcoming\nRuns\nLogs\nAll Status\nActive\nPaused\nCompleted\nFailed\n1 Active\n14 Total\nNew Schedule\nRefresh\n\nDatabase\n\n14\n\nRedis Queue\n\n0\n\nTotal\n\n14\n\nActive\n\n1\n\nPaused\n\n0\n\nCompleted\n\n0\n\nFailed\n\n0\n\nSync Issues Detected\n\n1 sync issue found between MongoDB and Redis.\n\nView Details\nDatabase Schedules\n14 schedules\nTutorial recover a malformed target\nDB\n\nsimple schedule\n\nactive\nAction:\nupdate-status\nOwner:\nNo owner\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nTutorial mark internal note ready\nDB\n\nsimple schedule\n\ndone\nAction:\nupdate-status\nOwner:\nNo owner\nLast Run:\nSep 18, 2026, 10:18 AM\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad4a75bef5e1976f5c9174\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad4a75bef5e1976f5c9172\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad4a75bef5e1976f5c9170\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad4a75bef5e1976f5c916e\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad49f2bef5e1976f5c915e\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad49f2bef5e1976f5c915c\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad49f2bef5e1976f5c915a\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nSchedule for Datatype:message\nDB\n\nsimple schedule\n\nnew\nAction:\nsend\nOwner:\nmessage: 6aad49f2bef5e1976f5c9158\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nStart reminder for Tutorial Makers Conference 2026\nDB\n\nsimple schedule\n\nnew\nAction:\nevent-reminder-start\nOwner:\nNo owner\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\nMorning-of reminder for Tutorial Makers Conference 2026\nDB\n\nsimple schedule\n\nnew\nAction:\nevent-reminder-morning\nOwner:\nNo owner\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\n1h reminder for Tutorial Makers Conference 2026\nDB\n\nsimple schedule\n\nnew\nAction:\nevent-reminder-1h\nOwner:\nNo owner\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled\n24h reminder for Tutorial Makers Conference 2026\nDB\n\nsimple schedule\n\nnew\nAction:\nevent-reminder-24h\nOwner:\nNo owner\nLast Run:\nNever\nNext Run:\nNever\nRuns in:\nNot scheduled"
  },
  {
    "id": "04-success-readback",
    "at": "2026-09-18T15:27:51.190Z",
    "build": "null",
    "path": "/Users/imzee/projects/docs/tutorials-plan/course-content/assets/appengine-jobs/04-success-readback.txt",
    "caption": "Sanitized actual schedule and queue results, displayed as text.",
    "callouts": [],
    "visibleText": "The one-off changed its target and recorded a run\nActual local training results — 18 September 2026\nSelected fields; unrelated jobs omitted.\n\n{\n  \"scheduleStatus\": \"done\",\n  \"lastRun\": \"2026-09-18T15:18:47.629Z\",\n  \"targetStatus\": \"ready\",\n  \"runs\": {\n    \"scheduleId\": \"6aad55fdbef5e1976f5c919a\",\n    \"totalRuns\": 1,\n    \"runs\": [\n      {\n        \"id\": \"6aad5657bef5e1976f5c919c\",\n        \"scheduleId\": \"6aad55fdbef5e1976f5c919a\",\n        \"timestamp\": \"2026-09-18T15:18:47.648Z\",\n        \"status\": \"success\",\n        \"type\": \"update\",\n        \"comment\": \"Schedule started: Tutorial mark internal note ready\",\n        \"meta\": {\n          \"action\": \"update-status\",\n          \"jobId\": \"learnmu4qn1ha-6aad55fdbef5e1976f5c919a-start\",\n          \"nextRun\": null\n        }\n      }\n    ]\n  }\n}\n"
  },
  {
    "id": "05-failure-recovery",
    "at": "2026-09-18T15:27:51.258Z",
    "build": "null",
    "path": "/Users/imzee/projects/docs/tutorials-plan/course-content/assets/appengine-jobs/05-failure-recovery.txt",
    "caption": "Sanitized actual schedule and queue results, displayed as text.",
    "callouts": [],
    "visibleText": "Malformed target: queue evidence and corrected run\nActual local training results — 18 September 2026\nSelected fields; unrelated jobs omitted.\n\n{\n  \"failedJob\": {\n    \"id\": \"learnmu4qn1ha-6aad57359abb688a56141302-start\",\n    \"attemptsMade\": 3,\n    \"failedReason\": \"Cannot read properties of undefined (reading 'datatype')\"\n  },\n  \"runHistoryBeforeRepair\": {\n    \"scheduleId\": \"6aad57359abb688a56141302\",\n    \"totalRuns\": 0,\n    \"runs\": []\n  },\n  \"correctedScheduleStatus\": \"done\",\n  \"runHistoryAfterRepair\": {\n    \"scheduleId\": \"6aad57359abb688a56141302\",\n    \"totalRuns\": 1,\n    \"runs\": [\n      {\n        \"id\": \"6aad57b563e53f19a26bbcd0\",\n        \"scheduleId\": \"6aad57359abb688a56141302\",\n        \"timestamp\": \"2026-09-18T15:24:37.033Z\",\n        \"status\": \"success\",\n        \"type\": \"update\",\n        \"comment\": \"Schedule started: Tutorial recover a malformed target\",\n        \"meta\": {\n          \"action\": \"update-status\",\n          \"jobId\": \"learnmu4qn1ha-6aad57359abb688a56141302-start\",\n          \"nextRun\": null\n        }\n      }\n    ]\n  }\n}\n"
  },
  {
    "id": "06-pause-cancel",
    "at": "2026-09-18T15:27:51.326Z",
    "build": "null",
    "path": "/Users/imzee/projects/docs/tutorials-plan/course-content/assets/appengine-jobs/06-pause-cancel.txt",
    "caption": "Sanitized actual schedule and queue results, displayed as text.",
    "callouts": [],
    "visibleText": "A PAUSED field did not prevent execution\nActual local training results — 18 September 2026\nSelected fields; unrelated jobs omitted.\n\n{\n  \"createdStatus\": \"PAUSED\",\n  \"statusAfterDueTime\": \"done\",\n  \"targetStatusAfterDueTime\": \"tutorial-paused-check\",\n  \"deleteExperiment\": {\n    \"deleteStatus\": 200,\n    \"remainingJobs\": [\n      {\n        \"id\": \"learnmu4qn1ha-6aad57aa9abb688a56141314-start\",\n        \"name\": \"start\",\n        \"data\": {\n          \"orgId\": \"learnmu4qn1ha\",\n          \"sk\": \"6aad57aa9abb688a56141314\",\n          \"datatype\": \"schedule\"\n        },\n        \"opts\": {\n          \"delay\": 149975,\n          \"jobId\": \"learnmu4qn1ha-6aad57aa9abb688a56141314-start\",\n          \"attempts\": 3,\n          \"removeOnComplete\": true,\n          \"timestamp\": 1789745066963\n        },\n        \"delay\": 149975,\n        \"timestamp\": 1789745066963,\n        \"state\": \"delayed\",\n        \"attemptsMade\": 0,\n        \"scheduledFor\": \"2026-09-18T15:26:56.938Z\"\n      }\n    ],\n    \"record\": {\n      \"status\": 404,\n      \"body\": {\n        \"statusCode\": 404,\n        \"error\": \"Not Found\",\n        \"path\": \"/repository/get/schedule/6aad57aa9abb688a56141314\",\n        \"method\": \"GET\",\n        \"timeStamp\": \"2026-09-18T15:24:27.005Z\"\n      }\n    }\n  }\n}\n"
  }
]
