Spec — Back-catalogue ops
2026-refresh › back-catalogue-ops · feature · created 2026-08-05 · spec · plan.html
Every fix to existing footage that needs no microphone: ~35 context cards rendered and stitched,
the dossier-timestamped trims cut, the 720p catalogue upscaled, audio levelled, and the async imports assembled — batch,
manifest-driven, resumable — until every kept lecture has a finished, conformant file (or is provably fine untouched).
Runs entirely without Asim except spot reviews; uploads belong to udemy-publish.
Problem
P1~70 of the final course's lectures are existing footage carrying known, catalogued defects — the flags and reviews target exactly these.
P2The catalogue is visually and audibly inconsistent — 720p beside 1080p, loudness varying era to era.
P3Seventy render jobs cannot be artisanal — hand-run one-offs won't survive retries, redesigns or a second course.
Solution at a glance
J0A manifest turns the dossier verdicts into finished files. One machine-readable manifest maps every kept lecture to its route (card · trim+card · upscale-only · as-is) and its inputs; the batch renders cards from the copy files, cuts from dossier timestamps, upscales, levels loudness, and emits conformance-checked finals into the course's media folder — idempotent and re-runnable at any time.
| Route | ≈ | What happens |
|---|---|---|
| card | 35 | corrective "2026 UPDATE" card rendered from copy file, stitched to the front |
| trim + card | 15 | dossier-cited seconds cut, card if the dossier demands one |
| upscale / level only | ~20 | lanczos 720p→1080p and/or loudnorm; content untouched |
| as-is | rest | proven untouched on Udemy; listed in the manifest as deliberate no-ops |
Job stories
J1 · When the batch runs
J1.1Every card corrects exactly what its dossier flagged — copy written to the canonical register, rendered from the design-system template P1Catalogued defectscards are the fix for dated claims
J1.2Every cut is cited — an edits log records file, in/out timestamps, and the dossier line justifying it P1Catalogued defectscuts execute dossier verdicts
J1.3Every output passes conformance — 1080p30, limited range, AAC 48k, −16 LUFS, automatically checked P2Inconsistent catalogueone delivery spec for everything P3Seventy jobsthe check is part of the batch
J1.4Re-running is always safe — the batch is idempotent; changing one card re-renders one lecture, not an afternoon P3Seventy jobsmanifest-driven, resumable
J2 · When Asim reviews
J2.1I spot-review samples, not seventy files — batches arrive as small review sets spanning every route, watch-and-approve P1Catalogued defectsthe fixes still need his eye
J3 · When publish day comes
J3.1The manifest answers for every lecture — each triage row maps to a finished file or a deliberate no-op; zero unaccounted P3Seventy jobspublish needs a complete inventory
udemy-publish consumes the manifest directly — upload list, replaced-vs-new lecture
mapping, durations.Constraints
- The evergreen core is never touched beyond upscale/loudness — the 4.52★ protection stands.
- Dossier verdicts execute as written; disagreement is raised, never silently re-decided.
- Narration is never altered — cuts remove whole passages; no synthetic audio.
- Depends on
design-systemfor the card template and marks; card copy can be written before it lands. - Nothing uploads to Udemy from this task.
- British English in all card copy.
Deferred to plan
The definitive per-route lecture lists
Whether untouched KEEPs get re-levelled audio
Decisions
Cards + trims over re-recording — the July strategy stands
slides-reskin.Upscale = lanczos 1080p + light sharpen for the 720p catalogue
Event-loop card content comes from the Node-24 verification
Estimated files / edits
Size: M–L (batch volume, small surface) — manifest + batch runner in
packages/scripts/, ~35 card copy files, edits log, review pages; outputs to courses/adv-js/media/out/.