Purpose: demonstrate LMS-operational thinking (the #1 gap this kit must close) by documenting exactly how these HTML artifacts would be packaged, tracked, and governed inside a corporate LMS.
module.html
└─ wrap in SCORM 1.2 / SCORM 2004 package:
imsmanifest.xml (organization + resource declaration)
module.html ( SCO - launchable single file )
APIWrapper.js ( pipwerks-style SCORM wrapper, MIT )
xsd/ ( schema files per spec )
└─ zip → import into LMS (Docebo / SuccessFactors / Moodle-class)
Alternative modern route: xAPI-only via a lightweight LRS endpoint; the module posts statements directly, LMS consumes via cmi5 profile or LRS-native reporting.
Completion state on result screen is intentionally structured as a near-xAPI statement:
{
"actor": { "account": { "name": "<learner-id-from-LMS>" } },
"verb": { "id": "http://adlnet.gov/expapi/verbs/completed",
"display": {"en-US": "completed"} },
"object": { "id": "https://vandijk-logistics.example/xapi/cold-chain-check",
"definition": { "name": {"en-US": "Cold-Chain Check Certification"} } },
"result": { "score": { "scaled": 0.00–1.00 },
"success": true|false,
"duration": "PT<minutes>M" }
}
Adding real emission = one fetch() call to the LRS endpoint behind client SSO; documented here, enabled at deployment (portfolio copy stays offline-clean deliberately).
| Event | Why operations cares |
|---|---|
| Question-level answers (which gates fail most) | Weekly item-analysis → target toolbox topics |
| Retake count | Flags confidence gaps vs knowledge gaps |
| Time-on-module outliers | Too fast = skipping; too slow = accessibility friction |
| Explainer replay rate (from dock-screen telemetry) | Signals which shift uses it in huddles |
coldchain_v1.3.0__2026-08-27.html) so LMS content audit trails stay honest.Prefer the source? Download the raw markdown.