@lssm-tech/module.personal-learning
PersonalOS learning boundary for private, consent-aware catalog discovery, enrollment, goal linkage, progress, practice, assessment, and coaching.
What it guarantees
- Every mutation is bound to one PersonalOS subject, command revision, idempotency key, action classification, decision receipt, and active consent purpose. The runtime recomputes a domain-separated canonical payload digest and requires the authority receipt to bind the complete mutable command tuple. New state checkpoints retain a canonical full-command digest, so a replay with a changed command id, actor, envelope field, or payload fails closed; legacy checkpoints without that binding cannot be replayed as current proof.
- Learning-engine transitions bind the exact operation, subject, idempotency key, and monotonic journey revision. A transition cannot silently remove a previously known journey.
- Progress projections cover lessons, onboarding, quizzes, flashcard schedules, SRS explanations, mastery evidence, XP, and streaks without storing raw provider payloads.
- A PersonalOS goal link is accepted only after the host verifies that the goal is active and owned by the same subject.
- A coach may create an evidence-linked proposal. It cannot grant authority, infer protected or clinical traits, auto-apply settings, accept its own proposal, or undo anything except the latest active adaptation.
- Catalog, progress, and due-card reads fail closed on cross-subject access and return sanitized recovery results when the learning host is unavailable.
Composition boundary
Modules cannot depend on peer modules. This package therefore exposes
PersonalLearningJourneyPortV1, a structural port shaped for the catalog, journey runtime, SRS, XP, and streak outputs PersonalOS needs.
bundle.personal-os owns the adapter that imports both this package and
@lssm-tech/module.learning-journey. The adapter must preserve the subject, consent, idempotency, revision, and evidence fields defined here.
Host responsibilities
This pure module does not claim an authoritative catalog, content entitlement, offline merge, native/web UI, accessibility certification, export delivery, deletion propagation, managed backup restore, or production canaries. The server-only PersonalOS bundle provides the encrypted atomic state/event/outbox host path; deployed hosts must still bind its KMS, PostgreSQL, authority, catalog, restore, and worker ports and qualify the remaining gates before the corresponding portfolio rows can become live_verified.
Entrypoints
@lssm-tech/module.personal-learning
@lssm-tech/module.personal-learning/contracts
@lssm-tech/module.personal-learning/ports
@lssm-tech/module.personal-learning/runtime
@lssm-tech/module.personal-learning/queries
@lssm-tech/module.personal-learning/portability
@lssm-tech/module.personal-learning/coaching
Test fixtures are source-internal and are not published as package subpaths or included in production artifacts.