To quote the SCORM Blog:
In SCORM 1.2, completion status and success status were rolled up into a single entity, cmi.core.lesson_status. It had six potential values, including completed, incomplete, passed, failed. In this world, it was impossible for the content to tell the LMS if a failed status meant that the user should be allowed to take the content again or not. Was it failed because they hadn’t finished? Who knew?
SCORM 2004, though, separates the concepts of passing and completing using two distinct data model elements:
- cmi.complete_status (completed, incomplete, or unknown)
- cmi.success_status (passed, failed, unknown)
This allows the content to be more expressive about whether a failure was final. Each content vendor is welcome to their own interpretation here, but making use of both completion_status and success_status is important in SCORM 2004.
In practical Bright applications, we often see a registration in an 'unknown' state after it has been created, like in an invitation or license key, but before it has been launched. Frequently, after the first launch, the course will flip the completion flag from 'unknown' to 'incomplete'.