BADM 554 Box Sync

This directory contains a machine-generated snapshot of selected files from the BADM 554 Box workspace. K-ai reads these files to answer questions about the LD-team-owned course design state.

Canonical source: Box folder BADM 554 (Sachdev) / Development / 2026_Fall1_Sachdev/ (renamed from BADM 554 MSBAi (Sachdev) by 2026-09-12). Owned by the Learning Design (LD) team — Cheng Li is the active editor.

This snapshot: machine-readable derivative. Never edit these files directly — they will be overwritten on the next sync. To change content, edit the canonical Excel files in Box.


What’s in this directory

File Source on Box Contents
course-map.md Course Map.xlsx (file id 2237327519421) Course Learning Outcomes (CLOs), assessment-strategy weights, module-by-module learning objectives, aligned assessments, multimedia, suggested readings
activity-roster.md Instructional Activity Roster.xlsx (file id 2237265073438) The M#I# item table — every lecture video, demo, live session, and instructional resource by module
_last-synced.md (this directory) Last-sync metadata: timestamp, file ids, sha1s, who last edited the canonical Box files

How K-ai uses this

When a query mentions BADM 554, K-ai greps the msba-online repo. These files surface alongside the hand-curated courses/badm554_data_foundations.md:

K-ai’s reply will cite both as appropriate.


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).