@plasius/learning 0.2.25 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -42,6 +42,47 @@ exact `PADDLE_PULSE_MODULE_V2` export, schema `2` and canonical SHA-256 digest
42
42
  without importing the package. Paddle Pulse `1.1.0` and its mission-authoring
43
43
  export remain available unchanged.
44
44
 
45
+ ## Complete course and account-save contracts
46
+
47
+ Complete learner curricula are separate lazy entry points. Import
48
+ `{ course, practice }` from `@plasius/learning/courses/robot-maze-dash` for the
49
+ Robot Maze `2.0.0` course: six distinct missions, 54 guided activities, a bounded
50
+ visual starter project, function references, formative concept checks, debugging
51
+ guidance and extensions. Formative answers are learner-safe teaching material;
52
+ they are not protected runtime assessments or completion authority. Hosts verify
53
+ responses, run protected checks and persist evidence independently.
54
+ The root exports `CoursePracticeQuestion` as a type without importing lesson data.
55
+
56
+ The runtime is supplied separately by `@plasius/learning-runtime`; this package
57
+ does not execute the project or declare host readiness. The seventeen-course
58
+ programme remains in development. This additive content does not alter immutable
59
+ catalogue/pricing records or enable a public host rollout. New hosts compose
60
+ their existing access controls with an independently disabled complete-course
61
+ flag and must validate the full learner journey before enabling it.
62
+
63
+ `LearningCourseV1` defines six missions with nine activities each, editable project
64
+ files, learner guidance and a capstone assessment identifier. Use
65
+ `validateLearningCourse` or `parseLearningCourse` for publication and loading.
66
+ Structural validity is only one acceptance gate; authored content, working runtime
67
+ and learner-journey evidence must also be verified for each course.
68
+
69
+ `parseLearningCourseDraft` accepts only the declared project files, content version
70
+ and navigation. It rejects account identifiers, scores, completion and evidence.
71
+ `parseLearningSaveSlotId` accepts `auto` and manual slots `1`–`9`. Source limits are
72
+ 64,000 characters per file and 96,000 total across at most eight declared files.
73
+
74
+ The pure progression functions `createLearningCourseProgress`,
75
+ `completeVerifiedLearningActivity`, `recordLearningCourseAssessment`,
76
+ `parseLearningCourseProgress` and `resolveLearningCourseStage` support host-owned
77
+ state. They are **not browser mutation DTOs**. Hosts validate each activity, run
78
+ protected deterministic checks, bind source digests and references to the signed-in
79
+ account, and supply conditional/idempotent storage. Repair/reward need passing
80
+ current-source evidence; completion additionally needs a passing capstone after
81
+ all six missions. Loading a project cannot restore or manufacture progress.
82
+
83
+ These contracts do not supply the seventeen full course implementations, execute
84
+ learner code, save records or grant access. See [ADR 0009](docs/adrs/adr-0009-complete-course-project-and-progress-contracts.md).
85
+
45
86
  ## Install
46
87
 
47
88
  ```bash