@thanh01.pmt/curriculum-kit 1.4.47 → 1.4.49

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.
@@ -2347,7 +2347,25 @@ var PlanningNodeSchema = z.object({
2347
2347
  file: z.string(),
2348
2348
  evidence: z.string().default("")
2349
2349
  })).default([]),
2350
- phase_id: z.string().default("")
2350
+ phase_id: z.string().default(""),
2351
+ // P52/T2.1: tangible user-visible outcome projected from the graph step
2352
+ // (checkpoint candidate for session cutting). Empty = not a checkpoint.
2353
+ user_visible_deliverable: z.string().default(""),
2354
+ // P52/T3.1 — depth-reconcile inputs (mirrored from the feed; optional so
2355
+ // raw graphs without variants keep planning unchanged):
2356
+ // • depth_variants: minutes to teach this node at each depth level (ULO ≤
2357
+ // CIO ≤ SIO) — the reconciler's price list for downgrades.
2358
+ // • depth_scaffold_candidates: parallel to scaffold_candidates but acting
2359
+ // on DEPTH (SIO→CIO, CIO→ULO) instead of lesson time.
2360
+ // • is_core: Master-Tree core concept — never downgraded; escalate instead.
2361
+ depth_variants: z.object({ ulo: z.number().int().nonnegative(), cio: z.number().int().nonnegative(), sio: z.number().int().nonnegative() }).optional(),
2362
+ depth_scaffold_candidates: z.array(z.object({
2363
+ from_depth: DepthLevelSchema,
2364
+ to_depth: DepthLevelSchema,
2365
+ minutes_saved: z.number().int().nonnegative(),
2366
+ reason: z.string().default("")
2367
+ })).optional(),
2368
+ is_core: z.boolean().default(false)
2351
2369
  });
2352
2370
  var DependencyEdgeSchema = z.object({
2353
2371
  from: z.string(),
@@ -3130,9 +3148,9 @@ Evaluate the candidate artifact across these 6 dimensions:
3130
3148
  - 0 pts: Missing critical sections.
3131
3149
 
3132
3150
  5. **Technical & Conceptual Accuracy (15 pts):**
3133
- - 15 pts: Code snippets, logic flows, architectural descriptions, and Mermaid diagrams are conceptually sound and valid. If \`canonicalExposition\` or \`[KNOWLEDGE_EXPOSITION]\` is provided, content strictly adheres to canonical concepts without contradicting definitions or examples.
3151
+ - 15 pts: Code snippets, logic flows, architectural descriptions, and Mermaid diagrams are conceptually sound and valid. Every code identifier uses the REAL standard-library/API spelling of the declared stack (grounded in REFERENCE_PACK / canonical LESSON) \u2014 internal consistency with a glossary term name is NOT evidence of correctness. If \`canonicalExposition\` or \`[KNOWLEDGE_EXPOSITION]\` is provided, content strictly adheres to canonical concepts without contradicting definitions or examples.
3134
3152
  - 8 pts: Minor syntax inaccuracies or unidiomatic code that does not break core concepts.
3135
- - 0 pts: Severe technical hallucinations, broken logic, invalid diagrams, or direct contradiction of canonical exposition knowledge.
3153
+ - 0 pts: Severe technical hallucinations, broken logic, invalid diagrams, invented casing/spelling rules for standard-library identifiers, or direct contradiction of canonical exposition knowledge.
3136
3154
 
3137
3155
  6. **Contract Consistency & Zero-Drift (10 pts):**
3138
3156
  - 10 pts: Satellite artifact strictly adheres to the scope, tech stack, and objectives of Lesson ${lessonId} without introducing unrelated topics. If \`canonicalLessonExcerpt\` is present in candidate JSON, all satellite phases/activities strictly operationalize the master Lesson Flow and Activity Sequence without inventing divergent timelines.