writes-before-progress-declaredThe course saved a bookmark before telling the LMS it had started, and some systems throw that away without saying so.
Resume simply does not work, from the very first attempt โ the learner returns and the course is back at the beginning. Nothing errors, the LMS reports the attempt as started, and the same package resumes perfectly on a different system, which usually sends everyone looking at the content rather than the order of the calls.
A write to cmi.suspend_data, cmi.location or cmi.progress_measure that happens before the SCO has written any completion or success status.
Nothing in the spec requires a status first, and a conformant LMS keeps everything you send. But some systems gate persistence: they hold progress data until the course has declared itself in progress, and quietly discard whatever arrived before that. The API returns success either way, so the course has no way to notice. Because it passes everywhere else, this tends to be found in production on the one system that gates.
Write your status first. Setting cmi.completion_status to "incomplete" as soon as the session opens costs nothing on a system that does not care and is the difference between working and not on one that does โ then write the bookmark.
On a fully conformant LMS the original order is harmless, so this is a portability warning rather than a defect. It is worth fixing anyway: the fix is one line and it removes a failure that is very hard to diagnose remotely.
Open a package in SCORM Lab to see whether this applies to yours. It runs in your browser, and nothing is uploaded unless you choose to share it.
Stuck on this one, or seeing it only in a particular LMS? That is usually a short conversation โ scormspecialist.co.uk.