learn-content-engine - v0.23.0
    Preparing search index...

    Function compareStableIdInventories

    • Compare the published state against the head.

      Violations:

      • V1 a base id is gone from the head WITHOUT being declared in the head's retired_ids for its set. Declared retirement is the legal way out since engine#131 (the consumer archives the learner progress, adaptive-learner#2188); an undeclared disappearance stays a violation.
      • V2 an id is used more than once inside one set (set-wide uniqueness; the same id in two DIFFERENT sets is fine).
      • V3 an id points at another kind or exercise type than before (reuse smell: a card became an exercise, a matching became a cloze).
      • V4 a lesson FILE vanished while its set survived. The filename is the lesson's identity for progress joins; a whole set disappearing is a different, deliberate act and is reported through V1 only.
      • V5 a base retirement is gone from the head's list: a published retirement is never un-declared (add-only, like the ids themselves).
      • V6 a head retirement is still alive in the head: retired AND present is a contradiction - the consumer treats a resolvable id as living, so the declared retirement would be silently ignored.

      Editing content under a constant id is the allowed case and the entire point of the promise.

      Parameters

      Returns StabilityResult