@thanh01.pmt/curriculum-kit 1.4.51 → 1.4.53

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/dist/index.d.cts CHANGED
@@ -1145,6 +1145,10 @@ interface PackedSession {
1145
1145
  knowledgeMinutes: number;
1146
1146
  practiceMinutes: number;
1147
1147
  oversized: boolean;
1148
+ /** Distinct NEW concepts counted against the ZPD budget at flush time —
1149
+ * product sessions legitimately restate already-taught concepts, so the
1150
+ * load that matters is what is unseen, not the concept_codes union. */
1151
+ cognitiveNew: number;
1148
1152
  }
1149
1153
  /**
1150
1154
  * Coalesce eligibility (2026-09-18 regen4 audit): a merge must never break
@@ -1181,7 +1185,7 @@ declare function computeConceptSpiralProgression(sessions: Array<{
1181
1185
  * - NO_ZPD_BRIDGE: Session index > 0 with >1 new concepts and 0 known concepts from prior sessions
1182
1186
  * Self-healing: If NO_ZPD_BRIDGE, injects a recap anchor into prerequisite decisions.
1183
1187
  */
1184
- declare function checkSessionZpd(sessionIndex: number, nodeIds: string[], nodeById: Map<string, PlanningNode>, allSeenConcepts: Set<string>, allSeenKeywords: Set<string>, entryKw: Set<string>, warnings: string[]): {
1188
+ declare function checkSessionZpd(sessionIndex: number, nodeIds: string[], nodeById: Map<string, PlanningNode>, allSeenConcepts: Set<string>, allSeenKeywords: Set<string>, entryKw: Set<string>, warnings: string[], conceptPrereqMap?: Map<string, string[]>): {
1185
1189
  status: SessionZpdStatus;
1186
1190
  bridgeRepair?: {
1187
1191
  node_id: string;
package/dist/index.d.ts CHANGED
@@ -1145,6 +1145,10 @@ interface PackedSession {
1145
1145
  knowledgeMinutes: number;
1146
1146
  practiceMinutes: number;
1147
1147
  oversized: boolean;
1148
+ /** Distinct NEW concepts counted against the ZPD budget at flush time —
1149
+ * product sessions legitimately restate already-taught concepts, so the
1150
+ * load that matters is what is unseen, not the concept_codes union. */
1151
+ cognitiveNew: number;
1148
1152
  }
1149
1153
  /**
1150
1154
  * Coalesce eligibility (2026-09-18 regen4 audit): a merge must never break
@@ -1181,7 +1185,7 @@ declare function computeConceptSpiralProgression(sessions: Array<{
1181
1185
  * - NO_ZPD_BRIDGE: Session index > 0 with >1 new concepts and 0 known concepts from prior sessions
1182
1186
  * Self-healing: If NO_ZPD_BRIDGE, injects a recap anchor into prerequisite decisions.
1183
1187
  */
1184
- declare function checkSessionZpd(sessionIndex: number, nodeIds: string[], nodeById: Map<string, PlanningNode>, allSeenConcepts: Set<string>, allSeenKeywords: Set<string>, entryKw: Set<string>, warnings: string[]): {
1188
+ declare function checkSessionZpd(sessionIndex: number, nodeIds: string[], nodeById: Map<string, PlanningNode>, allSeenConcepts: Set<string>, allSeenKeywords: Set<string>, entryKw: Set<string>, warnings: string[], conceptPrereqMap?: Map<string, string[]>): {
1185
1189
  status: SessionZpdStatus;
1186
1190
  bridgeRepair?: {
1187
1191
  node_id: string;