@plasius/learning 0.2.0 → 0.2.1
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 +39 -7
- package/dist/index.cjs +723 -60
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +112 -1
- package/dist/index.d.ts +112 -1
- package/dist/index.js +716 -59
- package/dist/index.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -54,6 +54,31 @@ const result = calculateAssessment(rubric, [
|
|
|
54
54
|
console.log(result.score, result.completed);
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
+
## Validate mission authoring
|
|
58
|
+
|
|
59
|
+
Mission authoring is additive to the immutable catalog. A bundle contains
|
|
60
|
+
physically separate learner and facilitator projections and is checked against
|
|
61
|
+
the exact catalog module that owns its rubric, mission and badges.
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
import {
|
|
65
|
+
JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1,
|
|
66
|
+
ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1,
|
|
67
|
+
assertValidMissionAuthoringBundle,
|
|
68
|
+
} from "@plasius/learning";
|
|
69
|
+
|
|
70
|
+
const roadHopper = JUNIOR_CODER_ROBOT_RESCUE_PATH_V1_1.modules.find(
|
|
71
|
+
(module) => module.slug === "road-hopper-rally",
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
if (!roadHopper) throw new Error("Road Hopper Rally is missing");
|
|
75
|
+
|
|
76
|
+
assertValidMissionAuthoringBundle(
|
|
77
|
+
ROAD_HOPPER_RALLY_MISSION_ONE_AUTHORING_V1,
|
|
78
|
+
roadHopper,
|
|
79
|
+
);
|
|
80
|
+
```
|
|
81
|
+
|
|
57
82
|
## Contract rules
|
|
58
83
|
|
|
59
84
|
- Published IDs and versions are immutable.
|
|
@@ -63,6 +88,10 @@ console.log(result.score, result.completed);
|
|
|
63
88
|
- `admin-test-grant` is distinct from pilot, support and paid purchase sources;
|
|
64
89
|
consuming services must not attach an economy transaction to it.
|
|
65
90
|
- Learner material never contains facilitator-only solutions or protected tests.
|
|
91
|
+
- Mission stages follow `learn → predict → build → run → assess → inspect → fix
|
|
92
|
+
→ explain → reward`, and readiness checks never affect the score.
|
|
93
|
+
- Learner evidence and rewards can bind only to visible goals; protected goal
|
|
94
|
+
IDs stay in the facilitator projection.
|
|
66
95
|
- Rubric criteria total exactly 100 points.
|
|
67
96
|
- Completion requires a score of at least 80 and every mandatory criterion.
|
|
68
97
|
- Module agents may explain evidence and propose a bounded next step, but cannot assign scores or rewards.
|
|
@@ -70,8 +99,10 @@ console.log(result.score, result.completed);
|
|
|
70
99
|
|
|
71
100
|
See [the foundation design](docs/design/junior-coder-catalog-foundation.md),
|
|
72
101
|
[the uniform pricing design](docs/design/junior-coder-uniform-pricing.md),
|
|
102
|
+
[the mission authoring design](docs/design/junior-coder-mission-authoring.md),
|
|
73
103
|
[ADR 0001](docs/adrs/adr-0001-learning-domain-and-catalog-boundary.md), and
|
|
74
|
-
[ADR 0002](docs/adrs/adr-0002-immutable-module-repricing-and-admin-test-source.md)
|
|
104
|
+
[ADR 0002](docs/adrs/adr-0002-immutable-module-repricing-and-admin-test-source.md),
|
|
105
|
+
and [ADR 0003](docs/adrs/adr-0003-mission-authoring-manifests-are-additive-and-separated.md).
|
|
75
106
|
|
|
76
107
|
## Development
|
|
77
108
|
|
|
@@ -84,12 +115,13 @@ npm run build
|
|
|
84
115
|
npm run pack:check
|
|
85
116
|
```
|
|
86
117
|
|
|
87
|
-
Node.js 24 is required.
|
|
88
|
-
|
|
89
|
-
explicitly select the approved
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
118
|
+
Node.js 24 is required. Public pull-request code is validated on an isolated
|
|
119
|
+
GitHub-hosted Linux runner with read-only workflow permissions. Main-branch CI
|
|
120
|
+
and both release jobs explicitly select the approved
|
|
121
|
+
`Public CI - Quarantined` self-hosted runner group. `CI_RUNNER_GROUP` /
|
|
122
|
+
`CI_RUNNER_LABELS` and `CD_RUNNER_GROUP` / `CD_RUNNER_LABELS` are reserved for
|
|
123
|
+
governed operator configuration. The organisation group remains restricted to
|
|
124
|
+
allowlisted `main` workflows and selected repositories. Release coverage and
|
|
93
125
|
the CycloneDX SBOM are retained even when an external coverage or provenance
|
|
94
126
|
service is unavailable. Release tags and GitHub Releases use a current-repository
|
|
95
127
|
GitHub App token with explicit Contents and Workflows write permissions; npm
|