@thanh01.pmt/domain-kit 0.6.0 → 0.6.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.
Files changed (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +10 -10
  3. package/dist/assembly/index.d.cts +3 -2
  4. package/dist/assembly/index.d.ts +3 -2
  5. package/dist/{chunk-2OGNQUXC.mjs → chunk-4UCXYRM3.mjs} +152 -303
  6. package/dist/chunk-4UCXYRM3.mjs.map +1 -0
  7. package/dist/chunk-7A2SG466.mjs +325 -0
  8. package/dist/chunk-7A2SG466.mjs.map +1 -0
  9. package/dist/{chunk-DRVOV5ZD.mjs → chunk-DSEJLTUO.mjs} +2 -2
  10. package/dist/chunk-DSEJLTUO.mjs.map +1 -0
  11. package/dist/{chunk-ERDTHXQA.mjs → chunk-H4W3YJLK.mjs} +10 -3
  12. package/dist/chunk-H4W3YJLK.mjs.map +1 -0
  13. package/dist/chunk-IBVXXVGE.mjs +14 -0
  14. package/dist/chunk-IBVXXVGE.mjs.map +1 -0
  15. package/dist/{chunk-5OMSYKQP.mjs → chunk-KHCZYLKM.mjs} +33 -18
  16. package/dist/chunk-KHCZYLKM.mjs.map +1 -0
  17. package/dist/{chunk-67GXK3ZE.mjs → chunk-WD3P5V3B.mjs} +3 -2
  18. package/dist/chunk-WD3P5V3B.mjs.map +1 -0
  19. package/dist/{conceptEscalator-DPrs4PwC.d.cts → conceptEscalator-BmMJD8C5.d.cts} +1 -1
  20. package/dist/{conceptEscalator-BCsw0ys_.d.ts → conceptEscalator-DMsehscs.d.ts} +1 -1
  21. package/dist/concepts/index.d.cts +4 -3
  22. package/dist/concepts/index.d.ts +4 -3
  23. package/dist/{cpp-CZUPqJt9.d.cts → cpp-vlDl6pCL.d.cts} +4 -4
  24. package/dist/{cpp-CZUPqJt9.d.ts → cpp-vlDl6pCL.d.ts} +4 -4
  25. package/dist/detector/index.cjs +1 -0
  26. package/dist/detector/index.cjs.map +1 -1
  27. package/dist/detector/index.d.cts +2 -2
  28. package/dist/detector/index.d.ts +2 -2
  29. package/dist/detector/index.mjs +1 -1
  30. package/dist/{domainProfileDetector-DHb1T0zB.d.ts → domainProfileDetector-6pjgL-6_.d.ts} +1 -1
  31. package/dist/{domainProfileDetector-bzugdQmS.d.cts → domainProfileDetector-BsADsuRV.d.cts} +1 -1
  32. package/dist/{domainProfileSchema-CwT3Ffsw.d.cts → domainProfileSchema-779FGk14.d.cts} +38 -1
  33. package/dist/{domainProfileSchema-CwT3Ffsw.d.ts → domainProfileSchema-779FGk14.d.ts} +38 -1
  34. package/dist/extractors/index.d.cts +3 -3
  35. package/dist/extractors/index.d.ts +3 -3
  36. package/dist/feed/index.d.cts +1 -1
  37. package/dist/feed/index.d.ts +1 -1
  38. package/dist/graph/index.cjs +235 -57
  39. package/dist/graph/index.cjs.map +1 -1
  40. package/dist/graph/index.d.cts +9 -6
  41. package/dist/graph/index.d.ts +9 -6
  42. package/dist/graph/index.mjs +3 -1
  43. package/dist/{hybridGraphPipeline-CocfYe4d.d.cts → hybridGraphPipeline-B4mamLim.d.cts} +1 -1
  44. package/dist/{hybridGraphPipeline-9dRKJj7r.d.ts → hybridGraphPipeline-D2_1GUva.d.ts} +1 -1
  45. package/dist/index.cjs +277 -68
  46. package/dist/index.cjs.map +1 -1
  47. package/dist/index.d.cts +9 -8
  48. package/dist/index.d.ts +9 -8
  49. package/dist/index.mjs +11 -9
  50. package/dist/{keywordExtractor-BxlGRMHC.d.cts → keywordExtractor-1YAFntsn.d.cts} +1 -1
  51. package/dist/{keywordExtractor-DU5XRN8-.d.ts → keywordExtractor-DWw8z_AF.d.ts} +1 -1
  52. package/dist/parsers/index.cjs.map +1 -1
  53. package/dist/parsers/index.d.cts +1 -1
  54. package/dist/parsers/index.d.ts +1 -1
  55. package/dist/parsers/index.mjs +1 -1
  56. package/dist/pipeline/index.cjs +261 -68
  57. package/dist/pipeline/index.cjs.map +1 -1
  58. package/dist/pipeline/index.d.cts +10 -9
  59. package/dist/pipeline/index.d.ts +10 -9
  60. package/dist/pipeline/index.mjs +8 -6
  61. package/dist/schemas/index.cjs +8 -0
  62. package/dist/schemas/index.cjs.map +1 -1
  63. package/dist/schemas/index.d.cts +2 -2
  64. package/dist/schemas/index.d.ts +2 -2
  65. package/dist/schemas/index.mjs +1 -1
  66. package/dist/utils/llmClient.cjs +344 -0
  67. package/dist/utils/llmClient.cjs.map +1 -0
  68. package/dist/utils/llmClient.d.cts +118 -0
  69. package/dist/utils/llmClient.d.ts +118 -0
  70. package/dist/utils/llmClient.mjs +4 -0
  71. package/dist/utils/llmClient.mjs.map +1 -0
  72. package/dist/utils/llmTransportResult.cjs +16 -0
  73. package/dist/utils/llmTransportResult.cjs.map +1 -0
  74. package/dist/utils/llmTransportResult.d.cts +36 -0
  75. package/dist/utils/llmTransportResult.d.ts +36 -0
  76. package/dist/utils/llmTransportResult.mjs +3 -0
  77. package/dist/utils/llmTransportResult.mjs.map +1 -0
  78. package/package.json +9 -10
  79. package/dist/chunk-2OGNQUXC.mjs.map +0 -1
  80. package/dist/chunk-5OMSYKQP.mjs.map +0 -1
  81. package/dist/chunk-67GXK3ZE.mjs.map +0 -1
  82. package/dist/chunk-DRVOV5ZD.mjs.map +0 -1
  83. package/dist/chunk-ERDTHXQA.mjs.map +0 -1
  84. package/dist/llmClient-CX5uUiQ1.d.cts +0 -60
  85. package/dist/llmClient-CX5uUiQ1.d.ts +0 -60
  86. package/dist/{curriculumFeedSchema-DYayelAA.d.ts → curriculumFeedSchema-DK-TUAJZ.d.cts} +8 -8
  87. package/dist/{curriculumFeedSchema-DYayelAA.d.cts → curriculumFeedSchema-DK-TUAJZ.d.ts} +8 -8
@@ -1,23 +1,24 @@
1
1
  import { u as ProjectGraph } from '../projectGraphSchema-DnD7orZV.cjs';
2
- import { K as Keyword } from '../keywordExtractor-BxlGRMHC.cjs';
3
- import { H as Hallucination, K as KnowledgeGraphPipelineOptions, f as KnowledgeGraphVerificationReport, j as HybridGraphPipelineOptions } from '../hybridGraphPipeline-CocfYe4d.cjs';
4
- import { C as ConceptMapping } from '../conceptEscalator-DPrs4PwC.cjs';
2
+ import { K as Keyword } from '../keywordExtractor-1YAFntsn.cjs';
3
+ import { H as Hallucination, K as KnowledgeGraphPipelineOptions, f as KnowledgeGraphVerificationReport, j as HybridGraphPipelineOptions } from '../hybridGraphPipeline-B4mamLim.cjs';
4
+ import { C as ConceptMapping } from '../conceptEscalator-BmMJD8C5.cjs';
5
5
  import { ResolveConceptsResult } from '../concepts/index.cjs';
6
6
  import { AssembledRoadmap } from '../assembly/index.cjs';
7
- import { L as LlmClientConfig, b as LlmCallRecord } from '../llmClient-CX5uUiQ1.cjs';
7
+ import { LlmClientConfig, LlmCallRecord } from '../utils/llmClient.cjs';
8
8
  import { P as ParsedSyllabus } from '../syllabusParser-MSX1fEzW.cjs';
9
9
  import { g as KnowledgeGraph, j as HybridGraph } from '../hybridGraphSchema-C37qxdTM.cjs';
10
- import { k as CurriculumFeed } from '../curriculumFeedSchema-DYayelAA.cjs';
11
- import { D as DetectDomainProfileOptions } from '../domainProfileDetector-bzugdQmS.cjs';
12
- import { c as DomainProfile, g as GraphType } from '../domainProfileSchema-CwT3Ffsw.cjs';
10
+ import { k as CurriculumFeed } from '../curriculumFeedSchema-DK-TUAJZ.cjs';
11
+ import { D as DetectDomainProfileOptions } from '../domainProfileDetector-BsADsuRV.cjs';
12
+ import { d as DomainProfile, h as GraphType } from '../domainProfileSchema-779FGk14.cjs';
13
13
  import 'zod';
14
- import '../cpp-CZUPqJt9.cjs';
14
+ import '../cpp-vlDl6pCL.cjs';
15
+ import '../utils/llmTransportResult.cjs';
15
16
 
16
17
  /**
17
18
  * Project Graph Pipeline — full orchestrator.
18
19
  *
19
20
  * Ported from knowledge-tree/generate_roadmap_v3.py PipelineOrchestrator
20
- * Coordinates: AST analysis → keyword extraction → LLM graph generation →
21
+ * Coordinates: regex-based scan → keyword extraction → LLM graph generation →
21
22
  * verification → concept escalation → concept resolution → assembly.
22
23
  */
23
24
 
@@ -1,23 +1,24 @@
1
1
  import { u as ProjectGraph } from '../projectGraphSchema-DnD7orZV.js';
2
- import { K as Keyword } from '../keywordExtractor-DU5XRN8-.js';
3
- import { H as Hallucination, K as KnowledgeGraphPipelineOptions, f as KnowledgeGraphVerificationReport, j as HybridGraphPipelineOptions } from '../hybridGraphPipeline-9dRKJj7r.js';
4
- import { C as ConceptMapping } from '../conceptEscalator-BCsw0ys_.js';
2
+ import { K as Keyword } from '../keywordExtractor-DWw8z_AF.js';
3
+ import { H as Hallucination, K as KnowledgeGraphPipelineOptions, f as KnowledgeGraphVerificationReport, j as HybridGraphPipelineOptions } from '../hybridGraphPipeline-D2_1GUva.js';
4
+ import { C as ConceptMapping } from '../conceptEscalator-DMsehscs.js';
5
5
  import { ResolveConceptsResult } from '../concepts/index.js';
6
6
  import { AssembledRoadmap } from '../assembly/index.js';
7
- import { L as LlmClientConfig, b as LlmCallRecord } from '../llmClient-CX5uUiQ1.js';
7
+ import { LlmClientConfig, LlmCallRecord } from '../utils/llmClient.js';
8
8
  import { P as ParsedSyllabus } from '../syllabusParser-MSX1fEzW.js';
9
9
  import { g as KnowledgeGraph, j as HybridGraph } from '../hybridGraphSchema-C37qxdTM.js';
10
- import { k as CurriculumFeed } from '../curriculumFeedSchema-DYayelAA.js';
11
- import { D as DetectDomainProfileOptions } from '../domainProfileDetector-DHb1T0zB.js';
12
- import { c as DomainProfile, g as GraphType } from '../domainProfileSchema-CwT3Ffsw.js';
10
+ import { k as CurriculumFeed } from '../curriculumFeedSchema-DK-TUAJZ.js';
11
+ import { D as DetectDomainProfileOptions } from '../domainProfileDetector-6pjgL-6_.js';
12
+ import { d as DomainProfile, h as GraphType } from '../domainProfileSchema-779FGk14.js';
13
13
  import 'zod';
14
- import '../cpp-CZUPqJt9.js';
14
+ import '../cpp-vlDl6pCL.js';
15
+ import '../utils/llmTransportResult.js';
15
16
 
16
17
  /**
17
18
  * Project Graph Pipeline — full orchestrator.
18
19
  *
19
20
  * Ported from knowledge-tree/generate_roadmap_v3.py PipelineOrchestrator
20
- * Coordinates: AST analysis → keyword extraction → LLM graph generation →
21
+ * Coordinates: regex-based scan → keyword extraction → LLM graph generation →
21
22
  * verification → concept escalation → concept resolution → assembly.
22
23
  */
23
24
 
@@ -1,13 +1,15 @@
1
- export { runDomainPipeline, runHybridGraphPipeline, runKnowledgeGraphPipeline, runProjectGraphPipeline } from '../chunk-5OMSYKQP.mjs';
1
+ export { runDomainPipeline, runHybridGraphPipeline, runKnowledgeGraphPipeline, runProjectGraphPipeline } from '../chunk-KHCZYLKM.mjs';
2
+ import '../chunk-KNDBODUQ.mjs';
3
+ import '../chunk-ONQHJ4OH.mjs';
2
4
  import '../chunk-WKTH3JPA.mjs';
3
5
  import '../chunk-CGNXGVHV.mjs';
4
- import '../chunk-DRVOV5ZD.mjs';
6
+ import '../chunk-DSEJLTUO.mjs';
5
7
  import '../chunk-XMHKWHVK.mjs';
6
- import '../chunk-67GXK3ZE.mjs';
7
- import '../chunk-2OGNQUXC.mjs';
8
+ import '../chunk-WD3P5V3B.mjs';
9
+ import '../chunk-4UCXYRM3.mjs';
10
+ import '../chunk-7A2SG466.mjs';
11
+ import '../chunk-IBVXXVGE.mjs';
8
12
  import '../chunk-T4Y2DE2W.mjs';
9
13
  import '../chunk-OYSZQVPY.mjs';
10
- import '../chunk-KNDBODUQ.mjs';
11
- import '../chunk-ONQHJ4OH.mjs';
12
14
  //# sourceMappingURL=index.mjs.map
13
15
  //# sourceMappingURL=index.mjs.map
@@ -553,6 +553,11 @@ var DetectionConfidenceSchema = zod.z.object({
553
553
  domainCategory: zod.z.number().min(0).max(1).optional().default(0.5),
554
554
  learningMode: zod.z.number().min(0).max(1).optional().default(0.5)
555
555
  });
556
+ var AmbiguousDomainSchema = zod.z.object({
557
+ domain1: DomainCategorySchema,
558
+ domain2: DomainCategorySchema,
559
+ reason: zod.z.string()
560
+ });
556
561
  var DomainProfileSchema = zod.z.object({
557
562
  // Detection results
558
563
  inputType: InputTypeSchema,
@@ -561,6 +566,8 @@ var DomainProfileSchema = zod.z.object({
561
566
  graphType: GraphTypeSchema,
562
567
  // Confidence scores
563
568
  confidence: DetectionConfidenceSchema.optional(),
569
+ // Ambiguity flag when detection is borderline or context-conflicted
570
+ ambiguous: AmbiguousDomainSchema.optional(),
564
571
  // Evidence for detection decisions
565
572
  evidence: zod.z.array(zod.z.string()).optional().default([]),
566
573
  // Detected metadata (optional, populated during detection)
@@ -749,6 +756,7 @@ function validateCurriculumFeed(feed) {
749
756
  return parsed;
750
757
  }
751
758
 
759
+ exports.AmbiguousDomainSchema = AmbiguousDomainSchema;
752
760
  exports.ArchEdgeSchema = ArchEdgeSchema;
753
761
  exports.ArchNodeSchema = ArchNodeSchema;
754
762
  exports.ArchitectureDetailSchema = ArchitectureDetailSchema;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schemas/projectGraphSchema.ts","../../src/schemas/knowledgeGraphSchema.ts","../../src/schemas/domainExtensions.ts","../../src/schemas/hybridGraphSchema.ts","../../src/schemas/domainProfileSchema.ts","../../src/schemas/curriculumFeedSchema.ts"],"names":["z"],"mappings":"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","file":"index.cjs","sourcesContent":["import { z } from 'zod';\n\n// ─── Step (trong Feature) ────────────────────────────────────────────────────\nexport const StepEffortSchema = z.object({\n estimated_minutes: z.number().optional(),\n complexity: z.enum(['low', 'medium', 'high']).optional(),\n concepts_count: z.number().optional(),\n files_touched: z.number().optional(),\n});\n\nexport const StepOutcomeSchema = z.object({\n user_visible: z.string().optional(),\n technical: z.union([z.string(), z.array(z.string())]).optional(),\n});\n\nexport const StepSchema = z.object({\n id: z.string(),\n sequence: z.number(),\n name: z.string(),\n description: z.string().optional().default(''),\n files: z.array(z.string()).optional().default([]),\n api_usage: z.array(z.string()).optional().default([]),\n keywords: z.array(z.string()).optional().default([]),\n completion_level: z.enum(['base', 'mvp', 'extend', 'polish']).optional().default('mvp'),\n platform: z.string().optional().default('app'),\n intent: z.string().optional().default(''),\n outcome: StepOutcomeSchema.optional(),\n acceptance: z.array(z.string()).optional().default([]),\n effort: StepEffortSchema.optional(),\n requirement_ids: z.array(z.string()).optional().default([]),\n concept_codes: z.array(z.string()).optional().default([]),\n});\nexport type Step = z.infer<typeof StepSchema>;\n\n// ─── Feature ─────────────────────────────────────────────────────────────────\nexport const FeatureSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().default(''),\n purpose: z.string().optional().default(''),\n priority: z.enum(['core', 'supporting', 'polish']).optional().default('core'),\n status: z.enum(['PLANNED', 'IMPLEMENTED', 'IN_PROGRESS']).optional().default('PLANNED'),\n platform: z.string().optional().default('app'),\n requirement_ids: z.array(z.string()).optional().default([]),\n journey_ids: z.array(z.string()).optional().default([]),\n depends_on: z.array(z.string()).optional().default([]),\n api_usage: z.array(z.string()).optional().default([]),\n steps: z.array(StepSchema).optional().default([]),\n});\nexport type Feature = z.infer<typeof FeatureSchema>;\n\n// ─── Journey ─────────────────────────────────────────────────────────────────\nexport const JourneyStepSchema = z.object({\n id: z.string(),\n name: z.string(),\n steps: z.array(z.string()).optional().default([]),\n requirement_ids: z.array(z.string()).optional().default([]),\n});\n\nexport const JourneySchema = z.object({\n id: z.string(),\n name: z.string(),\n steps: z.array(z.string()).optional().default([]),\n feature_ids: z.array(z.string()).optional().default([]),\n requirement_ids: z.array(z.string()).optional().default([]),\n});\n\n// ─── Requirement ─────────────────────────────────────────────────────────────\nexport const RequirementSchema = z.object({\n id: z.string(),\n statement: z.string(),\n priority: z.enum(['core', 'supporting', 'polish']).optional().default('core'),\n acceptance: z.array(z.string()).optional().default([]),\n completion_level: z.string().optional().default('base'),\n});\n\n// ─── Development Stage ───────────────────────────────────────────────────────\nexport const DevelopmentStageSchema = z.object({\n stage: z.string(),\n product_state: z.string().optional().default(''),\n need: z.array(z.string()).optional().default([]),\n learn: z.array(z.string()).optional().default([]),\n validation: z.string().optional().default(''),\n cross_feature_value: z.string().optional().default(''),\n temporary_approach: z.string().optional().default(''),\n});\n\n// ─── Product ─────────────────────────────────────────────────────────────────\nexport const ProductGoalSchema = z.object({\n id: z.string(),\n description: z.string(),\n});\n\nexport const ProductUserSchema = z.object({\n id: z.string(),\n goals: z.array(z.string()),\n});\n\nexport const ProductSchema = z.object({\n goals: z.array(ProductGoalSchema).optional().default([]),\n users: z.array(ProductUserSchema).optional().default([]),\n journeys: z.array(JourneySchema).optional().default([]),\n requirements: z.array(RequirementSchema).optional().default([]),\n development_stages: z.array(DevelopmentStageSchema).optional().default([]),\n purpose: z.string().optional().default(''),\n problem_statement: z.string().optional().default(''),\n primary_users: z.array(z.string()).optional().default([]),\n});\n\n// ─── Project ─────────────────────────────────────────────────────────────────\nexport const TechStackSchema = z.record(z.string(), z.array(z.string()));\n\nexport const ProjectInfoSchema = z.object({\n id: z.string(),\n name: z.string(),\n version: z.string().optional().default('0.1.0'),\n purpose: z.string().optional().default(''),\n project_type: z.string().optional().default('app'),\n platform: z.array(z.string()).optional().default([]),\n tech_stack: TechStackSchema.optional(),\n architecture: z.array(z.string()).optional().default([]),\n source: z.object({\n repository: z.string().optional().default(''),\n commit: z.string().optional().default(''),\n scan_dir: z.string().optional().default(''),\n }).optional(),\n});\n\n// ─── Capability ──────────────────────────────────────────────────────────────\nexport const CapabilitySchema = z.object({\n id: z.string(),\n feature_id: z.string(),\n purpose: z.string().optional().default(''),\n depends_on: z.array(z.string()).optional().default([]),\n produces: z.array(z.string()).optional().default([]),\n});\n\n// ─── Architecture ────────────────────────────────────────────────────────────\nexport const ArchNodeSchema = z.object({\n id: z.string(),\n type: z.string().optional().default('component'),\n custom_type: z.string().optional(),\n layer: z.string().optional().default('presentation'),\n responsibility: z.string().optional().default(''),\n depends_on: z.array(z.string()).optional().default([]),\n used_by: z.array(z.string()).optional().default([]),\n evidence_type: z.string().optional().default('INFERRED'),\n confidence: z.number().optional().default(0.5),\n});\n\nexport const ArchEdgeSchema = z.object({\n from: z.string(),\n to: z.string(),\n type: z.string().optional().default('USES'),\n});\n\nexport const ArchitectureDetailSchema = z.object({\n pattern: z.array(z.string()).optional().default([]),\n confidence: z.number().optional().default(0.5),\n evidence: z.array(z.string()).optional().default([]),\n nodes: z.array(ArchNodeSchema).optional().default([]),\n edges: z.array(ArchEdgeSchema).optional().default([]),\n});\n\n// ─── Experience ──────────────────────────────────────────────────────────────\nexport const ScreenSchema = z.object({\n id: z.string(),\n name: z.string().optional().default(''),\n purpose: z.string().optional().default(''),\n entry_point: z.boolean().optional().default(false),\n components: z.array(z.string()).optional().default([]),\n states: z.array(z.string()).optional().default([]),\n navigates_to: z.array(z.string()).optional().default([]),\n keywords: z.array(z.string()).optional().default([]),\n});\n\nexport const ExperienceComponentSchema = z.object({\n id: z.string(),\n type: z.string().optional().default('component'),\n purpose: z.string().optional().default(''),\n inputs: z.array(z.string()).optional().default([]),\n outputs: z.array(z.string()).optional().default([]),\n state: z.array(z.string()).optional().default([]),\n});\n\nexport const UiStateSchema = z.object({\n id: z.string(),\n owner: z.string().optional().default(''),\n triggered_by: z.array(z.string()).optional().default([]),\n transitions_to: z.array(z.string()).optional().default([]),\n});\n\nexport const NavigationSchema = z.object({\n from: z.string(),\n to: z.string(),\n trigger: z.string().optional().default(''),\n presentation: z.string().optional().default('push'),\n});\n\nexport const ExperienceSchema = z.object({\n screens: z.array(ScreenSchema).optional().default([]),\n components: z.array(ExperienceComponentSchema).optional().default([]),\n ui_states: z.array(UiStateSchema).optional().default([]),\n navigation: z.array(NavigationSchema).optional().default([]),\n});\n\n// ─── Data Integration ────────────────────────────────────────────────────────\nexport const DataIntegrationSchema = z.object({\n data_flows: z.array(z.any()).optional().default([]),\n models: z.array(z.any()).optional().default([]),\n integrations: z.array(z.any()).optional().default([]),\n persistence: z.array(z.any()).optional().default([]),\n});\n\n// ─── Implementation ──────────────────────────────────────────────────────────\nexport const TaskEffortSchema = z.object({\n concepts_count: z.number().optional().default(0),\n files_touched: z.number().optional().default(0),\n estimated_minutes: z.number().optional().default(0),\n});\n\nexport const TaskOutcomeSchema = z.object({\n user_visible: z.string().optional().default(''),\n technical: z.array(z.string()).optional().default([]),\n});\n\nexport const TaskSchema = z.object({\n id: z.string(),\n capability_id: z.string().optional().default(''),\n action: z.string(),\n modifies: z.array(z.string()).optional().default([]),\n creates: z.array(z.string()).optional().default([]),\n depends_on: z.array(z.string()).optional().default([]),\n acceptance: z.array(z.string()).optional().default([]),\n intent: z.string().optional().default(''),\n outcome: TaskOutcomeSchema.optional(),\n source_evidence: z.array(z.string()).optional().default([]),\n keywords: z.array(z.string()).optional().default([]),\n concurrency: z.array(z.string()).optional().default([]),\n effort: TaskEffortSchema.optional(),\n requirement_ids: z.array(z.string()).optional().default([]),\n});\n\nexport const ImplementationSchema = z.object({\n tasks: z.array(TaskSchema).optional().default([]),\n});\n\n// ─── Missing Gap & Tech Debt ─────────────────────────────────────────────────\nexport const MissingGapSchema = z.object({\n gap: z.string(),\n location: z.string().optional().default(''),\n suggested_lo: z.string().optional().default(''),\n});\n\nexport const TechDebtSchema = z.object({\n issue: z.string(),\n location: z.string().optional().default(''),\n severity: z.enum(['low', 'medium', 'high']).optional().default('medium'),\n});\n\n// ─── Decomposition ───────────────────────────────────────────────────────────\nexport const MilestoneDecompositionSchema = z.object({\n id: z.string(),\n phase: z.string().optional().default(''),\n name: z.string().optional().default(''),\n goal: z.string().optional().default(''),\n feature_ids: z.array(z.string()).optional().default([]),\n});\n\nexport const DecompositionSchema = z.object({\n milestones: z.array(MilestoneDecompositionSchema).optional().default([]),\n});\n\n// ─── Project Graph (Root) ────────────────────────────────────────────────────\nexport const ProjectGraphSchema = z.object({\n schema_version: z.literal(3).optional().default(3),\n project: ProjectInfoSchema,\n product: ProductSchema,\n features: z.array(FeatureSchema).optional().default([]),\n capabilities: z.array(CapabilitySchema).optional().default([]),\n architecture_detail: ArchitectureDetailSchema.optional(),\n experience: ExperienceSchema.optional(),\n data_integration: DataIntegrationSchema.optional(),\n implementation: ImplementationSchema,\n decomposition: DecompositionSchema.optional(),\n missing_gaps: z.array(MissingGapSchema).optional().default([]),\n tech_debt: z.array(TechDebtSchema).optional().default([]),\n});\n\nexport type ProjectGraph = z.infer<typeof ProjectGraphSchema>;\nexport type Product = z.infer<typeof ProductSchema>;\nexport type Capability = z.infer<typeof CapabilitySchema>;\nexport type ArchitectureDetail = z.infer<typeof ArchitectureDetailSchema>;\nexport type Experience = z.infer<typeof ExperienceSchema>;\nexport type DataIntegration = z.infer<typeof DataIntegrationSchema>;\nexport type Implementation = z.infer<typeof ImplementationSchema>;\nexport type Decomposition = z.infer<typeof DecompositionSchema>;\n","/**\n * Knowledge Graph Schema — for concept-driven learning domains\n * (Math, Science, Language, Arts, Research)\n *\n * Unlike ProjectGraph (product decomposition), KnowledgeGraph represents\n * concept decomposition with ULO/CIO/SIO levels and prerequisite chains.\n */\n\nimport { z } from 'zod';\n\n// ─── Problem Type ────────────────────────────────────────────────────────────\nexport const ProblemTypeSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().default(''),\n bloom_level: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create']).optional().default('Understand'),\n difficulty: z.enum(['easy', 'medium', 'hard']).optional().default('medium'),\n estimated_minutes: z.number().optional().default(10),\n examples: z.array(z.string()).optional().default([]),\n common_mistakes: z.array(z.string()).optional().default([]),\n});\nexport type ProblemType = z.infer<typeof ProblemTypeSchema>;\n\n// ─── Concept ─────────────────────────────────────────────────────────────────\nexport const ConceptSchema = z.object({\n id: z.string(),\n // Production-standard neutral code (UPPER_SNAKE_CASE, Naming Conventions v2.2).\n // After STEP_2_5 standardization this is either a knowledge-tree code\n // (standardized) or a provisional proposed code (tracked in the proposals\n // artifact for later merge).\n code: z.string().regex(/^[A-Z][A-Z0-9_]*$/).optional(),\n // Knowledge-tree provenance (STEP_2_5): standardized | proposed_new | unset\n standardization: z.enum(['standardized', 'proposed_new']).optional(),\n tree_code: z.string().optional().describe('Exact knowledge-tree CONCEPT code when standardization=standardized'),\n tree_prerequisites: z.array(z.string()).optional().default([]).describe('Knowledge-tree prerequisite concept codes (seed for prereq edges)'),\n name: z.string(),\n description: z.string().optional().default(''),\n category: z.string().optional().default(''),\n\n // ULO/CIO/SIO — technology-independent knowledge levels.\n // Text fields use the production clause \"The learner will be able to ...\".\n ulo: z.string().optional().default('').describe('WHAT + WHY: What is this concept? Why does it exist? What problem does it solve?'),\n ulo_code: z.string().optional().describe('ULO-[CONCEPT]-NN per Naming Conventions v2.2'),\n cio: z.string().optional().default('').describe('HOW: How does it solve the problem? What is the mechanism?'),\n cio_code: z.string().optional().describe('CIO-[CONCEPT]-NN-ACTION per Naming Conventions v2.2'),\n sio: z.array(z.string()).optional().default([]).describe('IMPLEMENTATION: Specific implementations in concrete technologies'),\n sio_codes: z.array(z.string()).optional().describe('SIO-[TECH]-[CONCEPT]-NN, one per sio item'),\n\n // Prerequisites and timing\n prerequisites: z.array(z.string()).optional().default([]).describe('Concept IDs that must be learned first'),\n estimated_minutes: z.number().optional().default(30),\n\n // Problem types associated with this concept\n problem_types: z.array(ProblemTypeSchema).optional().default([]),\n\n // Supporting materials\n techniques: z.array(z.string()).optional().default([]).describe('Methods, formulas, tools, procedures'),\n materials: z.array(z.string()).optional().default([]).describe('Physical materials needed (lab equipment, instruments)'),\n visual_aids: z.array(z.string()).optional().default([]).describe('Diagrams, images, animations needed'),\n common_mistakes: z.array(z.string()).optional().default([]).describe('Frequently confused ideas or errors'),\n\n // Metadata\n keywords: z.array(z.string()).optional().default([]).describe('Technology-specific keywords (SIO level)'),\n tech_stack: z.array(z.string()).optional().default([]).describe('Specific technologies if applicable'),\n});\nexport type Concept = z.infer<typeof ConceptSchema>;\n\n// ─── Category ────────────────────────────────────────────────────────────────\nexport const ConceptCategorySchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().default(''),\n concept_ids: z.array(z.string()).optional().default([]),\n order: z.number().optional().default(0).describe('Teaching order within the subject'),\n});\nexport type ConceptCategory = z.infer<typeof ConceptCategorySchema>;\n\n// ─── Subject ─────────────────────────────────────────────────────────────────\nexport const SubjectInfoSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().default(''),\n domain: z.enum(['math', 'science', 'language', 'arts', 'research', 'business', 'other']).optional().default('other'),\n grade_band: z.tuple([z.number().int(), z.number().int()]).optional(),\n estimated_hours: z.number().optional().default(0),\n estimated_weeks: z.number().optional().default(0),\n syllabus_ref: z.string().optional().default('').describe('Reference to original syllabus/curriculum'),\n});\nexport type SubjectInfo = z.infer<typeof SubjectInfoSchema>;\n\n// ─── Learning Path ───────────────────────────────────────────────────────────\nexport const LearningPathStepSchema = z.object({\n concept_id: z.string(),\n order: z.number(),\n depends_on: z.array(z.string()).optional().default([]),\n milestone_name: z.string().optional().default(''),\n});\nexport type LearningPathStep = z.infer<typeof LearningPathStepSchema>;\n\n// ─── Knowledge Graph (Root) ──────────────────────────────────────────────────\nexport const KnowledgeGraphSchema = z.object({\n schema_version: z.literal(1).optional().default(1),\n type: z.literal('knowledge_graph').optional().default('knowledge_graph'),\n subject: SubjectInfoSchema,\n concepts: z.array(ConceptSchema).optional().default([]),\n categories: z.array(ConceptCategorySchema).optional().default([]),\n learning_path: z.array(LearningPathStepSchema).optional().default([]).describe('Recommended teaching order'),\n});\nexport type KnowledgeGraph = z.infer<typeof KnowledgeGraphSchema>;\n","/**\n * Domain-specific extensions for ProjectGraph and KnowledgeGraph.\n * These are overlay schemas that add domain-specific fields to the base graphs.\n */\n\nimport { z } from 'zod';\n\n// ─── Hardware/IoT Extension (Product-Driven) ─────────────────────────────────\n\nexport const WiringSchema = z.object({\n component: z.string(),\n pin: z.string(),\n connection: z.string(),\n wire_color: z.string().optional(),\n notes: z.string().optional(),\n});\n\nexport const HardwareStepSchema = z.object({\n action: z.string(),\n tool: z.string().optional(),\n safety_note: z.string().optional(),\n estimated_minutes: z.number().optional(),\n});\n\nexport const HardwareFeatureExtensionSchema = z.object({\n wiring: z.array(WiringSchema).optional().default([]),\n components_used: z.array(z.string()).optional().default([]),\n circuit_diagram_ref: z.string().optional(),\n});\n\nexport const HardwareTaskExtensionSchema = z.object({\n techniques: z.array(z.string()).optional().default([]).describe('soldering, breadboarding, debugging'),\n hardware_steps: z.array(HardwareStepSchema).optional().default([]),\n safety_notes: z.array(z.string()).optional().default([]),\n multimeter_readings: z.boolean().optional().default(false),\n});\n\nexport const HardwareTechStackExtensionSchema = z.object({\n materials: z.array(z.string()).optional().default([]).describe('Physical components: Arduino Uno, LED, Servo'),\n tools: z.array(z.string()).optional().default([]).describe('Arduino IDE, USB cable, Multimeter'),\n protocols: z.array(z.string()).optional().default([]).describe('I2C, PWM, SPI, UART'),\n pin_config: z.record(z.string(), z.string()).optional().default({}).describe('Pin assignments'),\n power_requirements: z.string().optional(),\n});\n\n// ─── 3D Design Extension (Product-Driven) ─────────────────────────────────────\n\nexport const ShapeSchema = z.object({\n id: z.string(),\n type: z.string().describe('Box, Cylinder, Sphere, Roof, Torus, Hole, etc.'),\n dimensions: z.string().describe('e.g. \"200x150x5mm\"'),\n position: z.string().describe('e.g. \"0,0,0\"'),\n color: z.string().optional(),\n rotation: z.string().optional(),\n});\n\nexport const ThreeDesignFeatureExtensionSchema = z.object({\n shapes: z.array(ShapeSchema).optional().default([]),\n assembly_order: z.array(z.string()).optional().default([]).describe('Shape IDs in assembly order'),\n group_operations: z.array(z.string()).optional().default([]).describe('Group/hole operations'),\n});\n\nexport const ThreeDesignTaskExtensionSchema = z.object({\n operations: z.array(z.string()).optional().default([]).describe('create, resize, position, group, align, hole'),\n dimensions: z.record(z.string(), z.string()).optional().default({}),\n shape_type: z.string().optional(),\n constraints: z.array(z.string()).optional().default([]),\n});\n\nexport const ThreeDesignTechStackExtensionSchema = z.object({\n design_software: z.string().optional().describe('Tinkercad, Fusion360, Blender'),\n units: z.string().optional().default('mm'),\n canvas_size: z.string().optional(),\n export_formats: z.array(z.string()).optional().default([]).describe('STL, OBJ, STEP'),\n});\n\n// ─── Math Extension (Concept-Driven) ──────────────────────────────────────────\n\nexport const MathTheoremSchema = z.object({\n name: z.string(),\n statement: z.string(),\n proof_outline: z.string().optional(),\n converse_statement: z.string().optional(),\n});\n\nexport const MathConceptExtensionSchema = z.object({\n formulas: z.array(z.string()).optional().default([]).describe('Mathematical formulas, e.g. a^2 + b^2 = c^2'),\n theorems: z.array(MathTheoremSchema).optional().default([]),\n constructions: z.array(z.string()).optional().default([]).describe('Compass and ruler constructions, auxiliary lines'),\n visual_aids: z.array(z.string()).optional().default([]).describe('Geometric figures, function graphs'),\n common_mistakes: z.array(z.string()).optional().default([]).describe('False intuitions or algebraic traps'),\n});\nexport type MathConceptExtension = z.infer<typeof MathConceptExtensionSchema>;\n\n// ─── Science Extension (Concept-Driven) ───────────────────────────────────────\n\nexport const ExperimentProcedureSchema = z.object({\n name: z.string(),\n apparatus: z.array(z.string()).optional().default([]),\n steps: z.array(z.string()).optional().default([]),\n safety_warnings: z.array(z.string()).optional().default([]),\n expected_observation: z.string().optional(),\n});\n\nexport const ScienceConceptExtensionSchema = z.object({\n experiments: z.array(ExperimentProcedureSchema).optional().default([]),\n instruments: z.array(z.string()).optional().default([]).describe('Lab equipment: microscope, beaker, sensor'),\n variables: z.object({\n independent: z.string().optional(),\n dependent: z.string().optional(),\n controlled: z.array(z.string()).optional().default([]),\n }).optional(),\n hypotheses: z.array(z.string()).optional().default([]),\n laws_and_theories: z.array(z.string()).optional().default([]),\n});\nexport type ScienceConceptExtension = z.infer<typeof ScienceConceptExtensionSchema>;\n\n// ─── Language & Humanities Extension (Concept-Driven) ─────────────────────────\n\nexport const GrammarRuleSchema = z.object({\n rule_name: z.string(),\n pattern: z.string(),\n example_correct: z.string(),\n example_incorrect: z.string().optional(),\n exceptions: z.array(z.string()).optional().default([]),\n});\n\nexport const LanguageConceptExtensionSchema = z.object({\n reading_genres: z.array(z.string()).optional().default([]).describe('argumentative, narrative, expository'),\n grammar_rules: z.array(GrammarRuleSchema).optional().default([]),\n writing_tasks: z.array(z.string()).optional().default([]),\n lexicon_keywords: z.array(z.string()).optional().default([]),\n rhetorical_devices: z.array(z.string()).optional().default([]),\n});\nexport type LanguageConceptExtension = z.infer<typeof LanguageConceptExtensionSchema>;\n","/**\n * Hybrid Graph Schema — for projects that combine product-driven and concept-driven learning.\n *\n * Example: \"Build an Arduino robot but need to understand electronics theory first\"\n * Links project_graph (what to build) with knowledge_graph (what to understand).\n */\n\nimport { z } from 'zod';\nimport { ProjectGraphSchema } from './projectGraphSchema';\nimport { KnowledgeGraphSchema } from './knowledgeGraphSchema';\n\n// ─── Link between Project and Knowledge ──────────────────────────────────────\nexport const ProjectConceptLinkSchema = z.object({\n feature_id: z.string().describe('Feature ID from project_graph'),\n concept_id: z.string().describe('Concept ID from knowledge_graph'),\n relationship: z.enum([\n 'requires', // Feature requires understanding this concept\n 'demonstrates', // Feature demonstrates this concept in practice\n 'applies', // Feature applies this concept\n 'extends', // Feature extends this concept to new context\n ]).optional().default('requires'),\n depth: z.enum([\n 'ulo', // Feature only needs WHAT+WHY understanding\n 'cio', // Feature needs HOW understanding\n 'sio', // Feature needs specific implementation knowledge\n ]).optional().default('cio'),\n description: z.string().optional().default(''),\n estimated_prereq_minutes: z.number().optional().default(0).describe('How many minutes of concept learning before this feature'),\n phase_id: z.string().optional().default('').describe('Development phase this link belongs to'),\n});\n\n// ─── Development Phase (progressive completion) ──────────────────────────────\nexport const ConceptIntroductionSchema = z.object({\n concept_id: z.string().describe('Concept ID from knowledge_graph'),\n aspect: z.enum(['new', 'advanced', 'preview']).default('new').describe(\n \"new = concept introduced for the first time; advanced = previously introduced concept revisited at higher depth; preview = light ULO awareness pass ('know it exists') placed at the consuming phase BEFORE the full introduction — the anchor phase still owns the full 'new' teach\"\n ),\n note: z.string().optional().default('').describe('Which advanced aspect of the concept this phase develops'),\n});\n\nexport const DevelopmentPhaseSchema = z.object({\n id: z.string().describe('Phase id, e.g. PH1'),\n order: z.number().int().positive().describe('1-based phase execution order'),\n name: z.string().min(1).describe('Short phase name'),\n product_completion: z.string().min(1).describe(\n 'What the product can demonstrably DO once this phase is complete (completion level description)'\n ),\n feature_ids: z.array(z.string()).default([]).describe('Every feature built during this phase (each feature in EXACTLY one phase)'),\n introduces: z.array(ConceptIntroductionSchema).default([]).describe(\n 'Concepts introduced (new) or revisited at advanced depth (advanced) at the start of this phase'\n ),\n});\n\n// ─── Hybrid Graph (Root) ─────────────────────────────────────────────────────\nexport const HybridGraphSchema = z.object({\n schema_version: z.literal(1).optional().default(1),\n type: z.literal('hybrid_graph').optional().default('hybrid_graph'),\n\n // Product decomposition (what to build)\n project_graph: ProjectGraphSchema,\n\n // Concept decomposition (what to understand)\n knowledge_graph: KnowledgeGraphSchema,\n\n // Links between features and concepts\n links: z.array(ProjectConceptLinkSchema).optional().default([]),\n\n // Progressive completion phases (cross-feature decomposition). Empty for\n // pre-phase legacy graphs — emitters fall back to feature ordering.\n phases: z.array(DevelopmentPhaseSchema).optional().default([]),\n\n // Metadata\n description: z.string().optional().default(''),\n // ── Minute totals (HG-1, 2026-10-05) ────────────────────────────────────\n // These three used to sit side by side with near-identical names and NO\n // documentation. Two measured DIFFERENT quantities, which is why the field\n // below was renamed: it does not measure \"the total\". Read before trusting\n // any of them.\n /** Minutes of PRODUCT work: sum over every feature step. */\n total_project_minutes: z.number().optional().default(0),\n /** Minutes of CONCEPT work: sum over EVERY concept in the graph. */\n total_concept_minutes: z.number().optional().default(0),\n /**\n * Renamed from `estimated_total_minutes` (2026-10-05) — the old name read\n * like \"the course total\" but the number is narrower:\n * total_project_minutes + (minutes of concepts that HAVE a feature link)\n * unlinked concepts are deliberately excluded, and per concept the MAXIMUM\n * link estimate wins, not the sum. Expect this to sit well BELOW\n * total_project_minutes + total_concept_minutes.\n *\n * The figure the phase planner actually commits to is\n * total_project_minutes + total_concept_minutes (see decomposePhases).\n */\n linked_prereq_minutes: z.number().optional().default(0),\n});\nexport type HybridGraph = z.infer<typeof HybridGraphSchema>;\nexport type ProjectConceptLink = z.infer<typeof ProjectConceptLinkSchema>;\nexport type DevelopmentPhase = z.infer<typeof DevelopmentPhaseSchema>;\nexport type ConceptIntroduction = z.infer<typeof ConceptIntroductionSchema>;\n","/**\n * Domain Profile Schema — output of domain detection.\n *\n * Determines:\n * 1. Input type (repository, description, syllabus, files, mixed)\n * 2. Domain category (software, hardware, math, science, etc.)\n * 3. Learning mode (product, concept, hybrid)\n * 4. Which graph type and pipeline to use\n */\n\nimport { z } from 'zod';\n\n// ─── Input Type ──────────────────────────────────────────────────────────────\nexport const InputTypeSchema = z.enum([\n 'repository', // Source code repo (git URL or local dir)\n 'description', // Text description of subject/project\n 'syllabus', // Syllabus, curriculum framework, textbook outline\n 'files', // Non-code files (3D models, images, documents)\n 'mixed', // Combination of the above\n]);\n\n// ─── Domain Category ─────────────────────────────────────────────────────────\nexport const DomainCategorySchema = z.enum([\n 'software', // App, web, API, CLI, library\n 'hardware_iot', // Arduino, robotics, ESP32, Raspberry Pi\n '3d_design', // Tinkercad, Fusion360, Blender, CAD\n 'math', // Hình học, đại số, giải tích, xác suất\n 'science', // Lý, hóa, sinh, địa lý\n 'language', // Tiếng Việt, English, writing, grammar\n 'arts', // Âm nhạc, hội họa, thiết kế, nhiếp ảnh\n 'research', // Nghiên cứu, thống kê, phân tích dữ liệu\n 'business', // Kinh doanh, tài chính, quản lý\n 'other',\n]);\n\n// ─── Learning Mode ───────────────────────────────────────────────────────────\nexport const LearningModeSchema = z.enum([\n 'product', // Build a product (project-driven)\n 'concept', // Understand concepts (knowledge-driven)\n 'hybrid', // Both: build product while understanding concepts\n]);\n\n// ─── Graph Type ──────────────────────────────────────────────────────────────\nexport const GraphTypeSchema = z.enum([\n 'project_graph', // Product decomposition (software, hardware, 3d_design)\n 'knowledge_graph', // Concept decomposition (math, science, language, etc.)\n 'hybrid_graph', // Both linked together\n]);\n\n// ─── Confidence ──────────────────────────────────────────────────────────────\nexport const DetectionConfidenceSchema = z.object({\n inputType: z.number().min(0).max(1).optional().default(0.5),\n domainCategory: z.number().min(0).max(1).optional().default(0.5),\n learningMode: z.number().min(0).max(1).optional().default(0.5),\n});\n\n// ─── Domain Profile (Root) ───────────────────────────────────────────────────\nexport const DomainProfileSchema = z.object({\n // Detection results\n inputType: InputTypeSchema,\n domainCategory: DomainCategorySchema,\n learningMode: LearningModeSchema,\n graphType: GraphTypeSchema,\n\n // Confidence scores\n confidence: DetectionConfidenceSchema.optional(),\n\n // Evidence for detection decisions\n evidence: z.array(z.string()).optional().default([]),\n\n // Detected metadata (optional, populated during detection)\n detectedTechStack: z.array(z.string()).optional().default([]),\n detectedSubject: z.string().optional().default(''),\n detectedGradeBand: z.tuple([z.number().int(), z.number().int()]).optional(),\n detectedDomain: z.string().optional().default(''),\n\n // User-provided context (pass-through)\n goal: z.string().optional().default(''),\n description: z.string().optional().default(''),\n repoUrl: z.string().optional().default(''),\n repoDir: z.string().optional().default(''),\n syllabusText: z.string().optional().default(''),\n});\nexport type DomainProfile = z.infer<typeof DomainProfileSchema>;\nexport type InputType = z.infer<typeof InputTypeSchema>;\nexport type DomainCategory = z.infer<typeof DomainCategorySchema>;\nexport type LearningMode = z.infer<typeof LearningModeSchema>;\nexport type GraphType = z.infer<typeof GraphTypeSchema>;\n","import { z } from 'zod';\n\n/**\n * CurriculumFeed v2 — normalized, planner-ready projection of a domain graph.\n * Consumers: curriculum-kit Curriculum Planner (see docs/ideas/2026-08-30-curriculum-feed-v2-output.md).\n * Guarantees enforced here: cycle-free is the CALLER's verifier job; the feed\n * itself guarantees resolution (edges/keywords reference emitted nodes) and\n * non-emptiness.\n */\n\nexport const FeedKeywordsSchema = z.object({\n all: z.array(z.string()).default([]),\n new: z.array(z.string()).default([]),\n prerequisite: z.array(z.string()).default([]),\n});\n\nexport const FeedScaffoldCandidateSchema = z.object({\n item: z.string(),\n reason: z.string().default(''),\n minutes_saved: z.number().int().nonnegative().default(0),\n suggest: z.enum(['provide_full', 'provide_partial', 'provide_reference']).default('provide_full'),\n});\n\nexport const FeedNodeSchema = z.object({\n id: z.string().min(1),\n kind: z.enum(['skill', 'concept', 'product_step']),\n name: z.string().min(1),\n concept_codes: z.array(z.string()).default([]),\n keywords: FeedKeywordsSchema,\n estimated_minutes: z.number().int().nonnegative(),\n bloom_hint: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create']).nullable().default(null),\n depth_hint: z.enum(['ulo', 'cio', 'sio']).nullable().default(null),\n completion_level: z.enum(['mvp', 'standard', 'stretch']).default('standard'),\n scaffolding: z.object({\n scaffold_candidates: z.array(FeedScaffoldCandidateSchema).default([]),\n core_value_minutes: z.number().int().nonnegative().default(0),\n }).default({ scaffold_candidates: [], core_value_minutes: 0 }),\n references: z.array(z.object({ file: z.string().min(1), evidence: z.string().default('') })).default([]),\n feature_id: z.string().nullable().default(null),\n concept_ref: z.string().nullable().default(null),\n // P52/T2.1: outcome.user_visible projected from the ProjectGraph step — the\n // tangible checkpoint the session-cutting planner aims for (empty when the\n // step declares no user-visible result). Concepts carry '' by default.\n user_visible_deliverable: z.string().default(''),\n // P52/T3.1 — depth-reconcile inputs (optional/defaulted so old feeds\n // validate unchanged):\n // • depth_variants: minutes to teach this node at each depth level.\n // ULO (know-it-exists) ≤ CIO (mechanism) ≤ SIO (implementation). All 3\n // required so a downgrade never turns an anchor teach into a zero.\n // • depth_scaffold_candidates: parallel to scaffold_candidates but\n // acts on DEPTH (e.g. SIO→CIO) instead of lesson time.\n // • is_core: concept is a Master-Tree core concept — reconciler must\n // never downgrade it; escalate instead.\n depth_variants: z.object({ ulo: z.number().int().nonnegative(), cio: z.number().int().nonnegative(), sio: z.number().int().nonnegative() }).optional(),\n depth_scaffold_candidates: z.array(z.object({\n from_depth: z.enum(['ulo', 'cio', 'sio']),\n to_depth: z.enum(['ulo', 'cio', 'sio']),\n minutes_saved: z.number().int().nonnegative(),\n reason: z.string().default(''),\n })).optional(),\n is_core: z.boolean().default(false),\n /**\n * Prerequisite concept ids this node needs that NO node in this feed provides —\n * i.e. the learner must already know them before starting. Previously these were\n * silently dropped (knowledge path) or crashed emission (both hybrid paths), so a\n * course silently lost its entry requirements. Kept on the node so the mapping\n * \"concept X needs prior knowledge Y\" survives; a course-level roll-up is derivable.\n */\n external_prerequisites: z.array(z.string()).default([]),\n // Depth layer text (optional, additive — old feeds validate unchanged).\n // Carries the ULO/CIO/SIO authored text from the KnowledgeGraph concept\n // so downstream consumers (KX generator) can inject depth-appropriate\n // material into their prompts without a second LLM call.\n depth_context: z.object({\n ulo: z.string().default(''),\n cio: z.string().default(''),\n sio: z.array(z.string()).default([]),\n }).optional(),\n // Progressive-completion bookkeeping (feed v2, additive):\n // phase_id = development phase that introduces/uses this node;\n // introduce_aspect = how the phase teaches a concept node (first intro, advanced\n // revisit, or preview — a light ULO awareness pass that is NOT the introduction).\n phase_id: z.string().default(''),\n introduce_aspect: z.enum(['new', 'advanced', 'preview']).nullable().default(null),\n});\n\nexport const FeedEdgeSchema = z.object({\n from: z.string().min(1),\n to: z.string().min(1),\n kind: z.enum(['knowledge', 'task']),\n reason: z.string().default(''),\n});\n\nexport const FeedGroupingSchema = z.object({\n id: z.string().min(1),\n name: z.string().min(1),\n node_ids: z.array(z.string()).min(1),\n rationale: z.string().default(''),\n});\n\nexport const FeedPhaseSchema = z.object({\n id: z.string().min(1),\n order: z.number().int().positive(),\n name: z.string().min(1),\n product_completion: z.string().min(1),\n node_ids: z.array(z.string()).min(1),\n});\nexport type FeedPhase = z.infer<typeof FeedPhaseSchema>;\n\n/**\n * Machine-readable diagnostic. `warnings` in `source` is the DERIVED text view of\n * these (every diagnostic whose severity is not 'info'), so there is exactly one\n * source of truth and the host can gate on `code`/`severity` instead of substring\n * matching free text — the 2026-09-17 class of incident was a drift that was only\n * ever a warning string.\n */\nexport const FeedDiagnosticSchema = z.object({\n code: z.string().min(1),\n severity: z.enum(['info', 'warning', 'error']),\n message: z.string(),\n node_ids: z.array(z.string()).default([]),\n});\nexport type FeedDiagnostic = z.infer<typeof FeedDiagnosticSchema>;\n\n/** Which LLM providers actually served this graph, and whether any call fell over. */\nexport const FeedProvenanceSchema = z.object({\n providers: z.array(z.string()).default([]),\n models: z.array(z.string()).default([]),\n calls: z.number().int().nonnegative().default(0),\n failed_calls: z.number().int().nonnegative().default(0),\n degraded: z.boolean().default(false),\n});\nexport type FeedProvenance = z.infer<typeof FeedProvenanceSchema>;\n\nexport const CurriculumFeedSchema = z.object({\n schema_version: z.literal(2),\n source: z.object({\n graph_type: z.enum(['project_graph', 'knowledge_graph', 'hybrid_graph']),\n /** DERIVED from diagnostics — do not write to it directly. */\n warnings: z.array(z.string()).default([]),\n hallucination_count: z.number().int().nonnegative().default(0),\n diagnostics: z.array(FeedDiagnosticSchema).default([]),\n provenance: FeedProvenanceSchema.optional(),\n }),\n learning_nodes: z.array(FeedNodeSchema).min(1, 'curriculum feed must contain at least one learning node'),\n dependency_edges: z.array(FeedEdgeSchema).default([]),\n suggested_groupings: z.array(FeedGroupingSchema).default([]),\n // Progressive completion phases (cross-feature). When non-empty, these — not\n // suggested_groupings — define the teaching sequence and unit structure.\n phases: z.array(FeedPhaseSchema).default([]),\n});\n\nexport type CurriculumFeed = z.infer<typeof CurriculumFeedSchema>;\nexport type FeedNode = z.infer<typeof FeedNodeSchema>;\nexport type FeedEdge = z.infer<typeof FeedEdgeSchema>;\nexport type FeedGrouping = z.infer<typeof FeedGroupingSchema>;\n\n/** Strict pre-save resolution validation — fail-closed, no defaulted-empty graphs. */\nexport function validateCurriculumFeed(feed: unknown): CurriculumFeed {\n const parsed = CurriculumFeedSchema.parse(feed);\n const ids = new Set(parsed.learning_nodes.map((n) => n.id));\n if (ids.size !== parsed.learning_nodes.length) {\n throw new Error('curriculum feed contains duplicate node ids');\n }\n for (const e of parsed.dependency_edges) {\n if (!ids.has(e.from) || !ids.has(e.to)) {\n throw new Error('curriculum feed edge ' + e.from + ' -> ' + e.to + ' references unknown node');\n }\n if (e.from === e.to) throw new Error('curriculum feed self-loop edge on ' + e.from);\n }\n for (const g of parsed.suggested_groupings) {\n for (const id of g.node_ids) {\n if (!ids.has(id)) throw new Error('grouping ' + g.id + ' references unknown node ' + id);\n }\n }\n for (const ph of parsed.phases) {\n for (const id of ph.node_ids) {\n if (!ids.has(id)) throw new Error('phase ' + ph.id + ' references unknown node ' + id);\n }\n }\n const phaseIds = parsed.phases.map((p) => p.id);\n if (new Set(phaseIds).size !== phaseIds.length) throw new Error('curriculum feed contains duplicate phase ids');\n // `order` IS the teaching sequence once phases exist, so two phases claiming the\n // same slot makes that sequence undefined. Nothing downstream re-derives it.\n const phaseOrders = parsed.phases.map((p) => p.order);\n if (new Set(phaseOrders).size !== phaseOrders.length) {\n throw new Error('curriculum feed contains duplicate phase orders: ' + phaseOrders.join(', '));\n }\n // The array IS the teaching sequence, so orders must ascend in it. (Sorting a\n // copy first would make this check vacuous.)\n for (let i = 1; i < phaseOrders.length; i++) {\n if (phaseOrders[i] <= phaseOrders[i - 1]) {\n throw new Error('curriculum feed phase orders are not ascending: ' + phaseOrders.join(', '));\n }\n }\n // Teaching-order invariant (2026-09-17 incident): when phases define the\n // teaching sequence, a prerequisite must live in the same or an EARLIER\n // phase than its consumer. Without this check a self-contradictory feed\n // (backwards phase-crossing edge) sailed through emission and only exploded\n // much later inside the planner as \"Teaching-order violation in session ...\"\n // — far from the constructor that produced the contradiction.\n if (parsed.phases.length > 0) {\n const phaseIndexOf = new Map<string, number>();\n parsed.phases.forEach((p, i) => {\n for (const id of p.node_ids) phaseIndexOf.set(id, i);\n });\n for (const e of parsed.dependency_edges) {\n const fromIdx = phaseIndexOf.get(e.from);\n const toIdx = phaseIndexOf.get(e.to);\n if (fromIdx === undefined || toIdx === undefined) continue; // node outside the phase sequence\n if (fromIdx > toIdx) {\n throw new Error(\n 'curriculum feed teaching-order violation: prerequisite ' + e.from +\n ' (phase ' + (fromIdx + 1) + ') is scheduled AFTER its consumer ' + e.to +\n ' (phase ' + (toIdx + 1) + ')',\n );\n }\n }\n }\n return parsed;\n}\n"]}
1
+ {"version":3,"sources":["../../src/schemas/projectGraphSchema.ts","../../src/schemas/knowledgeGraphSchema.ts","../../src/schemas/domainExtensions.ts","../../src/schemas/hybridGraphSchema.ts","../../src/schemas/domainProfileSchema.ts","../../src/schemas/curriculumFeedSchema.ts"],"names":["z"],"mappings":"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","file":"index.cjs","sourcesContent":["import { z } from 'zod';\n\n// ─── Step (trong Feature) ────────────────────────────────────────────────────\nexport const StepEffortSchema = z.object({\n estimated_minutes: z.number().optional(),\n complexity: z.enum(['low', 'medium', 'high']).optional(),\n concepts_count: z.number().optional(),\n files_touched: z.number().optional(),\n});\n\nexport const StepOutcomeSchema = z.object({\n user_visible: z.string().optional(),\n technical: z.union([z.string(), z.array(z.string())]).optional(),\n});\n\nexport const StepSchema = z.object({\n id: z.string(),\n sequence: z.number(),\n name: z.string(),\n description: z.string().optional().default(''),\n files: z.array(z.string()).optional().default([]),\n api_usage: z.array(z.string()).optional().default([]),\n keywords: z.array(z.string()).optional().default([]),\n completion_level: z.enum(['base', 'mvp', 'extend', 'polish']).optional().default('mvp'),\n platform: z.string().optional().default('app'),\n intent: z.string().optional().default(''),\n outcome: StepOutcomeSchema.optional(),\n acceptance: z.array(z.string()).optional().default([]),\n effort: StepEffortSchema.optional(),\n requirement_ids: z.array(z.string()).optional().default([]),\n concept_codes: z.array(z.string()).optional().default([]),\n});\nexport type Step = z.infer<typeof StepSchema>;\n\n// ─── Feature ─────────────────────────────────────────────────────────────────\nexport const FeatureSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().default(''),\n purpose: z.string().optional().default(''),\n priority: z.enum(['core', 'supporting', 'polish']).optional().default('core'),\n status: z.enum(['PLANNED', 'IMPLEMENTED', 'IN_PROGRESS']).optional().default('PLANNED'),\n platform: z.string().optional().default('app'),\n requirement_ids: z.array(z.string()).optional().default([]),\n journey_ids: z.array(z.string()).optional().default([]),\n depends_on: z.array(z.string()).optional().default([]),\n api_usage: z.array(z.string()).optional().default([]),\n steps: z.array(StepSchema).optional().default([]),\n});\nexport type Feature = z.infer<typeof FeatureSchema>;\n\n// ─── Journey ─────────────────────────────────────────────────────────────────\nexport const JourneyStepSchema = z.object({\n id: z.string(),\n name: z.string(),\n steps: z.array(z.string()).optional().default([]),\n requirement_ids: z.array(z.string()).optional().default([]),\n});\n\nexport const JourneySchema = z.object({\n id: z.string(),\n name: z.string(),\n steps: z.array(z.string()).optional().default([]),\n feature_ids: z.array(z.string()).optional().default([]),\n requirement_ids: z.array(z.string()).optional().default([]),\n});\n\n// ─── Requirement ─────────────────────────────────────────────────────────────\nexport const RequirementSchema = z.object({\n id: z.string(),\n statement: z.string(),\n priority: z.enum(['core', 'supporting', 'polish']).optional().default('core'),\n acceptance: z.array(z.string()).optional().default([]),\n completion_level: z.string().optional().default('base'),\n});\n\n// ─── Development Stage ───────────────────────────────────────────────────────\nexport const DevelopmentStageSchema = z.object({\n stage: z.string(),\n product_state: z.string().optional().default(''),\n need: z.array(z.string()).optional().default([]),\n learn: z.array(z.string()).optional().default([]),\n validation: z.string().optional().default(''),\n cross_feature_value: z.string().optional().default(''),\n temporary_approach: z.string().optional().default(''),\n});\n\n// ─── Product ─────────────────────────────────────────────────────────────────\nexport const ProductGoalSchema = z.object({\n id: z.string(),\n description: z.string(),\n});\n\nexport const ProductUserSchema = z.object({\n id: z.string(),\n goals: z.array(z.string()),\n});\n\nexport const ProductSchema = z.object({\n goals: z.array(ProductGoalSchema).optional().default([]),\n users: z.array(ProductUserSchema).optional().default([]),\n journeys: z.array(JourneySchema).optional().default([]),\n requirements: z.array(RequirementSchema).optional().default([]),\n development_stages: z.array(DevelopmentStageSchema).optional().default([]),\n purpose: z.string().optional().default(''),\n problem_statement: z.string().optional().default(''),\n primary_users: z.array(z.string()).optional().default([]),\n});\n\n// ─── Project ─────────────────────────────────────────────────────────────────\nexport const TechStackSchema = z.record(z.string(), z.array(z.string()));\n\nexport const ProjectInfoSchema = z.object({\n id: z.string(),\n name: z.string(),\n version: z.string().optional().default('0.1.0'),\n purpose: z.string().optional().default(''),\n project_type: z.string().optional().default('app'),\n platform: z.array(z.string()).optional().default([]),\n tech_stack: TechStackSchema.optional(),\n architecture: z.array(z.string()).optional().default([]),\n source: z.object({\n repository: z.string().optional().default(''),\n commit: z.string().optional().default(''),\n scan_dir: z.string().optional().default(''),\n }).optional(),\n});\n\n// ─── Capability ──────────────────────────────────────────────────────────────\nexport const CapabilitySchema = z.object({\n id: z.string(),\n feature_id: z.string(),\n purpose: z.string().optional().default(''),\n depends_on: z.array(z.string()).optional().default([]),\n produces: z.array(z.string()).optional().default([]),\n});\n\n// ─── Architecture ────────────────────────────────────────────────────────────\nexport const ArchNodeSchema = z.object({\n id: z.string(),\n type: z.string().optional().default('component'),\n custom_type: z.string().optional(),\n layer: z.string().optional().default('presentation'),\n responsibility: z.string().optional().default(''),\n depends_on: z.array(z.string()).optional().default([]),\n used_by: z.array(z.string()).optional().default([]),\n evidence_type: z.string().optional().default('INFERRED'),\n confidence: z.number().optional().default(0.5),\n});\n\nexport const ArchEdgeSchema = z.object({\n from: z.string(),\n to: z.string(),\n type: z.string().optional().default('USES'),\n});\n\nexport const ArchitectureDetailSchema = z.object({\n pattern: z.array(z.string()).optional().default([]),\n confidence: z.number().optional().default(0.5),\n evidence: z.array(z.string()).optional().default([]),\n nodes: z.array(ArchNodeSchema).optional().default([]),\n edges: z.array(ArchEdgeSchema).optional().default([]),\n});\n\n// ─── Experience ──────────────────────────────────────────────────────────────\nexport const ScreenSchema = z.object({\n id: z.string(),\n name: z.string().optional().default(''),\n purpose: z.string().optional().default(''),\n entry_point: z.boolean().optional().default(false),\n components: z.array(z.string()).optional().default([]),\n states: z.array(z.string()).optional().default([]),\n navigates_to: z.array(z.string()).optional().default([]),\n keywords: z.array(z.string()).optional().default([]),\n});\n\nexport const ExperienceComponentSchema = z.object({\n id: z.string(),\n type: z.string().optional().default('component'),\n purpose: z.string().optional().default(''),\n inputs: z.array(z.string()).optional().default([]),\n outputs: z.array(z.string()).optional().default([]),\n state: z.array(z.string()).optional().default([]),\n});\n\nexport const UiStateSchema = z.object({\n id: z.string(),\n owner: z.string().optional().default(''),\n triggered_by: z.array(z.string()).optional().default([]),\n transitions_to: z.array(z.string()).optional().default([]),\n});\n\nexport const NavigationSchema = z.object({\n from: z.string(),\n to: z.string(),\n trigger: z.string().optional().default(''),\n presentation: z.string().optional().default('push'),\n});\n\nexport const ExperienceSchema = z.object({\n screens: z.array(ScreenSchema).optional().default([]),\n components: z.array(ExperienceComponentSchema).optional().default([]),\n ui_states: z.array(UiStateSchema).optional().default([]),\n navigation: z.array(NavigationSchema).optional().default([]),\n});\n\n// ─── Data Integration ────────────────────────────────────────────────────────\nexport const DataIntegrationSchema = z.object({\n data_flows: z.array(z.any()).optional().default([]),\n models: z.array(z.any()).optional().default([]),\n integrations: z.array(z.any()).optional().default([]),\n persistence: z.array(z.any()).optional().default([]),\n});\n\n// ─── Implementation ──────────────────────────────────────────────────────────\nexport const TaskEffortSchema = z.object({\n concepts_count: z.number().optional().default(0),\n files_touched: z.number().optional().default(0),\n estimated_minutes: z.number().optional().default(0),\n});\n\nexport const TaskOutcomeSchema = z.object({\n user_visible: z.string().optional().default(''),\n technical: z.array(z.string()).optional().default([]),\n});\n\nexport const TaskSchema = z.object({\n id: z.string(),\n capability_id: z.string().optional().default(''),\n action: z.string(),\n modifies: z.array(z.string()).optional().default([]),\n creates: z.array(z.string()).optional().default([]),\n depends_on: z.array(z.string()).optional().default([]),\n acceptance: z.array(z.string()).optional().default([]),\n intent: z.string().optional().default(''),\n outcome: TaskOutcomeSchema.optional(),\n source_evidence: z.array(z.string()).optional().default([]),\n keywords: z.array(z.string()).optional().default([]),\n concurrency: z.array(z.string()).optional().default([]),\n effort: TaskEffortSchema.optional(),\n requirement_ids: z.array(z.string()).optional().default([]),\n});\n\nexport const ImplementationSchema = z.object({\n tasks: z.array(TaskSchema).optional().default([]),\n});\n\n// ─── Missing Gap & Tech Debt ─────────────────────────────────────────────────\nexport const MissingGapSchema = z.object({\n gap: z.string(),\n location: z.string().optional().default(''),\n suggested_lo: z.string().optional().default(''),\n});\n\nexport const TechDebtSchema = z.object({\n issue: z.string(),\n location: z.string().optional().default(''),\n severity: z.enum(['low', 'medium', 'high']).optional().default('medium'),\n});\n\n// ─── Decomposition ───────────────────────────────────────────────────────────\nexport const MilestoneDecompositionSchema = z.object({\n id: z.string(),\n phase: z.string().optional().default(''),\n name: z.string().optional().default(''),\n goal: z.string().optional().default(''),\n feature_ids: z.array(z.string()).optional().default([]),\n});\n\nexport const DecompositionSchema = z.object({\n milestones: z.array(MilestoneDecompositionSchema).optional().default([]),\n});\n\n// ─── Project Graph (Root) ────────────────────────────────────────────────────\nexport const ProjectGraphSchema = z.object({\n schema_version: z.literal(3).optional().default(3),\n project: ProjectInfoSchema,\n product: ProductSchema,\n features: z.array(FeatureSchema).optional().default([]),\n capabilities: z.array(CapabilitySchema).optional().default([]),\n architecture_detail: ArchitectureDetailSchema.optional(),\n experience: ExperienceSchema.optional(),\n data_integration: DataIntegrationSchema.optional(),\n implementation: ImplementationSchema,\n decomposition: DecompositionSchema.optional(),\n missing_gaps: z.array(MissingGapSchema).optional().default([]),\n tech_debt: z.array(TechDebtSchema).optional().default([]),\n});\n\nexport type ProjectGraph = z.infer<typeof ProjectGraphSchema>;\nexport type Product = z.infer<typeof ProductSchema>;\nexport type Capability = z.infer<typeof CapabilitySchema>;\nexport type ArchitectureDetail = z.infer<typeof ArchitectureDetailSchema>;\nexport type Experience = z.infer<typeof ExperienceSchema>;\nexport type DataIntegration = z.infer<typeof DataIntegrationSchema>;\nexport type Implementation = z.infer<typeof ImplementationSchema>;\nexport type Decomposition = z.infer<typeof DecompositionSchema>;\n","/**\n * Knowledge Graph Schema — for concept-driven learning domains\n * (Math, Science, Language, Arts, Research)\n *\n * Unlike ProjectGraph (product decomposition), KnowledgeGraph represents\n * concept decomposition with ULO/CIO/SIO levels and prerequisite chains.\n */\n\nimport { z } from 'zod';\n\n// ─── Problem Type ────────────────────────────────────────────────────────────\nexport const ProblemTypeSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().default(''),\n bloom_level: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create']).optional().default('Understand'),\n difficulty: z.enum(['easy', 'medium', 'hard']).optional().default('medium'),\n estimated_minutes: z.number().optional().default(10),\n examples: z.array(z.string()).optional().default([]),\n common_mistakes: z.array(z.string()).optional().default([]),\n});\nexport type ProblemType = z.infer<typeof ProblemTypeSchema>;\n\n// ─── Concept ─────────────────────────────────────────────────────────────────\nexport const ConceptSchema = z.object({\n id: z.string(),\n // Production-standard neutral code (UPPER_SNAKE_CASE, Naming Conventions v2.2).\n // After STEP_2_5 standardization this is either a knowledge-tree code\n // (standardized) or a provisional proposed code (tracked in the proposals\n // artifact for later merge).\n code: z.string().regex(/^[A-Z][A-Z0-9_]*$/).optional(),\n // Knowledge-tree provenance (STEP_2_5): standardized | proposed_new | unset\n standardization: z.enum(['standardized', 'proposed_new']).optional(),\n tree_code: z.string().optional().describe('Exact knowledge-tree CONCEPT code when standardization=standardized'),\n tree_prerequisites: z.array(z.string()).optional().default([]).describe('Knowledge-tree prerequisite concept codes (seed for prereq edges)'),\n name: z.string(),\n description: z.string().optional().default(''),\n category: z.string().optional().default(''),\n\n // ULO/CIO/SIO — technology-independent knowledge levels.\n // Text fields use the production clause \"The learner will be able to ...\".\n ulo: z.string().optional().default('').describe('WHAT + WHY: What is this concept? Why does it exist? What problem does it solve?'),\n ulo_code: z.string().optional().describe('ULO-[CONCEPT]-NN per Naming Conventions v2.2'),\n cio: z.string().optional().default('').describe('HOW: How does it solve the problem? What is the mechanism?'),\n cio_code: z.string().optional().describe('CIO-[CONCEPT]-NN-ACTION per Naming Conventions v2.2'),\n sio: z.array(z.string()).optional().default([]).describe('IMPLEMENTATION: Specific implementations in concrete technologies'),\n sio_codes: z.array(z.string()).optional().describe('SIO-[TECH]-[CONCEPT]-NN, one per sio item'),\n\n // Prerequisites and timing\n prerequisites: z.array(z.string()).optional().default([]).describe('Concept IDs that must be learned first'),\n estimated_minutes: z.number().optional().default(30),\n\n // Problem types associated with this concept\n problem_types: z.array(ProblemTypeSchema).optional().default([]),\n\n // Supporting materials\n techniques: z.array(z.string()).optional().default([]).describe('Methods, formulas, tools, procedures'),\n materials: z.array(z.string()).optional().default([]).describe('Physical materials needed (lab equipment, instruments)'),\n visual_aids: z.array(z.string()).optional().default([]).describe('Diagrams, images, animations needed'),\n common_mistakes: z.array(z.string()).optional().default([]).describe('Frequently confused ideas or errors'),\n\n // Metadata\n keywords: z.array(z.string()).optional().default([]).describe('Technology-specific keywords (SIO level)'),\n tech_stack: z.array(z.string()).optional().default([]).describe('Specific technologies if applicable'),\n});\nexport type Concept = z.infer<typeof ConceptSchema>;\n\n// ─── Category ────────────────────────────────────────────────────────────────\nexport const ConceptCategorySchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().default(''),\n concept_ids: z.array(z.string()).optional().default([]),\n order: z.number().optional().default(0).describe('Teaching order within the subject'),\n});\nexport type ConceptCategory = z.infer<typeof ConceptCategorySchema>;\n\n// ─── Subject ─────────────────────────────────────────────────────────────────\nexport const SubjectInfoSchema = z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional().default(''),\n domain: z.enum(['math', 'science', 'language', 'arts', 'research', 'business', 'other']).optional().default('other'),\n grade_band: z.tuple([z.number().int(), z.number().int()]).optional(),\n estimated_hours: z.number().optional().default(0),\n estimated_weeks: z.number().optional().default(0),\n syllabus_ref: z.string().optional().default('').describe('Reference to original syllabus/curriculum'),\n});\nexport type SubjectInfo = z.infer<typeof SubjectInfoSchema>;\n\n// ─── Learning Path ───────────────────────────────────────────────────────────\nexport const LearningPathStepSchema = z.object({\n concept_id: z.string(),\n order: z.number(),\n depends_on: z.array(z.string()).optional().default([]),\n milestone_name: z.string().optional().default(''),\n});\nexport type LearningPathStep = z.infer<typeof LearningPathStepSchema>;\n\n// ─── Knowledge Graph (Root) ──────────────────────────────────────────────────\nexport const KnowledgeGraphSchema = z.object({\n schema_version: z.literal(1).optional().default(1),\n type: z.literal('knowledge_graph').optional().default('knowledge_graph'),\n subject: SubjectInfoSchema,\n concepts: z.array(ConceptSchema).optional().default([]),\n categories: z.array(ConceptCategorySchema).optional().default([]),\n learning_path: z.array(LearningPathStepSchema).optional().default([]).describe('Recommended teaching order'),\n});\nexport type KnowledgeGraph = z.infer<typeof KnowledgeGraphSchema>;\n","/**\n * Domain-specific extensions for ProjectGraph and KnowledgeGraph.\n * These are overlay schemas that add domain-specific fields to the base graphs.\n */\n\nimport { z } from 'zod';\n\n// ─── Hardware/IoT Extension (Product-Driven) ─────────────────────────────────\n\nexport const WiringSchema = z.object({\n component: z.string(),\n pin: z.string(),\n connection: z.string(),\n wire_color: z.string().optional(),\n notes: z.string().optional(),\n});\n\nexport const HardwareStepSchema = z.object({\n action: z.string(),\n tool: z.string().optional(),\n safety_note: z.string().optional(),\n estimated_minutes: z.number().optional(),\n});\n\nexport const HardwareFeatureExtensionSchema = z.object({\n wiring: z.array(WiringSchema).optional().default([]),\n components_used: z.array(z.string()).optional().default([]),\n circuit_diagram_ref: z.string().optional(),\n});\n\nexport const HardwareTaskExtensionSchema = z.object({\n techniques: z.array(z.string()).optional().default([]).describe('soldering, breadboarding, debugging'),\n hardware_steps: z.array(HardwareStepSchema).optional().default([]),\n safety_notes: z.array(z.string()).optional().default([]),\n multimeter_readings: z.boolean().optional().default(false),\n});\n\nexport const HardwareTechStackExtensionSchema = z.object({\n materials: z.array(z.string()).optional().default([]).describe('Physical components: Arduino Uno, LED, Servo'),\n tools: z.array(z.string()).optional().default([]).describe('Arduino IDE, USB cable, Multimeter'),\n protocols: z.array(z.string()).optional().default([]).describe('I2C, PWM, SPI, UART'),\n pin_config: z.record(z.string(), z.string()).optional().default({}).describe('Pin assignments'),\n power_requirements: z.string().optional(),\n});\n\n// ─── 3D Design Extension (Product-Driven) ─────────────────────────────────────\n\nexport const ShapeSchema = z.object({\n id: z.string(),\n type: z.string().describe('Box, Cylinder, Sphere, Roof, Torus, Hole, etc.'),\n dimensions: z.string().describe('e.g. \"200x150x5mm\"'),\n position: z.string().describe('e.g. \"0,0,0\"'),\n color: z.string().optional(),\n rotation: z.string().optional(),\n});\n\nexport const ThreeDesignFeatureExtensionSchema = z.object({\n shapes: z.array(ShapeSchema).optional().default([]),\n assembly_order: z.array(z.string()).optional().default([]).describe('Shape IDs in assembly order'),\n group_operations: z.array(z.string()).optional().default([]).describe('Group/hole operations'),\n});\n\nexport const ThreeDesignTaskExtensionSchema = z.object({\n operations: z.array(z.string()).optional().default([]).describe('create, resize, position, group, align, hole'),\n dimensions: z.record(z.string(), z.string()).optional().default({}),\n shape_type: z.string().optional(),\n constraints: z.array(z.string()).optional().default([]),\n});\n\nexport const ThreeDesignTechStackExtensionSchema = z.object({\n design_software: z.string().optional().describe('Tinkercad, Fusion360, Blender'),\n units: z.string().optional().default('mm'),\n canvas_size: z.string().optional(),\n export_formats: z.array(z.string()).optional().default([]).describe('STL, OBJ, STEP'),\n});\n\n// ─── Math Extension (Concept-Driven) ──────────────────────────────────────────\n\nexport const MathTheoremSchema = z.object({\n name: z.string(),\n statement: z.string(),\n proof_outline: z.string().optional(),\n converse_statement: z.string().optional(),\n});\n\nexport const MathConceptExtensionSchema = z.object({\n formulas: z.array(z.string()).optional().default([]).describe('Mathematical formulas, e.g. a^2 + b^2 = c^2'),\n theorems: z.array(MathTheoremSchema).optional().default([]),\n constructions: z.array(z.string()).optional().default([]).describe('Compass and ruler constructions, auxiliary lines'),\n visual_aids: z.array(z.string()).optional().default([]).describe('Geometric figures, function graphs'),\n common_mistakes: z.array(z.string()).optional().default([]).describe('False intuitions or algebraic traps'),\n});\nexport type MathConceptExtension = z.infer<typeof MathConceptExtensionSchema>;\n\n// ─── Science Extension (Concept-Driven) ───────────────────────────────────────\n\nexport const ExperimentProcedureSchema = z.object({\n name: z.string(),\n apparatus: z.array(z.string()).optional().default([]),\n steps: z.array(z.string()).optional().default([]),\n safety_warnings: z.array(z.string()).optional().default([]),\n expected_observation: z.string().optional(),\n});\n\nexport const ScienceConceptExtensionSchema = z.object({\n experiments: z.array(ExperimentProcedureSchema).optional().default([]),\n instruments: z.array(z.string()).optional().default([]).describe('Lab equipment: microscope, beaker, sensor'),\n variables: z.object({\n independent: z.string().optional(),\n dependent: z.string().optional(),\n controlled: z.array(z.string()).optional().default([]),\n }).optional(),\n hypotheses: z.array(z.string()).optional().default([]),\n laws_and_theories: z.array(z.string()).optional().default([]),\n});\nexport type ScienceConceptExtension = z.infer<typeof ScienceConceptExtensionSchema>;\n\n// ─── Language & Humanities Extension (Concept-Driven) ─────────────────────────\n\nexport const GrammarRuleSchema = z.object({\n rule_name: z.string(),\n pattern: z.string(),\n example_correct: z.string(),\n example_incorrect: z.string().optional(),\n exceptions: z.array(z.string()).optional().default([]),\n});\n\nexport const LanguageConceptExtensionSchema = z.object({\n reading_genres: z.array(z.string()).optional().default([]).describe('argumentative, narrative, expository'),\n grammar_rules: z.array(GrammarRuleSchema).optional().default([]),\n writing_tasks: z.array(z.string()).optional().default([]),\n lexicon_keywords: z.array(z.string()).optional().default([]),\n rhetorical_devices: z.array(z.string()).optional().default([]),\n});\nexport type LanguageConceptExtension = z.infer<typeof LanguageConceptExtensionSchema>;\n","/**\n * Hybrid Graph Schema — for projects that combine product-driven and concept-driven learning.\n *\n * Example: \"Build an Arduino robot but need to understand electronics theory first\"\n * Links project_graph (what to build) with knowledge_graph (what to understand).\n */\n\nimport { z } from 'zod';\nimport { ProjectGraphSchema } from './projectGraphSchema';\nimport { KnowledgeGraphSchema } from './knowledgeGraphSchema';\n\n// ─── Link between Project and Knowledge ──────────────────────────────────────\nexport const ProjectConceptLinkSchema = z.object({\n feature_id: z.string().describe('Feature ID from project_graph'),\n concept_id: z.string().describe('Concept ID from knowledge_graph'),\n relationship: z.enum([\n 'requires', // Feature requires understanding this concept\n 'demonstrates', // Feature demonstrates this concept in practice\n 'applies', // Feature applies this concept\n 'extends', // Feature extends this concept to new context\n ]).optional().default('requires'),\n depth: z.enum([\n 'ulo', // Feature only needs WHAT+WHY understanding\n 'cio', // Feature needs HOW understanding\n 'sio', // Feature needs specific implementation knowledge\n ]).optional().default('cio'),\n description: z.string().optional().default(''),\n estimated_prereq_minutes: z.number().optional().default(0).describe('How many minutes of concept learning before this feature'),\n phase_id: z.string().optional().default('').describe('Development phase this link belongs to'),\n});\n\n// ─── Development Phase (progressive completion) ──────────────────────────────\nexport const ConceptIntroductionSchema = z.object({\n concept_id: z.string().describe('Concept ID from knowledge_graph'),\n aspect: z.enum(['new', 'advanced', 'preview']).default('new').describe(\n \"new = concept introduced for the first time; advanced = previously introduced concept revisited at higher depth; preview = light ULO awareness pass ('know it exists') placed at the consuming phase BEFORE the full introduction — the anchor phase still owns the full 'new' teach\"\n ),\n note: z.string().optional().default('').describe('Which advanced aspect of the concept this phase develops'),\n});\n\nexport const DevelopmentPhaseSchema = z.object({\n id: z.string().describe('Phase id, e.g. PH1'),\n order: z.number().int().positive().describe('1-based phase execution order'),\n name: z.string().min(1).describe('Short phase name'),\n product_completion: z.string().min(1).describe(\n 'What the product can demonstrably DO once this phase is complete (completion level description)'\n ),\n feature_ids: z.array(z.string()).default([]).describe('Every feature built during this phase (each feature in EXACTLY one phase)'),\n introduces: z.array(ConceptIntroductionSchema).default([]).describe(\n 'Concepts introduced (new) or revisited at advanced depth (advanced) at the start of this phase'\n ),\n});\n\n// ─── Hybrid Graph (Root) ─────────────────────────────────────────────────────\nexport const HybridGraphSchema = z.object({\n schema_version: z.literal(1).optional().default(1),\n type: z.literal('hybrid_graph').optional().default('hybrid_graph'),\n\n // Product decomposition (what to build)\n project_graph: ProjectGraphSchema,\n\n // Concept decomposition (what to understand)\n knowledge_graph: KnowledgeGraphSchema,\n\n // Links between features and concepts\n links: z.array(ProjectConceptLinkSchema).optional().default([]),\n\n // Progressive completion phases (cross-feature decomposition). Empty for\n // pre-phase legacy graphs — emitters fall back to feature ordering.\n phases: z.array(DevelopmentPhaseSchema).optional().default([]),\n\n // Metadata\n description: z.string().optional().default(''),\n // ── Minute totals (HG-1, 2026-10-05) ────────────────────────────────────\n // These three used to sit side by side with near-identical names and NO\n // documentation. Two measured DIFFERENT quantities, which is why the field\n // below was renamed: it does not measure \"the total\". Read before trusting\n // any of them.\n /** Minutes of PRODUCT work: sum over every feature step. */\n total_project_minutes: z.number().optional().default(0),\n /** Minutes of CONCEPT work: sum over EVERY concept in the graph. */\n total_concept_minutes: z.number().optional().default(0),\n /**\n * Renamed from `estimated_total_minutes` (2026-10-05) — the old name read\n * like \"the course total\" but the number is narrower:\n * total_project_minutes + (minutes of concepts that HAVE a feature link)\n * unlinked concepts are deliberately excluded, and per concept the MAXIMUM\n * link estimate wins, not the sum. Expect this to sit well BELOW\n * total_project_minutes + total_concept_minutes.\n *\n * The figure the phase planner actually commits to is\n * total_project_minutes + total_concept_minutes (see decomposePhases).\n */\n linked_prereq_minutes: z.number().optional().default(0),\n});\nexport type HybridGraph = z.infer<typeof HybridGraphSchema>;\nexport type ProjectConceptLink = z.infer<typeof ProjectConceptLinkSchema>;\nexport type DevelopmentPhase = z.infer<typeof DevelopmentPhaseSchema>;\nexport type ConceptIntroduction = z.infer<typeof ConceptIntroductionSchema>;\n","/**\n * Domain Profile Schema — output of domain detection.\n *\n * Determines:\n * 1. Input type (repository, description, syllabus, files, mixed)\n * 2. Domain category (software, hardware, math, science, etc.)\n * 3. Learning mode (product, concept, hybrid)\n * 4. Which graph type and pipeline to use\n */\n\nimport { z } from 'zod';\n\n// ─── Input Type ──────────────────────────────────────────────────────────────\nexport const InputTypeSchema = z.enum([\n 'repository', // Source code repo (git URL or local dir)\n 'description', // Text description of subject/project\n 'syllabus', // Syllabus, curriculum framework, textbook outline\n 'files', // Non-code files (3D models, images, documents)\n 'mixed', // Combination of the above\n]);\n\n// ─── Domain Category ─────────────────────────────────────────────────────────\nexport const DomainCategorySchema = z.enum([\n 'software', // App, web, API, CLI, library\n 'hardware_iot', // Arduino, robotics, ESP32, Raspberry Pi\n '3d_design', // Tinkercad, Fusion360, Blender, CAD\n 'math', // Hình học, đại số, giải tích, xác suất\n 'science', // Lý, hóa, sinh, địa lý\n 'language', // Tiếng Việt, English, writing, grammar\n 'arts', // Âm nhạc, hội họa, thiết kế, nhiếp ảnh\n 'research', // Nghiên cứu, thống kê, phân tích dữ liệu\n 'business', // Kinh doanh, tài chính, quản lý\n 'other',\n]);\n\n// ─── Learning Mode ───────────────────────────────────────────────────────────\nexport const LearningModeSchema = z.enum([\n 'product', // Build a product (project-driven)\n 'concept', // Understand concepts (knowledge-driven)\n 'hybrid', // Both: build product while understanding concepts\n]);\n\n// ─── Graph Type ──────────────────────────────────────────────────────────────\nexport const GraphTypeSchema = z.enum([\n 'project_graph', // Product decomposition (software, hardware, 3d_design)\n 'knowledge_graph', // Concept decomposition (math, science, language, etc.)\n 'hybrid_graph', // Both linked together\n]);\n\n// ─── Confidence ──────────────────────────────────────────────────────────────\nexport const DetectionConfidenceSchema = z.object({\n inputType: z.number().min(0).max(1).optional().default(0.5),\n domainCategory: z.number().min(0).max(1).optional().default(0.5),\n learningMode: z.number().min(0).max(1).optional().default(0.5),\n});\n\n// ─── Ambiguous Detection ─────────────────────────────────────────────────────\nexport const AmbiguousDomainSchema = z.object({\n domain1: DomainCategorySchema,\n domain2: DomainCategorySchema,\n reason: z.string(),\n});\nexport type AmbiguousDomain = z.infer<typeof AmbiguousDomainSchema>;\n\n// ─── Domain Profile (Root) ───────────────────────────────────────────────────\nexport const DomainProfileSchema = z.object({\n // Detection results\n inputType: InputTypeSchema,\n domainCategory: DomainCategorySchema,\n learningMode: LearningModeSchema,\n graphType: GraphTypeSchema,\n\n // Confidence scores\n confidence: DetectionConfidenceSchema.optional(),\n\n // Ambiguity flag when detection is borderline or context-conflicted\n ambiguous: AmbiguousDomainSchema.optional(),\n\n // Evidence for detection decisions\n evidence: z.array(z.string()).optional().default([]),\n\n // Detected metadata (optional, populated during detection)\n detectedTechStack: z.array(z.string()).optional().default([]),\n detectedSubject: z.string().optional().default(''),\n detectedGradeBand: z.tuple([z.number().int(), z.number().int()]).optional(),\n detectedDomain: z.string().optional().default(''),\n\n // User-provided context (pass-through)\n goal: z.string().optional().default(''),\n description: z.string().optional().default(''),\n repoUrl: z.string().optional().default(''),\n repoDir: z.string().optional().default(''),\n syllabusText: z.string().optional().default(''),\n});\nexport type DomainProfile = z.infer<typeof DomainProfileSchema>;\nexport type InputType = z.infer<typeof InputTypeSchema>;\nexport type DomainCategory = z.infer<typeof DomainCategorySchema>;\nexport type LearningMode = z.infer<typeof LearningModeSchema>;\nexport type GraphType = z.infer<typeof GraphTypeSchema>;\n","import { z } from 'zod';\n\n/**\n * CurriculumFeed v2 — normalized, planner-ready projection of a domain graph.\n * Consumers: curriculum-kit Curriculum Planner (see docs/ideas/2026-08-30-curriculum-feed-v2-output.md).\n * Guarantees enforced here: cycle-free is the CALLER's verifier job; the feed\n * itself guarantees resolution (edges/keywords reference emitted nodes) and\n * non-emptiness.\n */\n\nexport const FeedKeywordsSchema = z.object({\n all: z.array(z.string()).default([]),\n new: z.array(z.string()).default([]),\n prerequisite: z.array(z.string()).default([]),\n});\n\nexport const FeedScaffoldCandidateSchema = z.object({\n item: z.string(),\n reason: z.string().default(''),\n minutes_saved: z.number().int().nonnegative().default(0),\n suggest: z.enum(['provide_full', 'provide_partial', 'provide_reference']).default('provide_full'),\n});\n\nexport const FeedNodeSchema = z.object({\n id: z.string().min(1),\n kind: z.enum(['skill', 'concept', 'product_step']),\n name: z.string().min(1),\n concept_codes: z.array(z.string()).default([]),\n keywords: FeedKeywordsSchema,\n estimated_minutes: z.number().int().nonnegative(),\n bloom_hint: z.enum(['Remember', 'Understand', 'Apply', 'Analyze', 'Evaluate', 'Create']).nullable().default(null),\n depth_hint: z.enum(['ulo', 'cio', 'sio']).nullable().default(null),\n completion_level: z.enum(['mvp', 'standard', 'stretch']).default('standard'),\n scaffolding: z.object({\n scaffold_candidates: z.array(FeedScaffoldCandidateSchema).default([]),\n core_value_minutes: z.number().int().nonnegative().default(0),\n }).default({ scaffold_candidates: [], core_value_minutes: 0 }),\n references: z.array(z.object({ file: z.string().min(1), evidence: z.string().default('') })).default([]),\n feature_id: z.string().nullable().default(null),\n concept_ref: z.string().nullable().default(null),\n // P52/T2.1: outcome.user_visible projected from the ProjectGraph step — the\n // tangible checkpoint the session-cutting planner aims for (empty when the\n // step declares no user-visible result). Concepts carry '' by default.\n user_visible_deliverable: z.string().default(''),\n // P52/T3.1 — depth-reconcile inputs (optional/defaulted so old feeds\n // validate unchanged):\n // • depth_variants: minutes to teach this node at each depth level.\n // ULO (know-it-exists) ≤ CIO (mechanism) ≤ SIO (implementation). All 3\n // required so a downgrade never turns an anchor teach into a zero.\n // • depth_scaffold_candidates: parallel to scaffold_candidates but\n // acts on DEPTH (e.g. SIO→CIO) instead of lesson time.\n // • is_core: concept is a Master-Tree core concept — reconciler must\n // never downgrade it; escalate instead.\n depth_variants: z.object({ ulo: z.number().int().nonnegative(), cio: z.number().int().nonnegative(), sio: z.number().int().nonnegative() }).optional(),\n depth_scaffold_candidates: z.array(z.object({\n from_depth: z.enum(['ulo', 'cio', 'sio']),\n to_depth: z.enum(['ulo', 'cio', 'sio']),\n minutes_saved: z.number().int().nonnegative(),\n reason: z.string().default(''),\n })).optional(),\n is_core: z.boolean().default(false),\n /**\n * Prerequisite concept ids this node needs that NO node in this feed provides —\n * i.e. the learner must already know them before starting. Previously these were\n * silently dropped (knowledge path) or crashed emission (both hybrid paths), so a\n * course silently lost its entry requirements. Kept on the node so the mapping\n * \"concept X needs prior knowledge Y\" survives; a course-level roll-up is derivable.\n */\n external_prerequisites: z.array(z.string()).default([]),\n // Depth layer text (optional, additive — old feeds validate unchanged).\n // Carries the ULO/CIO/SIO authored text from the KnowledgeGraph concept\n // so downstream consumers (KX generator) can inject depth-appropriate\n // material into their prompts without a second LLM call.\n depth_context: z.object({\n ulo: z.string().default(''),\n cio: z.string().default(''),\n sio: z.array(z.string()).default([]),\n }).optional(),\n // Progressive-completion bookkeeping (feed v2, additive):\n // phase_id = development phase that introduces/uses this node;\n // introduce_aspect = how the phase teaches a concept node (first intro, advanced\n // revisit, or preview — a light ULO awareness pass that is NOT the introduction).\n phase_id: z.string().default(''),\n introduce_aspect: z.enum(['new', 'advanced', 'preview']).nullable().default(null),\n});\n\nexport const FeedEdgeSchema = z.object({\n from: z.string().min(1),\n to: z.string().min(1),\n kind: z.enum(['knowledge', 'task']),\n reason: z.string().default(''),\n});\n\nexport const FeedGroupingSchema = z.object({\n id: z.string().min(1),\n name: z.string().min(1),\n node_ids: z.array(z.string()).min(1),\n rationale: z.string().default(''),\n});\n\nexport const FeedPhaseSchema = z.object({\n id: z.string().min(1),\n order: z.number().int().positive(),\n name: z.string().min(1),\n product_completion: z.string().min(1),\n node_ids: z.array(z.string()).min(1),\n});\nexport type FeedPhase = z.infer<typeof FeedPhaseSchema>;\n\n/**\n * Machine-readable diagnostic. `warnings` in `source` is the DERIVED text view of\n * these (every diagnostic whose severity is not 'info'), so there is exactly one\n * source of truth and the host can gate on `code`/`severity` instead of substring\n * matching free text — the 2026-09-17 class of incident was a drift that was only\n * ever a warning string.\n */\nexport const FeedDiagnosticSchema = z.object({\n code: z.string().min(1),\n severity: z.enum(['info', 'warning', 'error']),\n message: z.string(),\n node_ids: z.array(z.string()).default([]),\n});\nexport type FeedDiagnostic = z.infer<typeof FeedDiagnosticSchema>;\n\n/** Which LLM providers actually served this graph, and whether any call fell over. */\nexport const FeedProvenanceSchema = z.object({\n providers: z.array(z.string()).default([]),\n models: z.array(z.string()).default([]),\n calls: z.number().int().nonnegative().default(0),\n failed_calls: z.number().int().nonnegative().default(0),\n degraded: z.boolean().default(false),\n});\nexport type FeedProvenance = z.infer<typeof FeedProvenanceSchema>;\n\nexport const CurriculumFeedSchema = z.object({\n schema_version: z.literal(2),\n source: z.object({\n graph_type: z.enum(['project_graph', 'knowledge_graph', 'hybrid_graph']),\n /** DERIVED from diagnostics — do not write to it directly. */\n warnings: z.array(z.string()).default([]),\n hallucination_count: z.number().int().nonnegative().default(0),\n diagnostics: z.array(FeedDiagnosticSchema).default([]),\n provenance: FeedProvenanceSchema.optional(),\n }),\n learning_nodes: z.array(FeedNodeSchema).min(1, 'curriculum feed must contain at least one learning node'),\n dependency_edges: z.array(FeedEdgeSchema).default([]),\n suggested_groupings: z.array(FeedGroupingSchema).default([]),\n // Progressive completion phases (cross-feature). When non-empty, these — not\n // suggested_groupings — define the teaching sequence and unit structure.\n phases: z.array(FeedPhaseSchema).default([]),\n});\n\nexport type CurriculumFeed = z.infer<typeof CurriculumFeedSchema>;\nexport type FeedNode = z.infer<typeof FeedNodeSchema>;\nexport type FeedEdge = z.infer<typeof FeedEdgeSchema>;\nexport type FeedGrouping = z.infer<typeof FeedGroupingSchema>;\n\n/** Strict pre-save resolution validation — fail-closed, no defaulted-empty graphs. */\nexport function validateCurriculumFeed(feed: unknown): CurriculumFeed {\n const parsed = CurriculumFeedSchema.parse(feed);\n const ids = new Set(parsed.learning_nodes.map((n) => n.id));\n if (ids.size !== parsed.learning_nodes.length) {\n throw new Error('curriculum feed contains duplicate node ids');\n }\n for (const e of parsed.dependency_edges) {\n if (!ids.has(e.from) || !ids.has(e.to)) {\n throw new Error('curriculum feed edge ' + e.from + ' -> ' + e.to + ' references unknown node');\n }\n if (e.from === e.to) throw new Error('curriculum feed self-loop edge on ' + e.from);\n }\n for (const g of parsed.suggested_groupings) {\n for (const id of g.node_ids) {\n if (!ids.has(id)) throw new Error('grouping ' + g.id + ' references unknown node ' + id);\n }\n }\n for (const ph of parsed.phases) {\n for (const id of ph.node_ids) {\n if (!ids.has(id)) throw new Error('phase ' + ph.id + ' references unknown node ' + id);\n }\n }\n const phaseIds = parsed.phases.map((p) => p.id);\n if (new Set(phaseIds).size !== phaseIds.length) throw new Error('curriculum feed contains duplicate phase ids');\n // `order` IS the teaching sequence once phases exist, so two phases claiming the\n // same slot makes that sequence undefined. Nothing downstream re-derives it.\n const phaseOrders = parsed.phases.map((p) => p.order);\n if (new Set(phaseOrders).size !== phaseOrders.length) {\n throw new Error('curriculum feed contains duplicate phase orders: ' + phaseOrders.join(', '));\n }\n // The array IS the teaching sequence, so orders must ascend in it. (Sorting a\n // copy first would make this check vacuous.)\n for (let i = 1; i < phaseOrders.length; i++) {\n if (phaseOrders[i] <= phaseOrders[i - 1]) {\n throw new Error('curriculum feed phase orders are not ascending: ' + phaseOrders.join(', '));\n }\n }\n // Teaching-order invariant (2026-09-17 incident): when phases define the\n // teaching sequence, a prerequisite must live in the same or an EARLIER\n // phase than its consumer. Without this check a self-contradictory feed\n // (backwards phase-crossing edge) sailed through emission and only exploded\n // much later inside the planner as \"Teaching-order violation in session ...\"\n // — far from the constructor that produced the contradiction.\n if (parsed.phases.length > 0) {\n const phaseIndexOf = new Map<string, number>();\n parsed.phases.forEach((p, i) => {\n for (const id of p.node_ids) phaseIndexOf.set(id, i);\n });\n for (const e of parsed.dependency_edges) {\n const fromIdx = phaseIndexOf.get(e.from);\n const toIdx = phaseIndexOf.get(e.to);\n if (fromIdx === undefined || toIdx === undefined) continue; // node outside the phase sequence\n if (fromIdx > toIdx) {\n throw new Error(\n 'curriculum feed teaching-order violation: prerequisite ' + e.from +\n ' (phase ' + (fromIdx + 1) + ') is scheduled AFTER its consumer ' + e.to +\n ' (phase ' + (toIdx + 1) + ')',\n );\n }\n }\n }\n return parsed;\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  export { i as ArchEdgeSchema, A as ArchNodeSchema, x as ArchitectureDetail, j as ArchitectureDetailSchema, w as Capability, C as CapabilitySchema, z as DataIntegration, m as DataIntegrationSchema, G as Decomposition, s as DecompositionSchema, D as DevelopmentStageSchema, y as Experience, E as ExperienceComponentSchema, l as ExperienceSchema, d as Feature, F as FeatureSchema, B as Implementation, I as ImplementationSchema, e as JourneySchema, J as JourneyStepSchema, r as MilestoneDecompositionSchema, M as MissingGapSchema, N as NavigationSchema, v as Product, P as ProductGoalSchema, g as ProductSchema, f as ProductUserSchema, u as ProjectGraph, t as ProjectGraphSchema, h as ProjectInfoSchema, R as RequirementSchema, k as ScreenSchema, c as Step, S as StepEffortSchema, a as StepOutcomeSchema, b as StepSchema, n as TaskEffortSchema, o as TaskOutcomeSchema, p as TaskSchema, q as TechDebtSchema, T as TechStackSchema, U as UiStateSchema } from '../projectGraphSchema-DnD7orZV.cjs';
2
2
  export { b as Concept, d as ConceptCategory, c as ConceptCategorySchema, m as ConceptIntroduction, i as ConceptIntroductionSchema, C as ConceptSchema, l as DevelopmentPhase, D as DevelopmentPhaseSchema, j as HybridGraph, H as HybridGraphSchema, g as KnowledgeGraph, K as KnowledgeGraphSchema, f as LearningPathStep, L as LearningPathStepSchema, a as ProblemType, P as ProblemTypeSchema, k as ProjectConceptLink, h as ProjectConceptLinkSchema, e as SubjectInfo, S as SubjectInfoSchema } from '../hybridGraphSchema-C37qxdTM.cjs';
3
3
  import { z } from 'zod';
4
- export { a as DetectionConfidenceSchema, e as DomainCategory, D as DomainCategorySchema, c as DomainProfile, b as DomainProfileSchema, g as GraphType, G as GraphTypeSchema, d as InputType, I as InputTypeSchema, f as LearningMode, L as LearningModeSchema } from '../domainProfileSchema-CwT3Ffsw.cjs';
5
- export { k as CurriculumFeed, C as CurriculumFeedSchema, h as FeedDiagnostic, g as FeedDiagnosticSchema, m as FeedEdge, c as FeedEdgeSchema, n as FeedGrouping, d as FeedGroupingSchema, F as FeedKeywordsSchema, l as FeedNode, b as FeedNodeSchema, f as FeedPhase, e as FeedPhaseSchema, j as FeedProvenance, i as FeedProvenanceSchema, a as FeedScaffoldCandidateSchema, v as validateCurriculumFeed } from '../curriculumFeedSchema-DYayelAA.cjs';
4
+ export { b as AmbiguousDomain, A as AmbiguousDomainSchema, a as DetectionConfidenceSchema, f as DomainCategory, D as DomainCategorySchema, d as DomainProfile, c as DomainProfileSchema, h as GraphType, G as GraphTypeSchema, e as InputType, I as InputTypeSchema, g as LearningMode, L as LearningModeSchema } from '../domainProfileSchema-779FGk14.cjs';
5
+ export { k as CurriculumFeed, C as CurriculumFeedSchema, h as FeedDiagnostic, g as FeedDiagnosticSchema, m as FeedEdge, c as FeedEdgeSchema, n as FeedGrouping, d as FeedGroupingSchema, F as FeedKeywordsSchema, l as FeedNode, b as FeedNodeSchema, f as FeedPhase, e as FeedPhaseSchema, j as FeedProvenance, i as FeedProvenanceSchema, a as FeedScaffoldCandidateSchema, v as validateCurriculumFeed } from '../curriculumFeedSchema-DK-TUAJZ.cjs';
6
6
 
7
7
  /**
8
8
  * Domain-specific extensions for ProjectGraph and KnowledgeGraph.
@@ -1,8 +1,8 @@
1
1
  export { i as ArchEdgeSchema, A as ArchNodeSchema, x as ArchitectureDetail, j as ArchitectureDetailSchema, w as Capability, C as CapabilitySchema, z as DataIntegration, m as DataIntegrationSchema, G as Decomposition, s as DecompositionSchema, D as DevelopmentStageSchema, y as Experience, E as ExperienceComponentSchema, l as ExperienceSchema, d as Feature, F as FeatureSchema, B as Implementation, I as ImplementationSchema, e as JourneySchema, J as JourneyStepSchema, r as MilestoneDecompositionSchema, M as MissingGapSchema, N as NavigationSchema, v as Product, P as ProductGoalSchema, g as ProductSchema, f as ProductUserSchema, u as ProjectGraph, t as ProjectGraphSchema, h as ProjectInfoSchema, R as RequirementSchema, k as ScreenSchema, c as Step, S as StepEffortSchema, a as StepOutcomeSchema, b as StepSchema, n as TaskEffortSchema, o as TaskOutcomeSchema, p as TaskSchema, q as TechDebtSchema, T as TechStackSchema, U as UiStateSchema } from '../projectGraphSchema-DnD7orZV.js';
2
2
  export { b as Concept, d as ConceptCategory, c as ConceptCategorySchema, m as ConceptIntroduction, i as ConceptIntroductionSchema, C as ConceptSchema, l as DevelopmentPhase, D as DevelopmentPhaseSchema, j as HybridGraph, H as HybridGraphSchema, g as KnowledgeGraph, K as KnowledgeGraphSchema, f as LearningPathStep, L as LearningPathStepSchema, a as ProblemType, P as ProblemTypeSchema, k as ProjectConceptLink, h as ProjectConceptLinkSchema, e as SubjectInfo, S as SubjectInfoSchema } from '../hybridGraphSchema-C37qxdTM.js';
3
3
  import { z } from 'zod';
4
- export { a as DetectionConfidenceSchema, e as DomainCategory, D as DomainCategorySchema, c as DomainProfile, b as DomainProfileSchema, g as GraphType, G as GraphTypeSchema, d as InputType, I as InputTypeSchema, f as LearningMode, L as LearningModeSchema } from '../domainProfileSchema-CwT3Ffsw.js';
5
- export { k as CurriculumFeed, C as CurriculumFeedSchema, h as FeedDiagnostic, g as FeedDiagnosticSchema, m as FeedEdge, c as FeedEdgeSchema, n as FeedGrouping, d as FeedGroupingSchema, F as FeedKeywordsSchema, l as FeedNode, b as FeedNodeSchema, f as FeedPhase, e as FeedPhaseSchema, j as FeedProvenance, i as FeedProvenanceSchema, a as FeedScaffoldCandidateSchema, v as validateCurriculumFeed } from '../curriculumFeedSchema-DYayelAA.js';
4
+ export { b as AmbiguousDomain, A as AmbiguousDomainSchema, a as DetectionConfidenceSchema, f as DomainCategory, D as DomainCategorySchema, d as DomainProfile, c as DomainProfileSchema, h as GraphType, G as GraphTypeSchema, e as InputType, I as InputTypeSchema, g as LearningMode, L as LearningModeSchema } from '../domainProfileSchema-779FGk14.js';
5
+ export { k as CurriculumFeed, C as CurriculumFeedSchema, h as FeedDiagnostic, g as FeedDiagnosticSchema, m as FeedEdge, c as FeedEdgeSchema, n as FeedGrouping, d as FeedGroupingSchema, F as FeedKeywordsSchema, l as FeedNode, b as FeedNodeSchema, f as FeedPhase, e as FeedPhaseSchema, j as FeedProvenance, i as FeedProvenanceSchema, a as FeedScaffoldCandidateSchema, v as validateCurriculumFeed } from '../curriculumFeedSchema-DK-TUAJZ.js';
6
6
 
7
7
  /**
8
8
  * Domain-specific extensions for ProjectGraph and KnowledgeGraph.
@@ -1,4 +1,4 @@
1
- export { ArchEdgeSchema, ArchNodeSchema, ArchitectureDetailSchema, CapabilitySchema, ConceptCategorySchema, ConceptIntroductionSchema, ConceptSchema, DataIntegrationSchema, DecompositionSchema, DetectionConfidenceSchema, DevelopmentPhaseSchema, DevelopmentStageSchema, DomainCategorySchema, DomainProfileSchema, ExperienceComponentSchema, ExperienceSchema, ExperimentProcedureSchema, FeatureSchema, GrammarRuleSchema, GraphTypeSchema, HardwareFeatureExtensionSchema, HardwareStepSchema, HardwareTaskExtensionSchema, HardwareTechStackExtensionSchema, HybridGraphSchema, ImplementationSchema, InputTypeSchema, JourneySchema, JourneyStepSchema, KnowledgeGraphSchema, LanguageConceptExtensionSchema, LearningModeSchema, LearningPathStepSchema, MathConceptExtensionSchema, MathTheoremSchema, MilestoneDecompositionSchema, MissingGapSchema, NavigationSchema, ProblemTypeSchema, ProductGoalSchema, ProductSchema, ProductUserSchema, ProjectConceptLinkSchema, ProjectGraphSchema, ProjectInfoSchema, RequirementSchema, ScienceConceptExtensionSchema, ScreenSchema, ShapeSchema, StepEffortSchema, StepOutcomeSchema, StepSchema, SubjectInfoSchema, TaskEffortSchema, TaskOutcomeSchema, TaskSchema, TechDebtSchema, TechStackSchema, ThreeDesignFeatureExtensionSchema, ThreeDesignTaskExtensionSchema, ThreeDesignTechStackExtensionSchema, UiStateSchema, WiringSchema } from '../chunk-ERDTHXQA.mjs';
1
+ export { AmbiguousDomainSchema, ArchEdgeSchema, ArchNodeSchema, ArchitectureDetailSchema, CapabilitySchema, ConceptCategorySchema, ConceptIntroductionSchema, ConceptSchema, DataIntegrationSchema, DecompositionSchema, DetectionConfidenceSchema, DevelopmentPhaseSchema, DevelopmentStageSchema, DomainCategorySchema, DomainProfileSchema, ExperienceComponentSchema, ExperienceSchema, ExperimentProcedureSchema, FeatureSchema, GrammarRuleSchema, GraphTypeSchema, HardwareFeatureExtensionSchema, HardwareStepSchema, HardwareTaskExtensionSchema, HardwareTechStackExtensionSchema, HybridGraphSchema, ImplementationSchema, InputTypeSchema, JourneySchema, JourneyStepSchema, KnowledgeGraphSchema, LanguageConceptExtensionSchema, LearningModeSchema, LearningPathStepSchema, MathConceptExtensionSchema, MathTheoremSchema, MilestoneDecompositionSchema, MissingGapSchema, NavigationSchema, ProblemTypeSchema, ProductGoalSchema, ProductSchema, ProductUserSchema, ProjectConceptLinkSchema, ProjectGraphSchema, ProjectInfoSchema, RequirementSchema, ScienceConceptExtensionSchema, ScreenSchema, ShapeSchema, StepEffortSchema, StepOutcomeSchema, StepSchema, SubjectInfoSchema, TaskEffortSchema, TaskOutcomeSchema, TaskSchema, TechDebtSchema, TechStackSchema, ThreeDesignFeatureExtensionSchema, ThreeDesignTaskExtensionSchema, ThreeDesignTechStackExtensionSchema, UiStateSchema, WiringSchema } from '../chunk-H4W3YJLK.mjs';
2
2
  export { CurriculumFeedSchema, FeedDiagnosticSchema, FeedEdgeSchema, FeedGroupingSchema, FeedKeywordsSchema, FeedNodeSchema, FeedPhaseSchema, FeedProvenanceSchema, FeedScaffoldCandidateSchema, validateCurriculumFeed } from '../chunk-CGNXGVHV.mjs';
3
3
  //# sourceMappingURL=index.mjs.map
4
4
  //# sourceMappingURL=index.mjs.map