BDI 513 Box Sync
This directory contains a machine-generated snapshot of the LD-team-owned production roster for BDI 513. K-ai reads it to answer questions about video production state.
Canonical source: Box folder BDI 513 (Guymon) / Development / 2026_Fall1.5_Guymon/ (renamed from BDI 513 MSBAi (Guymon) by 2026-09-12). Instructor: Ron Guymon (rnguymon@illinois.edu).
This snapshot: machine-readable derivative. Never edit these files directly; they are overwritten on the next sync. To change content, edit the Excel in Box.
What’s in this directory
| File | Source on Box | Contents |
|---|---|---|
activity-roster.md |
Instructional Activity Roster.xlsx (file id 2191905765464), first sheet Canvas Videos only |
One row per video by module, with the LD team’s own Status column (e.g. Edited, Available on YouTube), live-session ideas and notes |
_last-synced.md |
(this directory) | Last-sync metadata: current Box paths, file ids, sha1s, Box edit times |
The workbook’s other sheets (Updated Course, Assignment Summary, Live Session Summaries, Grading Scheme, Non-Lecture Videos, Archived Course) are not synced: they are the activity and grading plan, not production status. Course Map.xlsx (file id 2253019650276) is still the blank LD template; the sync generates course-map.md automatically once it is filled in.
How it syncs
Automatic: scripts/box-autosync.py runs by launchd at 08:00, 12:00, 16:00 and 20:00 US Central on Vishal’s Mac. It looks each file up by its Box file ID (not its folder path, so renames and folder moves do not break it), regenerates activity-roster.md (and course-map.md, once the Course Map is filled in) when the Excel content changes, and commits + pushes; VPS K-ai picks it up on its next git pull. _last-synced.md shows each file’s current Box path and when it was last edited on Box.
If a file becomes unreachable, or its layout changes to one the parser does not recognise, the run exits with an error and the box-autosync heartbeat alerts within 14 hours. Manual run: scripts/.venv/bin/python scripts/box-autosync.py (--dry-run --force previews all courses without writing).