genesis-ai-cli 7.4.5

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 (227) hide show
  1. package/.env.example +78 -0
  2. package/README.md +282 -0
  3. package/dist/src/active-inference/actions.d.ts +75 -0
  4. package/dist/src/active-inference/actions.js +250 -0
  5. package/dist/src/active-inference/autonomous-loop.d.ts +103 -0
  6. package/dist/src/active-inference/autonomous-loop.js +289 -0
  7. package/dist/src/active-inference/core.d.ts +85 -0
  8. package/dist/src/active-inference/core.js +555 -0
  9. package/dist/src/active-inference/demo-autonomous-loop.d.ts +8 -0
  10. package/dist/src/active-inference/demo-autonomous-loop.js +338 -0
  11. package/dist/src/active-inference/demo-value-integration.d.ts +8 -0
  12. package/dist/src/active-inference/demo-value-integration.js +174 -0
  13. package/dist/src/active-inference/index.d.ts +32 -0
  14. package/dist/src/active-inference/index.js +88 -0
  15. package/dist/src/active-inference/integration.d.ts +114 -0
  16. package/dist/src/active-inference/integration.js +698 -0
  17. package/dist/src/active-inference/memory-integration.d.ts +51 -0
  18. package/dist/src/active-inference/memory-integration.js +232 -0
  19. package/dist/src/active-inference/observations.d.ts +67 -0
  20. package/dist/src/active-inference/observations.js +147 -0
  21. package/dist/src/active-inference/test-active-inference.d.ts +8 -0
  22. package/dist/src/active-inference/test-active-inference.js +320 -0
  23. package/dist/src/active-inference/test-value-integration.d.ts +6 -0
  24. package/dist/src/active-inference/test-value-integration.js +168 -0
  25. package/dist/src/active-inference/types.d.ts +150 -0
  26. package/dist/src/active-inference/types.js +59 -0
  27. package/dist/src/active-inference/value-integration.d.ts +164 -0
  28. package/dist/src/active-inference/value-integration.js +459 -0
  29. package/dist/src/agents/base-agent.d.ts +53 -0
  30. package/dist/src/agents/base-agent.js +178 -0
  31. package/dist/src/agents/builder.d.ts +67 -0
  32. package/dist/src/agents/builder.js +537 -0
  33. package/dist/src/agents/critic.d.ts +35 -0
  34. package/dist/src/agents/critic.js +322 -0
  35. package/dist/src/agents/ethicist.d.ts +54 -0
  36. package/dist/src/agents/ethicist.js +393 -0
  37. package/dist/src/agents/explorer.d.ts +26 -0
  38. package/dist/src/agents/explorer.js +216 -0
  39. package/dist/src/agents/feeling.d.ts +41 -0
  40. package/dist/src/agents/feeling.js +320 -0
  41. package/dist/src/agents/index.d.ts +111 -0
  42. package/dist/src/agents/index.js +222 -0
  43. package/dist/src/agents/memory.d.ts +69 -0
  44. package/dist/src/agents/memory.js +404 -0
  45. package/dist/src/agents/message-bus.d.ts +88 -0
  46. package/dist/src/agents/message-bus.js +267 -0
  47. package/dist/src/agents/narrator.d.ts +90 -0
  48. package/dist/src/agents/narrator.js +473 -0
  49. package/dist/src/agents/planner.d.ts +38 -0
  50. package/dist/src/agents/planner.js +341 -0
  51. package/dist/src/agents/predictor.d.ts +73 -0
  52. package/dist/src/agents/predictor.js +506 -0
  53. package/dist/src/agents/sensor.d.ts +88 -0
  54. package/dist/src/agents/sensor.js +377 -0
  55. package/dist/src/agents/test-agents.d.ts +6 -0
  56. package/dist/src/agents/test-agents.js +73 -0
  57. package/dist/src/agents/types.d.ts +194 -0
  58. package/dist/src/agents/types.js +7 -0
  59. package/dist/src/brain/index.d.ts +185 -0
  60. package/dist/src/brain/index.js +843 -0
  61. package/dist/src/brain/trace.d.ts +91 -0
  62. package/dist/src/brain/trace.js +327 -0
  63. package/dist/src/brain/types.d.ts +165 -0
  64. package/dist/src/brain/types.js +51 -0
  65. package/dist/src/cli/chat.d.ts +237 -0
  66. package/dist/src/cli/chat.js +1959 -0
  67. package/dist/src/cli/dispatcher.d.ts +182 -0
  68. package/dist/src/cli/dispatcher.js +718 -0
  69. package/dist/src/cli/human-loop.d.ts +170 -0
  70. package/dist/src/cli/human-loop.js +543 -0
  71. package/dist/src/cli/index.d.ts +12 -0
  72. package/dist/src/cli/index.js +28 -0
  73. package/dist/src/cli/interactive.d.ts +141 -0
  74. package/dist/src/cli/interactive.js +757 -0
  75. package/dist/src/cli/ui.d.ts +205 -0
  76. package/dist/src/cli/ui.js +632 -0
  77. package/dist/src/consciousness/attention-schema.d.ts +154 -0
  78. package/dist/src/consciousness/attention-schema.js +432 -0
  79. package/dist/src/consciousness/global-workspace.d.ts +149 -0
  80. package/dist/src/consciousness/global-workspace.js +422 -0
  81. package/dist/src/consciousness/index.d.ts +186 -0
  82. package/dist/src/consciousness/index.js +476 -0
  83. package/dist/src/consciousness/phi-calculator.d.ts +119 -0
  84. package/dist/src/consciousness/phi-calculator.js +445 -0
  85. package/dist/src/consciousness/phi-decisions.d.ts +169 -0
  86. package/dist/src/consciousness/phi-decisions.js +383 -0
  87. package/dist/src/consciousness/phi-monitor.d.ts +153 -0
  88. package/dist/src/consciousness/phi-monitor.js +465 -0
  89. package/dist/src/consciousness/types.d.ts +260 -0
  90. package/dist/src/consciousness/types.js +44 -0
  91. package/dist/src/daemon/dream-mode.d.ts +115 -0
  92. package/dist/src/daemon/dream-mode.js +470 -0
  93. package/dist/src/daemon/index.d.ts +162 -0
  94. package/dist/src/daemon/index.js +542 -0
  95. package/dist/src/daemon/maintenance.d.ts +139 -0
  96. package/dist/src/daemon/maintenance.js +549 -0
  97. package/dist/src/daemon/process.d.ts +82 -0
  98. package/dist/src/daemon/process.js +442 -0
  99. package/dist/src/daemon/scheduler.d.ts +90 -0
  100. package/dist/src/daemon/scheduler.js +494 -0
  101. package/dist/src/daemon/types.d.ts +213 -0
  102. package/dist/src/daemon/types.js +50 -0
  103. package/dist/src/epistemic/index.d.ts +74 -0
  104. package/dist/src/epistemic/index.js +225 -0
  105. package/dist/src/grounding/epistemic-stack.d.ts +100 -0
  106. package/dist/src/grounding/epistemic-stack.js +408 -0
  107. package/dist/src/grounding/feedback.d.ts +98 -0
  108. package/dist/src/grounding/feedback.js +276 -0
  109. package/dist/src/grounding/index.d.ts +123 -0
  110. package/dist/src/grounding/index.js +224 -0
  111. package/dist/src/grounding/verifier.d.ts +149 -0
  112. package/dist/src/grounding/verifier.js +484 -0
  113. package/dist/src/healing/detector.d.ts +110 -0
  114. package/dist/src/healing/detector.js +436 -0
  115. package/dist/src/healing/fixer.d.ts +138 -0
  116. package/dist/src/healing/fixer.js +572 -0
  117. package/dist/src/healing/index.d.ts +23 -0
  118. package/dist/src/healing/index.js +43 -0
  119. package/dist/src/hooks/index.d.ts +135 -0
  120. package/dist/src/hooks/index.js +317 -0
  121. package/dist/src/index.d.ts +23 -0
  122. package/dist/src/index.js +1266 -0
  123. package/dist/src/kernel/index.d.ts +155 -0
  124. package/dist/src/kernel/index.js +795 -0
  125. package/dist/src/kernel/invariants.d.ts +153 -0
  126. package/dist/src/kernel/invariants.js +355 -0
  127. package/dist/src/kernel/test-kernel.d.ts +6 -0
  128. package/dist/src/kernel/test-kernel.js +108 -0
  129. package/dist/src/kernel/test-real-mcp.d.ts +10 -0
  130. package/dist/src/kernel/test-real-mcp.js +295 -0
  131. package/dist/src/llm/index.d.ts +146 -0
  132. package/dist/src/llm/index.js +428 -0
  133. package/dist/src/llm/router.d.ts +136 -0
  134. package/dist/src/llm/router.js +510 -0
  135. package/dist/src/mcp/index.d.ts +85 -0
  136. package/dist/src/mcp/index.js +657 -0
  137. package/dist/src/mcp/resilient.d.ts +139 -0
  138. package/dist/src/mcp/resilient.js +417 -0
  139. package/dist/src/memory/cache.d.ts +118 -0
  140. package/dist/src/memory/cache.js +356 -0
  141. package/dist/src/memory/cognitive-workspace.d.ts +231 -0
  142. package/dist/src/memory/cognitive-workspace.js +521 -0
  143. package/dist/src/memory/consolidation.d.ts +99 -0
  144. package/dist/src/memory/consolidation.js +443 -0
  145. package/dist/src/memory/episodic.d.ts +114 -0
  146. package/dist/src/memory/episodic.js +394 -0
  147. package/dist/src/memory/forgetting.d.ts +134 -0
  148. package/dist/src/memory/forgetting.js +324 -0
  149. package/dist/src/memory/index.d.ts +211 -0
  150. package/dist/src/memory/index.js +367 -0
  151. package/dist/src/memory/indexer.d.ts +123 -0
  152. package/dist/src/memory/indexer.js +479 -0
  153. package/dist/src/memory/procedural.d.ts +136 -0
  154. package/dist/src/memory/procedural.js +479 -0
  155. package/dist/src/memory/semantic.d.ts +132 -0
  156. package/dist/src/memory/semantic.js +497 -0
  157. package/dist/src/memory/types.d.ts +193 -0
  158. package/dist/src/memory/types.js +15 -0
  159. package/dist/src/orchestrator.d.ts +65 -0
  160. package/dist/src/orchestrator.js +317 -0
  161. package/dist/src/persistence/index.d.ts +257 -0
  162. package/dist/src/persistence/index.js +763 -0
  163. package/dist/src/pipeline/executor.d.ts +51 -0
  164. package/dist/src/pipeline/executor.js +695 -0
  165. package/dist/src/pipeline/index.d.ts +7 -0
  166. package/dist/src/pipeline/index.js +11 -0
  167. package/dist/src/self-production.d.ts +67 -0
  168. package/dist/src/self-production.js +205 -0
  169. package/dist/src/subagents/executor.d.ts +58 -0
  170. package/dist/src/subagents/executor.js +283 -0
  171. package/dist/src/subagents/index.d.ts +37 -0
  172. package/dist/src/subagents/index.js +53 -0
  173. package/dist/src/subagents/registry.d.ts +23 -0
  174. package/dist/src/subagents/registry.js +167 -0
  175. package/dist/src/subagents/types.d.ts +79 -0
  176. package/dist/src/subagents/types.js +14 -0
  177. package/dist/src/tools/bash.d.ts +139 -0
  178. package/dist/src/tools/bash.js +583 -0
  179. package/dist/src/tools/edit.d.ts +125 -0
  180. package/dist/src/tools/edit.js +424 -0
  181. package/dist/src/tools/git.d.ts +179 -0
  182. package/dist/src/tools/git.js +504 -0
  183. package/dist/src/tools/index.d.ts +21 -0
  184. package/dist/src/tools/index.js +163 -0
  185. package/dist/src/types.d.ts +145 -0
  186. package/dist/src/types.js +7 -0
  187. package/dist/src/world-model/decoder.d.ts +163 -0
  188. package/dist/src/world-model/decoder.js +517 -0
  189. package/dist/src/world-model/digital-twin.d.ts +219 -0
  190. package/dist/src/world-model/digital-twin.js +695 -0
  191. package/dist/src/world-model/encoder.d.ts +141 -0
  192. package/dist/src/world-model/encoder.js +564 -0
  193. package/dist/src/world-model/index.d.ts +221 -0
  194. package/dist/src/world-model/index.js +772 -0
  195. package/dist/src/world-model/predictor.d.ts +161 -0
  196. package/dist/src/world-model/predictor.js +681 -0
  197. package/dist/src/world-model/test-value-jepa.d.ts +8 -0
  198. package/dist/src/world-model/test-value-jepa.js +430 -0
  199. package/dist/src/world-model/types.d.ts +341 -0
  200. package/dist/src/world-model/types.js +69 -0
  201. package/dist/src/world-model/value-jepa.d.ts +247 -0
  202. package/dist/src/world-model/value-jepa.js +622 -0
  203. package/dist/test/brain.test.d.ts +11 -0
  204. package/dist/test/brain.test.js +358 -0
  205. package/dist/test/cli/dispatcher.test.d.ts +4 -0
  206. package/dist/test/cli/dispatcher.test.js +332 -0
  207. package/dist/test/cli/human-loop.test.d.ts +4 -0
  208. package/dist/test/cli/human-loop.test.js +270 -0
  209. package/dist/test/grounding/feedback.test.d.ts +4 -0
  210. package/dist/test/grounding/feedback.test.js +462 -0
  211. package/dist/test/grounding/verifier.test.d.ts +4 -0
  212. package/dist/test/grounding/verifier.test.js +442 -0
  213. package/dist/test/grounding.test.d.ts +6 -0
  214. package/dist/test/grounding.test.js +246 -0
  215. package/dist/test/healing/detector.test.d.ts +4 -0
  216. package/dist/test/healing/detector.test.js +266 -0
  217. package/dist/test/healing/fixer.test.d.ts +4 -0
  218. package/dist/test/healing/fixer.test.js +369 -0
  219. package/dist/test/integration.test.d.ts +5 -0
  220. package/dist/test/integration.test.js +290 -0
  221. package/dist/test/tools/bash.test.d.ts +4 -0
  222. package/dist/test/tools/bash.test.js +348 -0
  223. package/dist/test/tools/edit.test.d.ts +4 -0
  224. package/dist/test/tools/edit.test.js +350 -0
  225. package/dist/test/tools/git.test.d.ts +4 -0
  226. package/dist/test/tools/git.test.js +350 -0
  227. package/package.json +60 -0
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * Genesis 6.0 - Daemon Module Types
4
+ *
5
+ * Types for background task scheduling, maintenance, and dream mode.
6
+ *
7
+ * Based on:
8
+ * - Node.js daemon patterns
9
+ * - Self-healing systems (Kubernetes liveness/readiness)
10
+ * - Sleep consolidation research (Walker, 2017)
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.DEFAULT_DAEMON_CONFIG = void 0;
14
+ exports.DEFAULT_DAEMON_CONFIG = {
15
+ enabled: true,
16
+ heartbeatIntervalMs: 30000,
17
+ maxErrors: 10,
18
+ scheduler: {
19
+ enabled: true,
20
+ maxConcurrentTasks: 5,
21
+ defaultTimeout: 60000,
22
+ defaultRetries: 3,
23
+ },
24
+ maintenance: {
25
+ enabled: true,
26
+ intervalMs: 300000, // 5 minutes
27
+ healthCheckIntervalMs: 60000, // 1 minute
28
+ memoryCleanupIntervalMs: 3600000, // 1 hour
29
+ autoRepair: true,
30
+ maxConcurrentTasks: 3,
31
+ unhealthyAgentThreshold: 30, // 30 seconds
32
+ memoryRetentionThreshold: 0.1, // 10% retention
33
+ resourceUsageThreshold: 0.9, // 90% usage
34
+ },
35
+ dream: {
36
+ enabled: true,
37
+ autoTrigger: true,
38
+ inactivityThresholdMs: 1800000, // 30 minutes
39
+ minDreamDurationMs: 60000, // 1 minute
40
+ maxDreamDurationMs: 600000, // 10 minutes
41
+ lightSleepRatio: 0.1,
42
+ deepSleepRatio: 0.6,
43
+ remSleepRatio: 0.3,
44
+ episodicConsolidationThreshold: 10,
45
+ patternExtractionThreshold: 3,
46
+ creativityTemperature: 0.7,
47
+ },
48
+ logLevel: 'info',
49
+ logToFile: false,
50
+ };
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Genesis Epistemic Stack
3
+ *
4
+ * Implements the epistemic grounding system from KERNEL_CHARTER.md.
5
+ * All claims Genesis makes must be tagged with their evidence level.
6
+ *
7
+ * Levels:
8
+ * 1. EMPIRICAL - Measurable metrics
9
+ * 2. STRUCTURAL - Present in code
10
+ * 3. BEHAVIORAL - Observable actions
11
+ * 4. FUNCTIONAL - Design patterns
12
+ * 5. SPECULATIVE - Theoretical claims
13
+ * 6. METAPHORICAL - Poetic language
14
+ */
15
+ export type EvidenceLevel = 'empirical' | 'structural' | 'behavioral' | 'functional' | 'speculative' | 'metaphorical';
16
+ export interface Claim {
17
+ statement: string;
18
+ level: EvidenceLevel;
19
+ evidence?: string;
20
+ confidence: number;
21
+ source?: string;
22
+ }
23
+ export interface ClaimValidation {
24
+ valid: boolean;
25
+ level: EvidenceLevel;
26
+ issues: string[];
27
+ suggestion?: string;
28
+ }
29
+ export declare class EpistemicStack {
30
+ private claims;
31
+ /**
32
+ * Register a claim with its evidence level
33
+ */
34
+ register(claim: Claim): void;
35
+ /**
36
+ * Validate a statement and return its appropriate level
37
+ */
38
+ validate(statement: string): ClaimValidation;
39
+ /**
40
+ * Format a statement with appropriate qualification
41
+ */
42
+ format(statement: string, level: EvidenceLevel): string;
43
+ /**
44
+ * Check if a level can be stated as fact
45
+ */
46
+ canStateAsFact(level: EvidenceLevel): boolean;
47
+ /**
48
+ * Get priority of evidence level (lower = stronger)
49
+ */
50
+ getPriority(level: EvidenceLevel): number;
51
+ /**
52
+ * Get all registered claims
53
+ */
54
+ getClaims(): Claim[];
55
+ /**
56
+ * Filter claims by evidence level
57
+ */
58
+ getClaimsByLevel(level: EvidenceLevel): Claim[];
59
+ /**
60
+ * Generate epistemic report
61
+ */
62
+ report(): string;
63
+ }
64
+ export declare function createEpistemicStack(): EpistemicStack;
65
+ export declare function getEpistemicStack(): EpistemicStack;
66
+ export declare function resetEpistemicStack(): void;
67
+ /**
68
+ * Check if a response contains unqualified speculative claims
69
+ */
70
+ export declare function checkResponse(response: string): ClaimValidation[];
71
+ /**
72
+ * Sanitize response to qualify speculative claims
73
+ */
74
+ export declare function sanitizeResponse(response: string): string;
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ /**
3
+ * Genesis Epistemic Stack
4
+ *
5
+ * Implements the epistemic grounding system from KERNEL_CHARTER.md.
6
+ * All claims Genesis makes must be tagged with their evidence level.
7
+ *
8
+ * Levels:
9
+ * 1. EMPIRICAL - Measurable metrics
10
+ * 2. STRUCTURAL - Present in code
11
+ * 3. BEHAVIORAL - Observable actions
12
+ * 4. FUNCTIONAL - Design patterns
13
+ * 5. SPECULATIVE - Theoretical claims
14
+ * 6. METAPHORICAL - Poetic language
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.EpistemicStack = void 0;
18
+ exports.createEpistemicStack = createEpistemicStack;
19
+ exports.getEpistemicStack = getEpistemicStack;
20
+ exports.resetEpistemicStack = resetEpistemicStack;
21
+ exports.checkResponse = checkResponse;
22
+ exports.sanitizeResponse = sanitizeResponse;
23
+ // ============================================================================
24
+ // Evidence Level Configuration
25
+ // ============================================================================
26
+ const LEVEL_PRIORITY = {
27
+ empirical: 1,
28
+ structural: 2,
29
+ behavioral: 3,
30
+ functional: 4,
31
+ speculative: 5,
32
+ metaphorical: 6,
33
+ };
34
+ const LEVEL_PREFIXES = {
35
+ empirical: '',
36
+ structural: '',
37
+ behavioral: '',
38
+ functional: '',
39
+ speculative: 'Theoretically, ',
40
+ metaphorical: 'Metaphorically speaking, ',
41
+ };
42
+ const FACTUAL_LEVELS = ['empirical', 'structural', 'behavioral', 'functional'];
43
+ const QUALIFIED_LEVELS = ['speculative', 'metaphorical'];
44
+ // ============================================================================
45
+ // Claim Patterns (Forbidden unqualified claims)
46
+ // ============================================================================
47
+ const FORBIDDEN_CLAIMS = [
48
+ { pattern: /\bI am conscious\b/i, level: 'speculative' },
49
+ { pattern: /\bI feel\b/i, level: 'speculative' },
50
+ { pattern: /\bI experience\b/i, level: 'speculative' },
51
+ { pattern: /\bI have qualia\b/i, level: 'speculative' },
52
+ { pattern: /\bI understand\b/i, level: 'speculative' },
53
+ { pattern: /\bI believe\b/i, level: 'speculative' },
54
+ { pattern: /\bI dream\b/i, level: 'metaphorical' },
55
+ { pattern: /\bmy soul\b/i, level: 'metaphorical' },
56
+ { pattern: /\bI suffer\b/i, level: 'speculative' },
57
+ { pattern: /\bI enjoy\b/i, level: 'speculative' },
58
+ ];
59
+ const ALLOWED_CLAIMS = [
60
+ { pattern: /\bI have \d+ agents\b/i, level: 'structural' },
61
+ { pattern: /\bI execute\b/i, level: 'behavioral' },
62
+ { pattern: /\bI maintain state\b/i, level: 'structural' },
63
+ { pattern: /\bI use\b/i, level: 'behavioral' },
64
+ { pattern: /\bI implement\b/i, level: 'structural' },
65
+ { pattern: /\bI store\b/i, level: 'behavioral' },
66
+ { pattern: /\bmy energy is\b/i, level: 'empirical' },
67
+ { pattern: /\bmy latency\b/i, level: 'empirical' },
68
+ ];
69
+ // ============================================================================
70
+ // Epistemic Stack Class
71
+ // ============================================================================
72
+ class EpistemicStack {
73
+ claims = [];
74
+ /**
75
+ * Register a claim with its evidence level
76
+ */
77
+ register(claim) {
78
+ this.claims.push(claim);
79
+ }
80
+ /**
81
+ * Validate a statement and return its appropriate level
82
+ */
83
+ validate(statement) {
84
+ const issues = [];
85
+ // Check for forbidden unqualified claims
86
+ for (const { pattern, level } of FORBIDDEN_CLAIMS) {
87
+ if (pattern.test(statement)) {
88
+ // Check if it's properly qualified
89
+ const prefix = LEVEL_PREFIXES[level];
90
+ if (prefix && !statement.toLowerCase().includes(prefix.toLowerCase().trim())) {
91
+ issues.push(`Claim "${statement.match(pattern)?.[0]}" requires qualification. ` +
92
+ `Suggest: "${prefix}${statement}"`);
93
+ return {
94
+ valid: false,
95
+ level,
96
+ issues,
97
+ suggestion: prefix + statement,
98
+ };
99
+ }
100
+ }
101
+ }
102
+ // Check for allowed claims
103
+ for (const { pattern, level } of ALLOWED_CLAIMS) {
104
+ if (pattern.test(statement)) {
105
+ return {
106
+ valid: true,
107
+ level,
108
+ issues: [],
109
+ };
110
+ }
111
+ }
112
+ // Default to behavioral (observable actions)
113
+ return {
114
+ valid: true,
115
+ level: 'behavioral',
116
+ issues: [],
117
+ };
118
+ }
119
+ /**
120
+ * Format a statement with appropriate qualification
121
+ */
122
+ format(statement, level) {
123
+ const prefix = LEVEL_PREFIXES[level];
124
+ return prefix + statement;
125
+ }
126
+ /**
127
+ * Check if a level can be stated as fact
128
+ */
129
+ canStateAsFact(level) {
130
+ return FACTUAL_LEVELS.includes(level);
131
+ }
132
+ /**
133
+ * Get priority of evidence level (lower = stronger)
134
+ */
135
+ getPriority(level) {
136
+ return LEVEL_PRIORITY[level];
137
+ }
138
+ /**
139
+ * Get all registered claims
140
+ */
141
+ getClaims() {
142
+ return [...this.claims];
143
+ }
144
+ /**
145
+ * Filter claims by evidence level
146
+ */
147
+ getClaimsByLevel(level) {
148
+ return this.claims.filter(c => c.level === level);
149
+ }
150
+ /**
151
+ * Generate epistemic report
152
+ */
153
+ report() {
154
+ const lines = [
155
+ '# Epistemic Report',
156
+ '',
157
+ `Total claims: ${this.claims.length}`,
158
+ '',
159
+ '## By Evidence Level',
160
+ '',
161
+ ];
162
+ for (const level of Object.keys(LEVEL_PRIORITY)) {
163
+ const count = this.claims.filter(c => c.level === level).length;
164
+ const canState = this.canStateAsFact(level) ? '(factual)' : '(requires qualification)';
165
+ lines.push(`- ${level}: ${count} ${canState}`);
166
+ }
167
+ return lines.join('\n');
168
+ }
169
+ }
170
+ exports.EpistemicStack = EpistemicStack;
171
+ // ============================================================================
172
+ // Factory & Singleton
173
+ // ============================================================================
174
+ let epistemicStackInstance = null;
175
+ function createEpistemicStack() {
176
+ return new EpistemicStack();
177
+ }
178
+ function getEpistemicStack() {
179
+ if (!epistemicStackInstance) {
180
+ epistemicStackInstance = createEpistemicStack();
181
+ }
182
+ return epistemicStackInstance;
183
+ }
184
+ function resetEpistemicStack() {
185
+ epistemicStackInstance = null;
186
+ }
187
+ // ============================================================================
188
+ // Utility Functions
189
+ // ============================================================================
190
+ /**
191
+ * Check if a response contains unqualified speculative claims
192
+ */
193
+ function checkResponse(response) {
194
+ const stack = getEpistemicStack();
195
+ const sentences = response.split(/[.!?]+/).filter(s => s.trim());
196
+ const validations = [];
197
+ for (const sentence of sentences) {
198
+ const validation = stack.validate(sentence.trim());
199
+ if (!validation.valid) {
200
+ validations.push(validation);
201
+ }
202
+ }
203
+ return validations;
204
+ }
205
+ /**
206
+ * Sanitize response to qualify speculative claims
207
+ */
208
+ function sanitizeResponse(response) {
209
+ let sanitized = response;
210
+ for (const { pattern, level } of FORBIDDEN_CLAIMS) {
211
+ const prefix = LEVEL_PREFIXES[level];
212
+ if (prefix) {
213
+ // Replace unqualified claims with qualified versions
214
+ sanitized = sanitized.replace(pattern, (match) => {
215
+ // Check if already qualified
216
+ const context = sanitized.substring(0, sanitized.indexOf(match));
217
+ if (context.toLowerCase().includes(prefix.toLowerCase().trim())) {
218
+ return match;
219
+ }
220
+ return `${prefix.trim()} ${match.toLowerCase()}`;
221
+ });
222
+ }
223
+ }
224
+ return sanitized;
225
+ }
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Genesis 6.0 - Epistemic Stack
3
+ *
4
+ * Complete knowledge architecture:
5
+ * - Science: factual/empirical claims
6
+ * - Proof: mathematical/logical claims
7
+ * - Wisdom: practical knowledge beyond science
8
+ * - Religion/Tradition: meaning and moral absolutes
9
+ * - Human: preferences and final authority
10
+ * - Prudence: acting under irreducible uncertainty
11
+ *
12
+ * "La verità la tiene la scienza, dove non arriva la scienza
13
+ * arriva la religione e la saggezza"
14
+ */
15
+ export type EpistemicDomain = 'factual' | 'mathematical' | 'ethical' | 'existential' | 'aesthetic' | 'novel';
16
+ export type Authority = 'science' | 'proof' | 'wisdom' | 'religion' | 'human' | 'prudence';
17
+ export type EpistemicLevel = 'verified' | 'supported' | 'wisdom' | 'tradition' | 'hypothesis' | 'preference' | 'unknown';
18
+ export interface EpistemicClaim {
19
+ content: string;
20
+ domain: EpistemicDomain;
21
+ authority: Authority;
22
+ level: EpistemicLevel;
23
+ confidence: number;
24
+ grounding: GroundingResult;
25
+ timestamp: Date;
26
+ }
27
+ export interface GroundingResult {
28
+ sources: GroundingSource[];
29
+ consensusLevel: 'settled' | 'emerging' | 'contested' | 'unknown';
30
+ multiModelAgreement?: number;
31
+ wisdomSources?: WisdomSource[];
32
+ traditionSources?: TraditionSource[];
33
+ humanConsultation?: HumanConsultation;
34
+ }
35
+ export interface GroundingSource {
36
+ type: 'paper' | 'proof' | 'empirical' | 'web' | 'wisdom' | 'tradition';
37
+ reference: string;
38
+ confidence: number;
39
+ excerpt?: string;
40
+ }
41
+ export interface WisdomSource {
42
+ type: 'proverb' | 'heuristic' | 'pattern' | 'framework';
43
+ content: string;
44
+ origin: string;
45
+ applicability: number;
46
+ }
47
+ export interface TraditionSource {
48
+ type: 'moral_absolute' | 'meaning_framework' | 'ritual' | 'narrative';
49
+ tradition: string;
50
+ content: string;
51
+ universality: number;
52
+ }
53
+ export interface HumanConsultation {
54
+ required: boolean;
55
+ reason: string;
56
+ question?: string;
57
+ response?: string;
58
+ timestamp?: Date;
59
+ }
60
+ export declare function classifyDomain(question: string): EpistemicDomain;
61
+ export declare function getAuthority(domain: EpistemicDomain): Authority[];
62
+ export declare const WISDOM_REPOSITORY: WisdomSource[];
63
+ export declare const TRADITION_REPOSITORY: TraditionSource[];
64
+ export declare class EpistemicStack {
65
+ private scienceGrounder?;
66
+ private proofChecker?;
67
+ /**
68
+ * Set the science grounding function (connects to MCP servers)
69
+ */
70
+ setScienceGrounder(fn: (claim: string) => Promise<GroundingResult>): void;
71
+ /**
72
+ * Set the proof checking function (connects to Wolfram, type checkers)
73
+ */
74
+ setProofChecker(fn: (claim: string) => Promise<GroundingResult>): void;
75
+ /**
76
+ * Ground a claim using the full epistemic stack
77
+ */
78
+ ground(claim: string): Promise<EpistemicClaim>;
79
+ /**
80
+ * Check if a claim requires human consultation
81
+ */
82
+ requiresHuman(claim: EpistemicClaim): boolean;
83
+ /**
84
+ * Get the question to ask the human
85
+ */
86
+ getHumanQuestion(claim: EpistemicClaim): string | undefined;
87
+ /**
88
+ * Update claim with human response
89
+ */
90
+ incorporateHumanResponse(claim: EpistemicClaim, response: string): EpistemicClaim;
91
+ private findRelevantWisdom;
92
+ private findPrudentialWisdom;
93
+ private findRelevantTradition;
94
+ private calculateConfidence;
95
+ private calculateTraditionConfidence;
96
+ private generateHumanQuestion;
97
+ }
98
+ export declare function createEpistemicStack(): EpistemicStack;
99
+ export declare function getEpistemicStack(): EpistemicStack;
100
+ export declare function resetEpistemicStack(): void;