v1.2.2: Add Healthcare specialization, mark cancelled courses, rename Digital Marketing
Apply the J27 (5/6/2026) Stern specialization sheet: - Add Healthcare (HCR) as the 15th specialization, with HCR cross-listings on spr2-health-medical, spr3-analytics-ml, sum2-social-media (renamed), and fall1-managing-change. 10 credits available, no required-course gate. - Rename sum2-social-media to "Digital Marketing Strategy in Practice"; replace its description with new MSKCC-anchored content; clear instructor pending confirmation of new lead. - Switch from delete-and-replace to the previously-unused cancelled flag (Approach B): mark spr5-customer-insights cancelled, add Managing Growing Companies back to Summer Set 2 as a cancelled placeholder per the printed sheet. - Update data integrity tests: course count 46 -> 47, spec count 14 -> 15; per-spec "across sets" helper now filters cancelled courses so future cancellations trigger an obvious assertion failure (BRM 6 -> 5, MKT 7 -> 6, HCR 4 new). - Replace hardcoded 14 in optimizer.test.ts with SPECIALIZATIONS.length.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
## Why
|
||||
|
||||
The Stern School published an updated J27 Specializations one-pager (dated 5/6/2026) that introduces a new Healthcare specialization, cancels the Customer Insights elective, lists Managing Growing Companies as a cancelled placeholder in Summer Set 2, renames Social Media and Mobile Technology to Digital Marketing Strategy in Practice (with a substantively different course description and focus), and cross-lists four existing courses to the new Healthcare specialization. The solver's data files must match the official sheet so students rely on accurate availability information.
|
||||
|
||||
## What Changes
|
||||
|
||||
- Add **Healthcare (HCR)** specialization (10 credits, no required course)
|
||||
- Add HCR qualification to four existing courses:
|
||||
- `spr2-health-medical` (Business of Health & Medical Care)
|
||||
- `spr3-analytics-ml` (Analytics & Machine Learning for Managers)
|
||||
- `sum2-social-media` (formerly Social Media and Mobile Technology)
|
||||
- `fall1-managing-change` (Managing Change)
|
||||
- Rename `sum2-social-media` to **Digital Marketing Strategy in Practice** and replace its course description with the new MSKCC-anchored content (provided in `digital-marketing.txt`); clear instructor field pending confirmation of new lead instructor
|
||||
- Mark **`spr5-customer-insights`** as `cancelled: true` (retain entry; do not delete) — switching from prior delete-and-replace pattern to the existing-but-unused `cancelled` flag pattern (Approach B)
|
||||
- Add a new cancelled-only entry **`sum2-managing-growing-companies`** ("Managing Growing Companies") to Summer Set 2 with `cancelled: true` and no qualifications, restoring the printed sheet's 5-slot listing
|
||||
- Update test assertions in `app/src/data/__tests__/data.test.ts` to reflect the 15th specialization, the 5-entry sum2 set, and revised per-spec set counts (BRM, MKT lose `spr5-customer-insights`)
|
||||
|
||||
## Capabilities
|
||||
|
||||
### New Capabilities
|
||||
|
||||
_None — this is a data refresh that uses existing capabilities (`course-data`, `specialization-ranking`)._
|
||||
|
||||
### Modified Capabilities
|
||||
|
||||
- `course-data`: Add Healthcare specialization, four HCR cross-listings, the renamed Digital Marketing course, and two cancelled-flag entries. Adopt `cancelled: true` (Approach B) as the standing pattern for cancelled courses, superseding the prior delete-and-replace approach.
|
||||
|
||||
## Impact
|
||||
|
||||
- `app/src/data/specializations.ts` — add HCR entry
|
||||
- `app/src/data/courses.ts` — five qualification/name edits, one new cancelled entry, one cancelled-flag edit
|
||||
- `app/src/data/electiveSets.ts` — append `sum2-managing-growing-companies` to `sum2.courseIds`
|
||||
- `app/src/data/courseDescriptions.ts` — replace `sum2-social-media` description; clear instructors
|
||||
- `app/src/data/__tests__/data.test.ts` — update specialization count (14→15), course count (46→47), and per-spec/STR-marker assertions
|
||||
- `app/vite.config.ts` — bump `__APP_VERSION__` and `__APP_VERSION_DATE__`
|
||||
- `CHANGELOG.md` — add release entry
|
||||
- No code changes to solver, lookups, or UI: existing `cancelled` plumbing in `lookups.ts:43-50`, `appState.ts:94-95`, and `CourseSelection.tsx:279` already handles greying-out and solver exclusion
|
||||
Reference in New Issue
Block a user