@thanh01.pmt/curriculum-kit 1.4.46 → 1.4.48

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.
@@ -1463,7 +1463,25 @@ var PlanningNodeSchema = z.object({
1463
1463
  file: z.string(),
1464
1464
  evidence: z.string().default("")
1465
1465
  })).default([]),
1466
- phase_id: z.string().default("")
1466
+ phase_id: z.string().default(""),
1467
+ // P52/T2.1: tangible user-visible outcome projected from the graph step
1468
+ // (checkpoint candidate for session cutting). Empty = not a checkpoint.
1469
+ user_visible_deliverable: z.string().default(""),
1470
+ // P52/T3.1 — depth-reconcile inputs (mirrored from the feed; optional so
1471
+ // raw graphs without variants keep planning unchanged):
1472
+ // • depth_variants: minutes to teach this node at each depth level (ULO ≤
1473
+ // CIO ≤ SIO) — the reconciler's price list for downgrades.
1474
+ // • depth_scaffold_candidates: parallel to scaffold_candidates but acting
1475
+ // on DEPTH (SIO→CIO, CIO→ULO) instead of lesson time.
1476
+ // • is_core: Master-Tree core concept — never downgraded; escalate instead.
1477
+ depth_variants: z.object({ ulo: z.number().int().nonnegative(), cio: z.number().int().nonnegative(), sio: z.number().int().nonnegative() }).optional(),
1478
+ depth_scaffold_candidates: z.array(z.object({
1479
+ from_depth: DepthLevelSchema,
1480
+ to_depth: DepthLevelSchema,
1481
+ minutes_saved: z.number().int().nonnegative(),
1482
+ reason: z.string().default("")
1483
+ })).optional(),
1484
+ is_core: z.boolean().default(false)
1467
1485
  });
1468
1486
  var DependencyEdgeSchema = z.object({
1469
1487
  from: z.string(),