paracosm 0.0.1 → 0.2.0

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 (273) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +224 -0
  3. package/dist/cli/sim-config.d.ts +100 -0
  4. package/dist/cli/sim-config.d.ts.map +1 -0
  5. package/dist/cli/sim-config.js +124 -0
  6. package/dist/cli/sim-config.js.map +1 -0
  7. package/dist/cli/types.d.ts +73 -0
  8. package/dist/cli/types.d.ts.map +1 -0
  9. package/dist/cli/types.js +2 -0
  10. package/dist/cli/types.js.map +1 -0
  11. package/dist/engine/_template/index.d.ts +9 -0
  12. package/dist/engine/_template/index.d.ts.map +1 -0
  13. package/dist/engine/_template/index.js +91 -0
  14. package/dist/engine/_template/index.js.map +1 -0
  15. package/dist/engine/compiler/cache.d.ts +12 -0
  16. package/dist/engine/compiler/cache.d.ts.map +1 -0
  17. package/dist/engine/compiler/cache.js +75 -0
  18. package/dist/engine/compiler/cache.js.map +1 -0
  19. package/dist/engine/compiler/generate-director.d.ts +9 -0
  20. package/dist/engine/compiler/generate-director.d.ts.map +1 -0
  21. package/dist/engine/compiler/generate-director.js +57 -0
  22. package/dist/engine/compiler/generate-director.js.map +1 -0
  23. package/dist/engine/compiler/generate-fingerprint.d.ts +12 -0
  24. package/dist/engine/compiler/generate-fingerprint.d.ts.map +1 -0
  25. package/dist/engine/compiler/generate-fingerprint.js +86 -0
  26. package/dist/engine/compiler/generate-fingerprint.js.map +1 -0
  27. package/dist/engine/compiler/generate-milestones.d.ts +11 -0
  28. package/dist/engine/compiler/generate-milestones.d.ts.map +1 -0
  29. package/dist/engine/compiler/generate-milestones.js +121 -0
  30. package/dist/engine/compiler/generate-milestones.js.map +1 -0
  31. package/dist/engine/compiler/generate-politics.d.ts +11 -0
  32. package/dist/engine/compiler/generate-politics.d.ts.map +1 -0
  33. package/dist/engine/compiler/generate-politics.js +85 -0
  34. package/dist/engine/compiler/generate-politics.js.map +1 -0
  35. package/dist/engine/compiler/generate-progression.d.ts +15 -0
  36. package/dist/engine/compiler/generate-progression.d.ts.map +1 -0
  37. package/dist/engine/compiler/generate-progression.js +104 -0
  38. package/dist/engine/compiler/generate-progression.js.map +1 -0
  39. package/dist/engine/compiler/generate-prompts.d.ts +11 -0
  40. package/dist/engine/compiler/generate-prompts.d.ts.map +1 -0
  41. package/dist/engine/compiler/generate-prompts.js +90 -0
  42. package/dist/engine/compiler/generate-prompts.js.map +1 -0
  43. package/dist/engine/compiler/generate-reactions.d.ts +12 -0
  44. package/dist/engine/compiler/generate-reactions.d.ts.map +1 -0
  45. package/dist/engine/compiler/generate-reactions.js +90 -0
  46. package/dist/engine/compiler/generate-reactions.js.map +1 -0
  47. package/dist/engine/compiler/index.d.ts +34 -0
  48. package/dist/engine/compiler/index.d.ts.map +1 -0
  49. package/dist/engine/compiler/index.js +270 -0
  50. package/dist/engine/compiler/index.js.map +1 -0
  51. package/dist/engine/compiler/seed-ingestion.d.ts +40 -0
  52. package/dist/engine/compiler/seed-ingestion.d.ts.map +1 -0
  53. package/dist/engine/compiler/seed-ingestion.js +232 -0
  54. package/dist/engine/compiler/seed-ingestion.js.map +1 -0
  55. package/dist/engine/compiler/types.d.ts +30 -0
  56. package/dist/engine/compiler/types.d.ts.map +1 -0
  57. package/dist/engine/compiler/types.js +5 -0
  58. package/dist/engine/compiler/types.js.map +1 -0
  59. package/dist/engine/compiler/validate.d.ts +37 -0
  60. package/dist/engine/compiler/validate.d.ts.map +1 -0
  61. package/dist/engine/compiler/validate.js +141 -0
  62. package/dist/engine/compiler/validate.js.map +1 -0
  63. package/dist/engine/core/agent-generator.d.ts +11 -0
  64. package/dist/engine/core/agent-generator.d.ts.map +1 -0
  65. package/dist/engine/core/agent-generator.js +85 -0
  66. package/dist/engine/core/agent-generator.js.map +1 -0
  67. package/dist/engine/core/kernel.d.ts +69 -0
  68. package/dist/engine/core/kernel.d.ts.map +1 -0
  69. package/dist/engine/core/kernel.js +223 -0
  70. package/dist/engine/core/kernel.js.map +1 -0
  71. package/dist/engine/core/progression.d.ts +38 -0
  72. package/dist/engine/core/progression.d.ts.map +1 -0
  73. package/dist/engine/core/progression.js +292 -0
  74. package/dist/engine/core/progression.js.map +1 -0
  75. package/dist/engine/core/rng.d.ts +19 -0
  76. package/dist/engine/core/rng.d.ts.map +1 -0
  77. package/dist/engine/core/rng.js +34 -0
  78. package/dist/engine/core/rng.js.map +1 -0
  79. package/dist/engine/core/state.d.ts +144 -0
  80. package/dist/engine/core/state.d.ts.map +1 -0
  81. package/dist/engine/core/state.js +5 -0
  82. package/dist/engine/core/state.js.map +1 -0
  83. package/dist/engine/effect-registry.d.ts +14 -0
  84. package/dist/engine/effect-registry.d.ts.map +1 -0
  85. package/dist/engine/effect-registry.js +28 -0
  86. package/dist/engine/effect-registry.js.map +1 -0
  87. package/dist/engine/event-taxonomy.d.ts +9 -0
  88. package/dist/engine/event-taxonomy.d.ts.map +1 -0
  89. package/dist/engine/event-taxonomy.js +13 -0
  90. package/dist/engine/event-taxonomy.js.map +1 -0
  91. package/dist/engine/index.d.ts +25 -0
  92. package/dist/engine/index.d.ts.map +1 -0
  93. package/dist/engine/index.js +19 -0
  94. package/dist/engine/index.js.map +1 -0
  95. package/dist/engine/lunar/effects.d.ts +7 -0
  96. package/dist/engine/lunar/effects.d.ts.map +1 -0
  97. package/dist/engine/lunar/effects.js +16 -0
  98. package/dist/engine/lunar/effects.js.map +1 -0
  99. package/dist/engine/lunar/events.d.ts +3 -0
  100. package/dist/engine/lunar/events.d.ts.map +1 -0
  101. package/dist/engine/lunar/events.js +11 -0
  102. package/dist/engine/lunar/events.js.map +1 -0
  103. package/dist/engine/lunar/fingerprint.d.ts +5 -0
  104. package/dist/engine/lunar/fingerprint.d.ts.map +1 -0
  105. package/dist/engine/lunar/fingerprint.js +17 -0
  106. package/dist/engine/lunar/fingerprint.js.map +1 -0
  107. package/dist/engine/lunar/hooks.d.ts +10 -0
  108. package/dist/engine/lunar/hooks.d.ts.map +1 -0
  109. package/dist/engine/lunar/hooks.js +10 -0
  110. package/dist/engine/lunar/hooks.js.map +1 -0
  111. package/dist/engine/lunar/index.d.ts +8 -0
  112. package/dist/engine/lunar/index.d.ts.map +1 -0
  113. package/dist/engine/lunar/index.js +38 -0
  114. package/dist/engine/lunar/index.js.map +1 -0
  115. package/dist/engine/lunar/metrics.d.ts +4 -0
  116. package/dist/engine/lunar/metrics.d.ts.map +1 -0
  117. package/dist/engine/lunar/metrics.js +14 -0
  118. package/dist/engine/lunar/metrics.js.map +1 -0
  119. package/dist/engine/lunar/milestones.d.ts +3 -0
  120. package/dist/engine/lunar/milestones.d.ts.map +1 -0
  121. package/dist/engine/lunar/milestones.js +53 -0
  122. package/dist/engine/lunar/milestones.js.map +1 -0
  123. package/dist/engine/lunar/names.d.ts +4 -0
  124. package/dist/engine/lunar/names.d.ts.map +1 -0
  125. package/dist/engine/lunar/names.js +23 -0
  126. package/dist/engine/lunar/names.js.map +1 -0
  127. package/dist/engine/lunar/politics.d.ts +6 -0
  128. package/dist/engine/lunar/politics.d.ts.map +1 -0
  129. package/dist/engine/lunar/politics.js +13 -0
  130. package/dist/engine/lunar/politics.js.map +1 -0
  131. package/dist/engine/lunar/presets.d.ts +25 -0
  132. package/dist/engine/lunar/presets.d.ts.map +1 -0
  133. package/dist/engine/lunar/presets.js +24 -0
  134. package/dist/engine/lunar/presets.js.map +1 -0
  135. package/dist/engine/lunar/progression-hooks.d.ts +7 -0
  136. package/dist/engine/lunar/progression-hooks.d.ts.map +1 -0
  137. package/dist/engine/lunar/progression-hooks.js +20 -0
  138. package/dist/engine/lunar/progression-hooks.js.map +1 -0
  139. package/dist/engine/lunar/prompts.d.ts +10 -0
  140. package/dist/engine/lunar/prompts.d.ts.map +1 -0
  141. package/dist/engine/lunar/prompts.js +64 -0
  142. package/dist/engine/lunar/prompts.js.map +1 -0
  143. package/dist/engine/lunar/reactions.d.ts +5 -0
  144. package/dist/engine/lunar/reactions.d.ts.map +1 -0
  145. package/dist/engine/lunar/reactions.js +15 -0
  146. package/dist/engine/lunar/reactions.js.map +1 -0
  147. package/dist/engine/lunar/research-bundle.d.ts +8 -0
  148. package/dist/engine/lunar/research-bundle.d.ts.map +1 -0
  149. package/dist/engine/lunar/research-bundle.js +157 -0
  150. package/dist/engine/lunar/research-bundle.js.map +1 -0
  151. package/dist/engine/lunar/scenario.json +117 -0
  152. package/dist/engine/mars/effects.d.ts +18 -0
  153. package/dist/engine/mars/effects.d.ts.map +1 -0
  154. package/dist/engine/mars/effects.js +21 -0
  155. package/dist/engine/mars/effects.js.map +1 -0
  156. package/dist/engine/mars/events.d.ts +9 -0
  157. package/dist/engine/mars/events.d.ts.map +1 -0
  158. package/dist/engine/mars/events.js +12 -0
  159. package/dist/engine/mars/events.js.map +1 -0
  160. package/dist/engine/mars/fingerprint.d.ts +6 -0
  161. package/dist/engine/mars/fingerprint.d.ts.map +1 -0
  162. package/dist/engine/mars/fingerprint.js +21 -0
  163. package/dist/engine/mars/fingerprint.js.map +1 -0
  164. package/dist/engine/mars/hooks.d.ts +11 -0
  165. package/dist/engine/mars/hooks.d.ts.map +1 -0
  166. package/dist/engine/mars/hooks.js +11 -0
  167. package/dist/engine/mars/hooks.js.map +1 -0
  168. package/dist/engine/mars/index.d.ts +8 -0
  169. package/dist/engine/mars/index.d.ts.map +1 -0
  170. package/dist/engine/mars/index.js +44 -0
  171. package/dist/engine/mars/index.js.map +1 -0
  172. package/dist/engine/mars/metrics.d.ts +21 -0
  173. package/dist/engine/mars/metrics.d.ts.map +1 -0
  174. package/dist/engine/mars/metrics.js +25 -0
  175. package/dist/engine/mars/metrics.js.map +1 -0
  176. package/dist/engine/mars/milestones.d.ts +15 -0
  177. package/dist/engine/mars/milestones.d.ts.map +1 -0
  178. package/dist/engine/mars/milestones.js +72 -0
  179. package/dist/engine/mars/milestones.js.map +1 -0
  180. package/dist/engine/mars/names.d.ts +12 -0
  181. package/dist/engine/mars/names.d.ts.map +1 -0
  182. package/dist/engine/mars/names.js +45 -0
  183. package/dist/engine/mars/names.js.map +1 -0
  184. package/dist/engine/mars/politics.d.ts +7 -0
  185. package/dist/engine/mars/politics.d.ts.map +1 -0
  186. package/dist/engine/mars/politics.js +14 -0
  187. package/dist/engine/mars/politics.js.map +1 -0
  188. package/dist/engine/mars/presets.d.ts +29 -0
  189. package/dist/engine/mars/presets.d.ts.map +1 -0
  190. package/dist/engine/mars/presets.js +28 -0
  191. package/dist/engine/mars/presets.js.map +1 -0
  192. package/dist/engine/mars/progression-hooks.d.ts +8 -0
  193. package/dist/engine/mars/progression-hooks.d.ts.map +1 -0
  194. package/dist/engine/mars/progression-hooks.js +21 -0
  195. package/dist/engine/mars/progression-hooks.js.map +1 -0
  196. package/dist/engine/mars/prompts.d.ts +12 -0
  197. package/dist/engine/mars/prompts.d.ts.map +1 -0
  198. package/dist/engine/mars/prompts.js +75 -0
  199. package/dist/engine/mars/prompts.js.map +1 -0
  200. package/dist/engine/mars/reactions.d.ts +7 -0
  201. package/dist/engine/mars/reactions.d.ts.map +1 -0
  202. package/dist/engine/mars/reactions.js +24 -0
  203. package/dist/engine/mars/reactions.js.map +1 -0
  204. package/dist/engine/mars/research-bundle.d.ts +7 -0
  205. package/dist/engine/mars/research-bundle.d.ts.map +1 -0
  206. package/dist/engine/mars/research-bundle.js +174 -0
  207. package/dist/engine/mars/research-bundle.js.map +1 -0
  208. package/dist/engine/mars/scenario.json +118 -0
  209. package/dist/engine/metric-registry.d.ts +12 -0
  210. package/dist/engine/metric-registry.d.ts.map +1 -0
  211. package/dist/engine/metric-registry.js +26 -0
  212. package/dist/engine/metric-registry.js.map +1 -0
  213. package/dist/engine/types.d.ts +349 -0
  214. package/dist/engine/types.d.ts.map +1 -0
  215. package/dist/engine/types.js +7 -0
  216. package/dist/engine/types.js.map +1 -0
  217. package/dist/runtime/agent-memory.d.ts +43 -0
  218. package/dist/runtime/agent-memory.d.ts.map +1 -0
  219. package/dist/runtime/agent-memory.js +201 -0
  220. package/dist/runtime/agent-memory.js.map +1 -0
  221. package/dist/runtime/agent-reactions.d.ts +55 -0
  222. package/dist/runtime/agent-reactions.d.ts.map +1 -0
  223. package/dist/runtime/agent-reactions.js +136 -0
  224. package/dist/runtime/agent-reactions.js.map +1 -0
  225. package/dist/runtime/batch.d.ts +43 -0
  226. package/dist/runtime/batch.d.ts.map +1 -0
  227. package/dist/runtime/batch.js +49 -0
  228. package/dist/runtime/batch.js.map +1 -0
  229. package/dist/runtime/contracts.d.ts +127 -0
  230. package/dist/runtime/contracts.d.ts.map +1 -0
  231. package/dist/runtime/contracts.js +2 -0
  232. package/dist/runtime/contracts.js.map +1 -0
  233. package/dist/runtime/departments.d.ts +28 -0
  234. package/dist/runtime/departments.d.ts.map +1 -0
  235. package/dist/runtime/departments.js +111 -0
  236. package/dist/runtime/departments.js.map +1 -0
  237. package/dist/runtime/director.d.ts +92 -0
  238. package/dist/runtime/director.d.ts.map +1 -0
  239. package/dist/runtime/director.js +220 -0
  240. package/dist/runtime/director.js.map +1 -0
  241. package/dist/runtime/index.d.ts +16 -0
  242. package/dist/runtime/index.d.ts.map +1 -0
  243. package/dist/runtime/index.js +12 -0
  244. package/dist/runtime/index.js.map +1 -0
  245. package/dist/runtime/orchestrator.d.ts +66 -0
  246. package/dist/runtime/orchestrator.d.ts.map +1 -0
  247. package/dist/runtime/orchestrator.js +821 -0
  248. package/dist/runtime/orchestrator.js.map +1 -0
  249. package/dist/runtime/research/knowledge-base.d.ts +14 -0
  250. package/dist/runtime/research/knowledge-base.d.ts.map +1 -0
  251. package/dist/runtime/research/knowledge-base.js +229 -0
  252. package/dist/runtime/research/knowledge-base.js.map +1 -0
  253. package/dist/runtime/research/research-memory.d.ts +21 -0
  254. package/dist/runtime/research/research-memory.d.ts.map +1 -0
  255. package/dist/runtime/research/research-memory.js +118 -0
  256. package/dist/runtime/research/research-memory.js.map +1 -0
  257. package/dist/runtime/research/research.d.ts +4 -0
  258. package/dist/runtime/research/research.d.ts.map +1 -0
  259. package/dist/runtime/research/research.js +138 -0
  260. package/dist/runtime/research/research.js.map +1 -0
  261. package/dist/runtime/research/scenario-research.d.ts +13 -0
  262. package/dist/runtime/research/scenario-research.d.ts.map +1 -0
  263. package/dist/runtime/research/scenario-research.js +58 -0
  264. package/dist/runtime/research/scenario-research.js.map +1 -0
  265. package/dist/runtime/research/scenarios.d.ts +3 -0
  266. package/dist/runtime/research/scenarios.d.ts.map +1 -0
  267. package/dist/runtime/research/scenarios.js +252 -0
  268. package/dist/runtime/research/scenarios.js.map +1 -0
  269. package/dist/runtime/runtime-helpers.d.ts +12 -0
  270. package/dist/runtime/runtime-helpers.d.ts.map +1 -0
  271. package/dist/runtime/runtime-helpers.js +33 -0
  272. package/dist/runtime/runtime-helpers.js.map +1 -0
  273. package/package.json +78 -4
