---
title: "A SCO that never calls Commit | SCORM Lab"
canonical_url: "https://scorm-lab.com/lint/never-committed"
last_updated: "2026-09-23T11:50:25.556Z"
meta:
  description: "Tracked data was never explicitly flushed, so an interrupted attempt can lose everything since the start."
  "og:description": "Tracked data was never explicitly flushed, so an interrupted attempt can lose everything since the start."
  "og:title": "A SCO that never calls Commit"
  "twitter:description": "Free in-browser SCORM debugger. Drop a SCORM 1.2 or 2004 .zip to inspect the API transcript, CMI data model, sequencing and lint. Nothing uploaded unless you choose to share."
  "twitter:title": "Debug any SCORM package in your browser, free"
---

`

# A SCO that never calls Commit

Tracked data was never explicitly flushed, so an interrupted attempt can lose everything since the start.

## What you see

Progress survives a clean exit but vanishes after a crash, a dropped connection, or a laptop lid closing. The loss is all-or-nothing rather than partial.

## What the check looks for

A SCO set values but never called Commit (2004) or LMSCommit (1.2).

## Why it matters

SetValue writes to the LMS's in-memory copy of the data model. Commit is the instruction to persist it. Many systems also persist on Terminate, which is why this often goes unnoticed until something interrupts an attempt — the one situation the call exists for.

## How to fix it

Commit at meaningful checkpoints: the end of a page or module, after a question is answered, and before any long stretch of video. Do not commit on every SetValue; on a busy course that is a write storm, and some systems throttle or reject it.

[Open a package in SCORM Lab](https://scorm-lab.com/) 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](https://scormspecialist.co.uk/).