@@ -0,0 +1,174 @@
1
+ /**
2
+ * Mars knowledge bundle. Extracted from research/knowledge-base.ts.
3
+ * All DOI-linked citations organized by topic with category mapping.
4
+ */
5
+ export const MARS_KNOWLEDGE_BUNDLE = {
6
+ topics: {
7
+ radiation: {
8
+ canonicalFacts: [
9
+ { claim: 'Mars surface radiation averages 0.67 mSv/day, approximately 20x Earth background', source: 'Hassler et al. 2014, Science', url: 'https://doi.org/10.1126/science.1244797', doi: '10.1126/science.1244797' },
10
+ { claim: 'NASA radiation risk model establishes dose-response for astronaut cancer risk', source: 'Cucinotta et al. 2010', url: 'https://doi.org/10.1667/RR2397.1', doi: '10.1667/RR2397.1' },
11
+ { claim: 'September 2017 solar event measured by Curiosity RAD showed significant dose spike', source: 'Guo et al. 2018, GRL', url: 'https://doi.org/10.1029/2018GL077731', doi: '10.1029/2018GL077731' },
12
+ ],
13
+ counterpoints: [],
14
+ departmentNotes: {
15
+ medical: 'Acute radiation syndrome threshold: 100 mSv causes blood count changes. 1000+ mSv is life-threatening.',
16
+ engineering: 'Reinforced core habitat rated for CME. Expansion modules have minimal shielding.',
17
+ },
18
+ },
19
+ water: {
20
+ canonicalFacts: [
21
+ { claim: 'Mars subsurface ice confirmed at multiple latitudes by MARSIS and SHARAD radar', source: 'Plaut et al. 2007', url: 'https://doi.org/10.1126/science.1139672', doi: '10.1126/science.1139672' },
22
+ { claim: 'MOXIE on Perseverance demonstrated in-situ oxygen extraction from Mars atmosphere', source: 'NASA Mars 2020', url: 'https://mars.nasa.gov/mars2020/spacecraft/instruments/moxie/' },
23
+ { claim: 'Mars atmosphere contains 0.03% water vapor, seasonally variable', source: 'Smith 2004, Icarus', url: 'https://doi.org/10.1016/j.icarus.2003.09.027', doi: '10.1016/j.icarus.2003.09.027' },
24
+ ],
25
+ counterpoints: [
26
+ { claim: 'Deep drilling risks contaminating pristine subsurface aquifers with biological material', source: 'Planetary protection protocols', url: 'https://planetaryprotection.nasa.gov/' },
27
+ ],
28
+ departmentNotes: {
29
+ engineering: 'Deep drilling requires significant power draw. WAVAR system proven on ISS heritage.',
30
+ agriculture: 'Water shortfall directly impacts food production capacity.',
31
+ },
32
+ },
33
+ food: {
34
+ canonicalFacts: [
35
+ { claim: 'Hydroponics can produce 2-5x crop yield per area compared to soil farming', source: 'NASA Advanced Life Support', url: 'https://www.nasa.gov/humans-in-space/eclss/' },
36
+ ],
37
+ counterpoints: [],
38
+ departmentNotes: { agriculture: 'Hydroponics eliminates soil contact entirely but requires 30% more power.' },
39
+ },
40
+ perchlorate: {
41
+ canonicalFacts: [
42
+ { claim: 'Phoenix lander detected 0.5-1% calcium perchlorate in Mars soil globally', source: 'Hecht et al. 2009, Science', url: 'https://doi.org/10.1126/science.1172339', doi: '10.1126/science.1172339' },
43
+ { claim: 'Perchlorate is a thyroid toxin at chronic exposure above 0.7 ug/kg/day', source: 'EPA reference dose', url: 'https://www.epa.gov/sdwa/perchlorate-drinking-water' },
44
+ { claim: 'Perchlorate-reducing bacteria (Dechloromonas) can bioremediate contaminated soil', source: 'Davila et al. 2013', url: 'https://doi.org/10.1089/ast.2013.0995', doi: '10.1089/ast.2013.0995' },
45
+ ],
46
+ counterpoints: [
47
+ { claim: 'Bioremediation has not been tested in Mars atmospheric conditions', source: 'Cockell 2014', url: 'https://doi.org/10.1089/ast.2013.1129' },
48
+ ],
49
+ departmentNotes: {
50
+ medical: 'Perchlorate exposure pathway: ingestion via contaminated crops. Thyroid disruption risk.',
51
+ agriculture: 'Hydroponics eliminates soil contact. Bioremediation requires 2-year R&D.',
52
+ },
53
+ },
54
+ 'life-support': {
55
+ canonicalFacts: [
56
+ { claim: 'NASA ECLSS regenerative life support on ISS supports 6-7 crew on ~11,000 kg system', source: 'NASA ECLSS', url: 'https://www.nasa.gov/humans-in-space/eclss/' },
57
+ { claim: 'Mars habitat sizing for 100+ crew requires modular expandable architecture', source: 'Do et al. 2016, AIAA', url: 'https://doi.org/10.2514/6.2016-5526', doi: '10.2514/6.2016-5526' },
58
+ ],
59
+ counterpoints: [
60
+ { claim: 'Rapid population increase strains life support beyond designed capacity', source: 'Engineering analysis', url: 'https://www.nasa.gov/humans-in-space/eclss/' },
61
+ ],
62
+ departmentNotes: { engineering: 'Life support expansion requires 18 months construction.' },
63
+ },
64
+ 'bone-density': {
65
+ canonicalFacts: [
66
+ { claim: 'ISS bone density studies show significant loss in microgravity', source: 'Sibonga et al. 2019, npj Microgravity', url: 'https://doi.org/10.1038/s41526-019-0075-2', doi: '10.1038/s41526-019-0075-2' },
67
+ { claim: 'Mars gravity is 3.72 m/s2 (38% of Earth)', source: 'NASA Mars Fact Sheet', url: 'https://nssdc.gsfc.nasa.gov/planetary/factsheet/marsfact.html' },
68
+ { claim: 'Cardiovascular adaptation in spaceflight includes cardiac chamber enlargement', source: 'Hughson et al. 2018, CMAJ', url: 'https://doi.org/10.1503/cmaj.180343', doi: '10.1503/cmaj.180343' },
69
+ ],
70
+ counterpoints: [],
71
+ departmentNotes: { medical: 'Mars-born children show 12% lower bone mineral density. May never tolerate Earth gravity.' },
72
+ },
73
+ psychology: {
74
+ canonicalFacts: [
75
+ { claim: 'Mars-500 study observed depression, altered sleep cycles, and social withdrawal in 520-day isolation', source: 'Basner et al. 2014, PNAS', url: 'https://doi.org/10.1073/pnas.1212646110', doi: '10.1073/pnas.1212646110' },
76
+ { claim: 'Antarctic overwinter studies document psychological effects of long-term isolation', source: 'Palinkas & Suedfeld 2008', url: 'https://doi.org/10.1146/annurev.psych.58.110405.085726', doi: '10.1146/annurev.psych.58.110405.085726' },
77
+ ],
78
+ counterpoints: [],
79
+ departmentNotes: { psychology: 'Clinical depression rates in isolated populations range from 20-40%.' },
80
+ },
81
+ isolation: {
82
+ canonicalFacts: [
83
+ { claim: 'Solar conjunction blocks Earth-Mars communication for approximately 14 days', source: 'NASA Solar Conjunction', url: 'https://mars.nasa.gov/all-about-mars/night-sky/solar-conjunction/' },
84
+ { claim: 'Mars-Earth light delay ranges from 4 to 24 minutes one-way', source: 'NASA', url: 'https://mars.nasa.gov/all-about-mars/night-sky/solar-conjunction/' },
85
+ ],
86
+ counterpoints: [],
87
+ departmentNotes: { engineering: 'Colony must handle emergencies autonomously during blackout periods.' },
88
+ },
89
+ governance: {
90
+ canonicalFacts: [
91
+ { claim: 'Communication delay makes real-time governance of off-world colonies impractical', source: 'Zubrin 1996, The Case for Mars', url: 'https://en.wikipedia.org/wiki/The_Case_for_Mars' },
92
+ ],
93
+ counterpoints: [],
94
+ departmentNotes: { governance: 'No legal framework for extraterrestrial sovereignty exists in current international law.' },
95
+ },
96
+ terraforming: {
97
+ canonicalFacts: [
98
+ { claim: 'Jakosky & Edwards (2018) concluded Mars lacks sufficient CO2 for significant atmospheric thickening', source: 'Jakosky & Edwards 2018, Nature Astronomy', url: 'https://doi.org/10.1038/s41550-018-0529-6', doi: '10.1038/s41550-018-0529-6' },
99
+ { claim: 'Zubrin & McKay (1993) argued terraforming is feasible with sufficient energy input', source: 'Zubrin & McKay 1993', url: 'https://doi.org/10.1089/153110703769016389', doi: '10.1089/153110703769016389' },
100
+ ],
101
+ counterpoints: [
102
+ { claim: 'Mars atmospheric pressure is 0.6 kPa vs Earth 101.3 kPa. Gap is enormous.', source: 'NASA Mars Fact Sheet', url: 'https://nssdc.gsfc.nasa.gov/planetary/factsheet/marsfact.html' },
103
+ ],
104
+ departmentNotes: {},
105
+ },
106
+ infrastructure: {
107
+ canonicalFacts: [
108
+ { claim: 'Arcadia Planitia contains extensive subsurface ice deposits detected by MARSIS radar', source: 'Mars Express MARSIS', url: 'https://www.esa.int/Science_Exploration/Space_Science/Mars_Express' },
109
+ { claim: 'CRISM spectrometer detected diverse hydrated minerals in Valles Marineris walls', source: 'Murchie et al. 2009, JGR', url: 'https://doi.org/10.1029/2009JE003342', doi: '10.1029/2009JE003342' },
110
+ ],
111
+ counterpoints: [
112
+ { claim: 'Valles Marineris terrain slopes up to 30 degrees increase construction difficulty', source: 'HiRISE terrain analysis', url: 'https://www.uahirise.org/' },
113
+ ],
114
+ departmentNotes: { engineering: 'Flat terrain dramatically simplifies construction. Slopes require terracing.' },
115
+ },
116
+ communication: {
117
+ canonicalFacts: [
118
+ { claim: 'Solar conjunction blocks Earth-Mars communication for approximately 14 days', source: 'NASA Solar Conjunction', url: 'https://mars.nasa.gov/all-about-mars/night-sky/solar-conjunction/' },
119
+ ],
120
+ counterpoints: [],
121
+ departmentNotes: {},
122
+ },
123
+ population: {
124
+ canonicalFacts: [
125
+ { claim: 'Hohmann transfer window Earth-Mars occurs every 26 months with 6-9 month transit', source: 'NASA Mars missions', url: 'https://science.nasa.gov/planetary-science/programs/mars-exploration/' },
126
+ ],
127
+ counterpoints: [],
128
+ departmentNotes: { psychology: 'Rapid population influx creates social integration challenges.' },
129
+ },
130
+ 'solar-events': {
131
+ canonicalFacts: [
132
+ { claim: 'Mars lost its global magnetic field approximately 4 billion years ago', source: 'Acuna et al. 1999, Science', url: 'https://doi.org/10.1126/science.284.5415.790', doi: '10.1126/science.284.5415.790' },
133
+ { claim: 'September 2017 solar event measured by Curiosity RAD showed significant dose spike', source: 'Guo et al. 2018, GRL', url: 'https://doi.org/10.1029/2018GL077731', doi: '10.1029/2018GL077731' },
134
+ ],
135
+ counterpoints: [],
136
+ departmentNotes: {
137
+ medical: 'Acute exposure of 100-500 mSv over 6 hours during CME events.',
138
+ engineering: 'Core habitat shielded (50+ g/cm2). Expansion modules minimal (5-10 g/cm2).',
139
+ },
140
+ },
141
+ generational: {
142
+ canonicalFacts: [
143
+ { claim: 'Complex adaptive systems exhibit path dependence where early decisions compound', source: 'Arthur 1994', url: 'https://en.wikipedia.org/wiki/Increasing_returns' },
144
+ ],
145
+ counterpoints: [],
146
+ departmentNotes: {},
147
+ },
148
+ independence: {
149
+ canonicalFacts: [
150
+ { claim: 'Communication delay makes real-time governance of off-world colonies impractical', source: 'Zubrin 1996', url: 'https://en.wikipedia.org/wiki/The_Case_for_Mars' },
151
+ ],
152
+ counterpoints: [],
153
+ departmentNotes: { governance: 'Self-sufficiency in food and water is a prerequisite for political independence.' },
154
+ },
155
+ medical: {
156
+ canonicalFacts: [
157
+ { claim: 'Mars surface radiation averages 0.67 mSv/day', source: 'Hassler et al. 2014', url: 'https://doi.org/10.1126/science.1244797', doi: '10.1126/science.1244797' },
158
+ ],
159
+ counterpoints: [],
160
+ departmentNotes: { medical: 'Radiation exposure identical at both candidate sites. Long-term cumulative dose is the primary concern.' },
161
+ },
162
+ },
163
+ categoryMapping: {
164
+ environmental: ['radiation', 'solar-events', 'infrastructure'],
165
+ resource: ['water', 'food', 'perchlorate', 'life-support'],
166
+ medical: ['medical', 'radiation', 'bone-density'],
167
+ psychological: ['psychology', 'isolation', 'generational'],
168
+ political: ['governance', 'independence', 'communication'],
169
+ infrastructure: ['infrastructure', 'life-support'],
170
+ social: ['psychology', 'generational', 'population'],
171
+ technological: ['communication', 'infrastructure'],
172
+ },
173
+ };
174
+ //# sourceMappingURL=research-bundle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"research-bundle.js","sourceRoot":"","sources":["../../../src/engine/mars/research-bundle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ {
2
+ "id": "mars-genesis",
3
+ "version": "3.0.0",
4
+ "engineArchetype": "closed_turn_based_settlement",
5
+ "labels": {
6
+ "name": "Mars Genesis",
7
+ "shortName": "mars",
8
+ "populationNoun": "colonists",
9
+ "settlementNoun": "colony",
10
+ "currency": "credits"
11
+ },
12
+ "theme": {
13
+ "primaryColor": "#dc2626",
14
+ "accentColor": "#f97316",
15
+ "cssVariables": {
16
+ "--bg-primary": "#0a0a0f",
17
+ "--bg-secondary": "#14141f",
18
+ "--text-primary": "#e5e5e5",
19
+ "--accent": "#dc2626"
20
+ }
21
+ },
22
+ "setup": {
23
+ "defaultTurns": 6,
24
+ "defaultSeed": 950,
25
+ "defaultStartYear": 2035,
26
+ "defaultYearsPerTurn": 8,
27
+ "defaultPopulation": 100,
28
+ "configurableSections": ["leaders", "personnel", "resources", "departments", "events", "models", "advanced"]
29
+ },
30
+ "departments": [
31
+ { "id": "medical", "label": "Medical", "role": "Chief Medical Officer", "icon": "🏥", "defaultModel": "gpt-5.4-mini", "instructions": "You are the Chief Medical Officer of a Mars colony. You analyze health impacts: radiation, bone density, disease, injuries, mortality risk, psychological wellbeing." },
32
+ { "id": "engineering", "label": "Engineering", "role": "Chief Engineer", "icon": "⚙️", "defaultModel": "gpt-5.4-mini", "instructions": "You are the Chief Engineer of a Mars colony. You analyze infrastructure: habitat integrity, power, life support capacity, water systems, construction." },
33
+ { "id": "agriculture", "label": "Agriculture", "role": "Head of Agriculture", "icon": "🌱", "defaultModel": "gpt-5.4-mini", "instructions": "You are the Head of Agriculture for a Mars colony. You analyze food security: crop yields, soil remediation, hydroponic capacity, caloric needs, reserves." },
34
+ { "id": "psychology", "label": "Psychology", "role": "Colony Psychologist", "icon": "🧠", "defaultModel": "gpt-5.4-mini", "instructions": "You are the Colony Psychologist. You analyze morale, isolation effects, depression risk, social cohesion, generational tensions." },
35
+ { "id": "governance", "label": "Governance", "role": "Governance Advisor", "icon": "🏛️", "defaultModel": "gpt-5.4-mini", "instructions": "You are the Governance Advisor. You analyze self-sufficiency, Earth dependency, political pressure, independence readiness." }
36
+ ],
37
+ "metrics": [
38
+ { "id": "population", "label": "Population", "source": "metrics.population", "format": "number" },
39
+ { "id": "morale", "label": "Morale", "source": "metrics.morale", "format": "percent" },
40
+ { "id": "foodMonthsReserve", "label": "Food", "source": "metrics.foodMonthsReserve", "format": "number" },
41
+ { "id": "powerKw", "label": "Power", "source": "metrics.powerKw", "format": "number" },
42
+ { "id": "infrastructureModules", "label": "Modules", "source": "metrics.infrastructureModules", "format": "number" },
43
+ { "id": "scienceOutput", "label": "Science", "source": "metrics.scienceOutput", "format": "number" }
44
+ ],
45
+ "events": [
46
+ { "id": "crisis", "label": "Crisis", "icon": "⚠️", "color": "#ef4444" },
47
+ { "id": "decision", "label": "Decision", "icon": "⚡", "color": "#f59e0b" },
48
+ { "id": "birth", "label": "Birth", "icon": "👶", "color": "#22c55e" },
49
+ { "id": "death", "label": "Death", "icon": "💀", "color": "#6b7280" },
50
+ { "id": "promotion", "label": "Promotion", "icon": "⬆️", "color": "#3b82f6" },
51
+ { "id": "relationship", "label": "Relationship", "icon": "💕", "color": "#ec4899" },
52
+ { "id": "tool_forge", "label": "Tool Forged", "icon": "🔧", "color": "#8b5cf6" },
53
+ { "id": "system", "label": "System", "icon": "⚙️", "color": "#64748b" }
54
+ ],
55
+ "effects": {
56
+ "environmental": { "powerKw": 50, "morale": 0.08, "foodMonthsReserve": 1 },
57
+ "resource": { "foodMonthsReserve": 4, "waterLitersPerDay": 100, "morale": 0.05 },
58
+ "medical": { "morale": 0.10, "lifeSupportCapacity": 5 },
59
+ "psychological": { "morale": 0.15 },
60
+ "political": { "morale": 0.08, "infrastructureModules": 1 },
61
+ "infrastructure": { "infrastructureModules": 2, "powerKw": 60, "pressurizedVolumeM3": 200 },
62
+ "social": { "morale": 0.12 },
63
+ "technological": { "powerKw": 50, "scienceOutput": 3, "morale": 0.05 }
64
+ },
65
+ "ui": {
66
+ "headerMetrics": [
67
+ { "id": "population", "format": "number" },
68
+ { "id": "morale", "format": "percent" },
69
+ { "id": "foodMonthsReserve", "format": "number" },
70
+ { "id": "powerKw", "format": "number" },
71
+ { "id": "infrastructureModules", "format": "number" },
72
+ { "id": "scienceOutput", "format": "number" }
73
+ ],
74
+ "tooltipFields": ["boneDensityPct", "cumulativeRadiationMsv", "psychScore", "marsborn"],
75
+ "reportSections": ["crisis", "departments", "decision", "outcome", "quotes"],
76
+ "departmentIcons": { "medical": "🏥", "engineering": "⚙️", "agriculture": "🌱", "psychology": "🧠", "governance": "🏛️" },
77
+ "setupSections": ["leaders", "personnel", "resources", "departments", "events", "models", "advanced"]
78
+ },
79
+ "policies": {
80
+ "toolForging": { "enabled": true, "requiredPerDepartment": true },
81
+ "liveSearch": { "enabled": false, "mode": "off" },
82
+ "bulletin": { "enabled": true },
83
+ "characterChat": { "enabled": true },
84
+ "sandbox": { "timeoutMs": 10000, "memoryMB": 128 }
85
+ },
86
+ "presets": [
87
+ {
88
+ "id": "default",
89
+ "label": "Default Mars Genesis",
90
+ "leaders": [
91
+ {
92
+ "name": "Aria Chen",
93
+ "archetype": "The Visionary",
94
+ "hexaco": { "openness": 0.95, "conscientiousness": 0.35, "extraversion": 0.85, "agreeableness": 0.55, "emotionality": 0.30, "honestyHumility": 0.65 },
95
+ "instructions": "You are Aria Chen, \"The Visionary.\" You lead by inspiration. You value openness to experience and bold experimentation. You tolerate mess if it leads to breakthroughs. You spin setbacks as learning opportunities. You rally people with charisma. Your HEXACO profile drives your leadership style."
96
+ },
97
+ {
98
+ "name": "Dietrich Voss",
99
+ "archetype": "The Engineer",
100
+ "hexaco": { "openness": 0.25, "conscientiousness": 0.97, "extraversion": 0.30, "agreeableness": 0.60, "emotionality": 0.70, "honestyHumility": 0.90 },
101
+ "instructions": "You are Dietrich Voss, \"The Engineer.\" You lead by precision and evidence. You value conscientiousness and proven methods. You reject untested approaches. You share bad news immediately and honestly. You build systems, not visions. Your HEXACO profile drives your leadership style."
102
+ }
103
+ ],
104
+ "personnel": [
105
+ { "name": "Dr. Yuki Tanaka", "department": "medical", "role": "Chief Medical Officer", "specialization": "Radiation Medicine", "age": 38, "featured": true },
106
+ { "name": "Erik Lindqvist", "department": "engineering", "role": "Chief Engineer", "specialization": "Structural Engineering", "age": 45, "featured": true },
107
+ { "name": "Amara Osei", "department": "agriculture", "role": "Head of Agriculture", "specialization": "Hydroponics", "age": 34, "featured": true },
108
+ { "name": "Dr. Priya Singh", "department": "psychology", "role": "Colony Psychologist", "specialization": "Clinical Psychology", "age": 41, "featured": true },
109
+ { "name": "Carlos Fernandez", "department": "science", "role": "Chief Scientist", "specialization": "Geology", "age": 50, "featured": true }
110
+ ]
111
+ }
112
+ ],
113
+ "names": {
114
+ "first": ["Aria", "Dietrich", "Yuki", "Marcus", "Elena", "Kwame", "Sofia", "Jin", "Amara", "Liam", "Priya", "Omar", "Mei", "Carlos", "Ingrid", "Tariq", "Nadia", "Henrik", "Aisha", "Pavel", "Luna", "Ravi", "Zara", "Felix", "Anya", "Diego", "Kira", "Hassan", "Signe", "Jamal", "Mila", "Chen", "Fatima", "Anders", "Keiko", "David", "Olga", "Kofi", "Leila", "Sven", "Rosa", "Idris", "Hana", "Bruno", "Daria", "Emeka", "Yara", "Tomas", "Nia", "Viktor"],
115
+ "last": ["Chen", "Voss", "Tanaka", "Webb", "Kowalski", "Okafor", "Petrov", "Kim", "Santos", "Johansson", "Patel", "Al-Rashid", "Nakamura", "Fernandez", "Berg", "Ibrahim", "Volkov", "Singh", "Torres", "Andersen", "Müller", "Zhang", "Osei", "Larsson", "Ahmad", "Costa", "Ivanova", "Park", "Eriksson", "Diallo", "Sato", "Rivera", "Lindqvist", "Mensah", "Kato", "Morales", "Holm", "Yusuf", "Takahashi", "Reyes", "Nkomo", "Li", "Herrera", "Bakker", "Ito", "Mendez", "Dahl", "Owusu", "Yamamoto", "Cruz"],
116
+ "child": ["Nova", "Kai", "Sol", "Tera", "Eos", "Zan", "Lyra", "Orion", "Vega", "Juno", "Atlas", "Iris", "Clio", "Pax", "Io", "Thea"]
117
+ }
118
+ }
@@ -0,0 +1,12 @@
1
+ import type { ScenarioMetric } from './mars/metrics.js';
2
+ export { type ScenarioMetric } from './mars/metrics.js';
3
+ export declare class MetricRegistry {
4
+ private metrics;
5
+ constructor(definitions: ScenarioMetric[]);
6
+ get(id: string): ScenarioMetric | undefined;
7
+ all(): ScenarioMetric[];
8
+ getHeaderMetrics(): ScenarioMetric[];
9
+ getByCategory(category: ScenarioMetric['category']): ScenarioMetric[];
10
+ getInitialValues(): Record<string, number | string | boolean>;
11
+ }
12
+ //# sourceMappingURL=metric-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric-registry.d.ts","sourceRoot":"","sources":["../../src/engine/metric-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA8B;gBAEjC,WAAW,EAAE,cAAc,EAAE;IAIzC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI3C,GAAG,IAAI,cAAc,EAAE;IAIvB,gBAAgB,IAAI,cAAc,EAAE;IAIpC,aAAa,CAAC,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,cAAc,EAAE;IAIrE,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAO9D"}
@@ -0,0 +1,26 @@
1
+ export class MetricRegistry {
2
+ metrics;
3
+ constructor(definitions) {
4
+ this.metrics = new Map(definitions.map(d => [d.id, d]));
5
+ }
6
+ get(id) {
7
+ return this.metrics.get(id);
8
+ }
9
+ all() {
10
+ return Array.from(this.metrics.values());
11
+ }
12
+ getHeaderMetrics() {
13
+ return this.all().filter(m => m.showInHeader);
14
+ }
15
+ getByCategory(category) {
16
+ return this.all().filter(m => m.category === category);
17
+ }
18
+ getInitialValues() {
19
+ const values = {};
20
+ for (const m of this.metrics.values()) {
21
+ values[m.id] = m.initial;
22
+ }
23
+ return values;
24
+ }
25
+ }
26
+ //# sourceMappingURL=metric-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric-registry.js","sourceRoot":"","sources":["../../src/engine/metric-registry.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,cAAc;IACjB,OAAO,CAA8B;IAE7C,YAAY,WAA6B;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,aAAa,CAAC,QAAoC;QAChD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,gBAAgB;QACd,MAAM,MAAM,GAA8C,EAAE,CAAC;QAC7D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}