simjecture 0.5.0__tar.gz → 0.5.2__tar.gz

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 (753) hide show
  1. {simjecture-0.5.0 → simjecture-0.5.2}/.github/workflows/ci.yml +7 -1
  2. {simjecture-0.5.0 → simjecture-0.5.2}/.github/workflows/release.yml +19 -2
  3. {simjecture-0.5.0 → simjecture-0.5.2}/CHANGELOG.md +138 -1
  4. {simjecture-0.5.0 → simjecture-0.5.2}/CITATION.cff +2 -2
  5. simjecture-0.5.2/PKG-INFO +304 -0
  6. simjecture-0.5.2/README.md +261 -0
  7. {simjecture-0.5.0 → simjecture-0.5.2}/THIRD_PARTY_NOTICES.md +8 -0
  8. simjecture-0.5.2/capabilities/iter-pack-1.0.json +32 -0
  9. {simjecture-0.5.0 → simjecture-0.5.2}/capabilities/optab-1.3.1.json +5 -2
  10. {simjecture-0.5.0 → simjecture-0.5.2}/capabilities/warpx-cuda-openpmd-26.07.json +5 -1
  11. {simjecture-0.5.0 → simjecture-0.5.2}/docs/conf.py +1 -1
  12. simjecture-0.5.2/docs/development/releasing.md +53 -0
  13. {simjecture-0.5.0 → simjecture-0.5.2}/docs/getting-started/first-run.md +14 -11
  14. {simjecture-0.5.0 → simjecture-0.5.2}/docs/getting-started/installation.md +85 -22
  15. simjecture-0.5.2/docs/getting-started/research-workspace.md +267 -0
  16. {simjecture-0.5.0 → simjecture-0.5.2}/docs/getting-started/web-interface.md +15 -7
  17. simjecture-0.5.2/docs/how-to/continuation-steering.md +97 -0
  18. simjecture-0.5.2/docs/how-to/guided-commissioning.md +107 -0
  19. simjecture-0.5.2/docs/how-to/iter-pack.md +75 -0
  20. simjecture-0.5.2/docs/how-to/minimal-oversight.md +161 -0
  21. simjecture-0.5.2/docs/how-to/research-memory.md +127 -0
  22. {simjecture-0.5.0 → simjecture-0.5.2}/docs/how-to/research-service.md +6 -3
  23. simjecture-0.5.2/docs/how-to/restricted-containers.md +87 -0
  24. {simjecture-0.5.0 → simjecture-0.5.2}/docs/index.md +17 -4
  25. simjecture-0.5.2/docs/research/continuation-steering-rc3.md +109 -0
  26. simjecture-0.5.2/docs/research/llm-comparison.md +121 -0
  27. simjecture-0.5.2/docs/testing/iter-pack-acceptance.md +120 -0
  28. simjecture-0.5.2/docs/testing/rc2-installation-acceptance.md +99 -0
  29. simjecture-0.5.2/docs/testing/rc3-continuation-acceptance.md +74 -0
  30. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/package-lock.json +2 -2
  31. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/package.json +1 -1
  32. {simjecture-0.5.0 → simjecture-0.5.2}/pyproject.toml +8 -1
  33. simjecture-0.5.2/research/evaluations/automatic-journal-2026-09-24/RESULTS.md +113 -0
  34. simjecture-0.5.2/research/evaluations/automatic-journal-2026-09-24/invalid_sandbox_trials.json +63 -0
  35. simjecture-0.5.2/research/evaluations/automatic-journal-2026-09-24/live_journal.py +69 -0
  36. simjecture-0.5.2/research/evaluations/automatic-journal-2026-09-24/live_summary.json +43 -0
  37. simjecture-0.5.2/research/evaluations/automatic-journal-2026-09-24/recovery_ablation.py +140 -0
  38. simjecture-0.5.2/research/evaluations/automatic-journal-2026-09-24/recovery_results.json +77 -0
  39. simjecture-0.5.2/research/evaluations/automatic-journal-2026-09-24/validation.json +143 -0
  40. simjecture-0.5.2/research/evaluations/autoresearch-lessons-2026-09-24/RESULTS.md +112 -0
  41. simjecture-0.5.2/research/evaluations/autoresearch-lessons-2026-09-24/references.json +32 -0
  42. simjecture-0.5.2/research/evaluations/autoresearch-lessons-2026-09-24/validation.json +201 -0
  43. simjecture-0.5.2/research/evaluations/guided-model-comparison-2026-09-26/RESULTS.md +80 -0
  44. simjecture-0.5.2/research/evaluations/guided-model-comparison-2026-09-26/measurements.json +96 -0
  45. simjecture-0.5.2/research/evaluations/guided-reconnection-2026-09-25/PLAN.md +42 -0
  46. simjecture-0.5.2/research/evaluations/guided-reconnection-2026-09-25/RESULTS.md +97 -0
  47. simjecture-0.5.2/research/evaluations/guided-reconnection-2026-09-25/anchor-readiness.json +82 -0
  48. simjecture-0.5.2/research/evaluations/guided-reconnection-2026-09-25/export_results.py +74 -0
  49. simjecture-0.5.2/research/evaluations/guided-reconnection-2026-09-25/final-helper-readiness.json +51 -0
  50. simjecture-0.5.2/research/evaluations/guided-reconnection-2026-09-25/measurements.json +282 -0
  51. simjecture-0.5.2/research/evaluations/harness-audit-2026-09-24/RESULTS.md +127 -0
  52. simjecture-0.5.2/research/evaluations/harness-audit-2026-09-24/validation.json +126 -0
  53. simjecture-0.5.2/research/evaluations/restricted-host-2026-09-23/RESULTS.md +98 -0
  54. simjecture-0.5.2/research/proposals/external-field-onset-2026-09-23/README.md +161 -0
  55. simjecture-0.5.2/research/proposals/external-field-onset-2026-09-23/geometry.pdf +0 -0
  56. simjecture-0.5.2/research/proposals/external-field-onset-2026-09-23/geometry.png +0 -0
  57. simjecture-0.5.2/research/proposals/external-field-onset-2026-09-23/geometry.svg +3059 -0
  58. simjecture-0.5.2/research/proposals/external-field-onset-2026-09-23/plot_geometry.py +165 -0
  59. simjecture-0.5.2/scripts/install-workspace.sh +254 -0
  60. simjecture-0.5.2/scripts/launch-workspace.sh +10 -0
  61. simjecture-0.5.2/scripts/package_workspace.py +69 -0
  62. simjecture-0.5.2/scripts/prepare_runtime.py +9 -0
  63. simjecture-0.5.2/scripts/register_cuda_runtime.py +43 -0
  64. simjecture-0.5.2/scripts/runtime_environment.sh +13 -0
  65. simjecture-0.5.2/scripts/vendor_workspace.py +73 -0
  66. simjecture-0.5.2/scripts/verify_iter_pack.py +92 -0
  67. simjecture-0.5.2/scripts/verify_workspace_install.py +136 -0
  68. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/references/local-deployment.md +8 -5
  69. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/scripts/bootstrap_atomec.sh +5 -32
  70. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/scripts/bootstrap_maneos.sh +20 -31
  71. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/scripts/bootstrap_singularity_eos.sh +35 -33
  72. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/scripts/singularity_query.cpp +1 -0
  73. {simjecture-0.5.0 → simjecture-0.5.2}/skills/flash-mhd/SKILL.md +11 -3
  74. {simjecture-0.5.0 → simjecture-0.5.2}/skills/flash-mhd/manifest.json +1 -1
  75. simjecture-0.5.2/skills/flash-mhd/references/guided-studies.md +90 -0
  76. simjecture-0.5.2/skills/flash-mhd/references/local-deployment.md +165 -0
  77. {simjecture-0.5.0 → simjecture-0.5.2}/skills/flash-mhd/scripts/bootstrap_flash.sh +2 -23
  78. simjecture-0.5.2/skills/iter-pack/SKILL.md +42 -0
  79. simjecture-0.5.2/skills/iter-pack/examples/diagnostics_demo.py +185 -0
  80. simjecture-0.5.2/skills/iter-pack/examples/jorek_demo.py +48 -0
  81. simjecture-0.5.2/skills/iter-pack/manifest.json +8 -0
  82. simjecture-0.5.2/skills/iter-pack/references/diagnostics.md +75 -0
  83. simjecture-0.5.2/skills/iter-pack/references/dina.md +41 -0
  84. simjecture-0.5.2/skills/iter-pack/references/jorek.md +50 -0
  85. simjecture-0.5.2/skills/iter-pack/references/solps.md +45 -0
  86. simjecture-0.5.2/skills/iter-pack/scripts/bootstrap.py +103 -0
  87. simjecture-0.5.2/skills/iter-pack/scripts/bootstrap.sh +5 -0
  88. simjecture-0.5.2/skills/iter-pack/scripts/requirements.txt +10 -0
  89. {simjecture-0.5.0 → simjecture-0.5.2}/skills/opacity/examples/optab_runtime_smoke.py +11 -0
  90. {simjecture-0.5.0 → simjecture-0.5.2}/skills/opacity/references/local-deployment.md +11 -7
  91. {simjecture-0.5.0 → simjecture-0.5.2}/skills/opacity/scripts/bootstrap_optab.sh +30 -73
  92. simjecture-0.5.2/skills/opacity/scripts/fetch_optab_data.py +58 -0
  93. {simjecture-0.5.0 → simjecture-0.5.2}/skills/python-experiment/SKILL.md +18 -2
  94. {simjecture-0.5.0 → simjecture-0.5.2}/skills/python-experiment/manifest.json +1 -1
  95. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/references/local-cuda-deployment.md +35 -10
  96. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/scripts/bootstrap_local_cuda.sh +44 -18
  97. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/__init__.py +1 -1
  98. simjecture-0.5.2/src/conjecture_solver/agent_skills.py +35 -0
  99. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/agent_supervisor.py +168 -27
  100. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/campaign_kernel.py +36 -1
  101. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/cli.py +23 -3
  102. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/deployment.py +165 -111
  103. simjecture-0.5.2/src/conjecture_solver/execution.py +90 -0
  104. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/mvp_agent.py +27 -2
  105. simjecture-0.5.2/src/conjecture_solver/process_runner.py +127 -0
  106. simjecture-0.5.2/src/conjecture_solver/provider_retry.py +102 -0
  107. simjecture-0.5.2/src/conjecture_solver/research_acceptance.py +36 -0
  108. simjecture-0.5.2/src/conjecture_solver/research_audit.py +271 -0
  109. simjecture-0.5.2/src/conjecture_solver/research_continuation.py +279 -0
  110. simjecture-0.5.2/src/conjecture_solver/research_guidance.py +154 -0
  111. simjecture-0.5.2/src/conjecture_solver/research_journal.py +237 -0
  112. simjecture-0.5.2/src/conjecture_solver/research_methods.py +210 -0
  113. simjecture-0.5.2/src/conjecture_solver/research_notebook.py +395 -0
  114. simjecture-0.5.2/src/conjecture_solver/research_oversight.py +286 -0
  115. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/research_service.py +203 -18
  116. simjecture-0.5.2/src/conjecture_solver/research_supervisor.py +450 -0
  117. simjecture-0.5.2/src/conjecture_solver/runtime_bootstrap.py +182 -0
  118. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/study.py +136 -9
  119. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/study_launch.py +32 -3
  120. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/study_status.py +59 -5
  121. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/tui/screens.py +19 -1
  122. simjecture-0.5.2/src/conjecture_solver/web/activity.py +189 -0
  123. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/application.py +27 -1
  124. simjecture-0.5.2/src/conjecture_solver/web/inventory.py +161 -0
  125. simjecture-0.5.2/src/conjecture_solver/web/jobs.py +292 -0
  126. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/server.py +245 -4
  127. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/app.js +15 -2
  128. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/index.html +10 -0
  129. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/markdown.js +15 -3
  130. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/highlight-11.11.1.min.js +1244 -0
  131. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/highlight-LICENSE +29 -0
  132. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/highlight-github-dark.css +10 -0
  133. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/LICENSE.md +7 -0
  134. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.2SO23SX3.js +72 -0
  135. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.3H2FQERJ.js +25 -0
  136. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.3MSWQ3RG.js +20 -0
  137. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.3NKIHICW.js +12 -0
  138. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.4ZAKP7NY.js +12 -0
  139. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.5VKLVAP2.js +330 -0
  140. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.5ZSSLK3M.js +68 -0
  141. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.BKE5EYM3.js +274 -0
  142. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.CV35G2DF.js +305 -0
  143. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.D5HA4OFX.js +189 -0
  144. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.DITA2S5A.js +80 -0
  145. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.DL7HG4WM.js +23 -0
  146. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.EFUXUR2V.js +34 -0
  147. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.GDWSLLNY.js +85 -0
  148. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.H23DVATU.js +36 -0
  149. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.HGBRCPUS.js +55 -0
  150. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.HJQBZY2G.js +372 -0
  151. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.HOKYDFUG.js +124 -0
  152. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.IOZQCLLD.js +26 -0
  153. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.JB5Y2AN3.js +34 -0
  154. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.JHZRD2LV.js +60 -0
  155. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.K5Q2EBKV.js +77 -0
  156. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.KH7MR2OK.js +98 -0
  157. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.KKI7M5DP.js +158 -0
  158. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.KWDPKKFO.js +46 -0
  159. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.L2PH6XPF.js +47 -0
  160. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.L6CIKOFQ.js +55 -0
  161. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.L7UUCOPZ.js +318 -0
  162. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.LBLI4KS5.js +353 -0
  163. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.MEATLWHD.js +1 -0
  164. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.MO2KS3JW.js +239 -0
  165. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.MQODJ75V.js +13 -0
  166. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.NDZDW54F.js +287 -0
  167. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.O6IZ4I7T.js +34 -0
  168. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.PX3HMKF7.js +12 -0
  169. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.PZAN6FPN.js +32 -0
  170. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.QVJVDGCX.js +364 -0
  171. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.R7QX4M6R.js +47 -0
  172. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.RKPV5RWB.js +85 -0
  173. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.RMZ7BVDM.js +10 -0
  174. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.RPQJAXXR.js +21 -0
  175. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.RWNXKUCF.js +66 -0
  176. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.SKLR37OM.js +13 -0
  177. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.SLTXS4GR.js +248 -0
  178. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.TLFIX76K.js +340 -0
  179. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.UDRJMWVZ.js +55 -0
  180. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.UMPSPH77.js +45 -0
  181. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.VC3BPUZJ.js +12 -0
  182. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.WDIIGUNP.js +12 -0
  183. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.WLKYECLX.js +858 -0
  184. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.WYNTFJHW.js +116 -0
  185. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.YBFCQDTA.js +13 -0
  186. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.YDQCS2HK.js +12 -0
  187. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.YLIESRP2.js +377 -0
  188. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.YPRC5XZF.js +101 -0
  189. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/chunks/chunk.ZWQCGLB5.js +12 -0
  190. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/components/drawer/drawer.js +49 -0
  191. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/components/spinner/spinner.js +15 -0
  192. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/components/split-panel/split-panel.js +20 -0
  193. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/components/tab/tab.js +15 -0
  194. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/components/tab-group/tab-group.js +47 -0
  195. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/components/tab-panel/tab-panel.js +15 -0
  196. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/styles/color/palettes/default.css +146 -0
  197. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/styles/layers.css +21 -0
  198. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/webawesome-3.14.0/styles/themes/default.css +373 -0
  199. simjecture-0.5.2/src/conjecture_solver/web/static/vendor/workspace-vendors.json +14 -0
  200. simjecture-0.5.2/src/conjecture_solver/web/static/workspace-components.js +7 -0
  201. simjecture-0.5.2/src/conjecture_solver/web/static/workspace-monitor.js +267 -0
  202. simjecture-0.5.2/src/conjecture_solver/web/static/workspace-panels.js +197 -0
  203. simjecture-0.5.2/src/conjecture_solver/web/static/workspace-rich.js +153 -0
  204. simjecture-0.5.2/src/conjecture_solver/web/static/workspace-theme.js +32 -0
  205. simjecture-0.5.2/src/conjecture_solver/web/static/workspace.css +3227 -0
  206. simjecture-0.5.2/src/conjecture_solver/web/static/workspace.html +716 -0
  207. simjecture-0.5.2/src/conjecture_solver/web/static/workspace.js +1672 -0
  208. simjecture-0.5.2/src/conjecture_solver/web/workspace.py +1750 -0
  209. simjecture-0.5.2/src/conjecture_solver/workspace_agent.py +863 -0
  210. simjecture-0.5.2/src/conjecture_solver/workspace_sessions.py +25 -0
  211. simjecture-0.5.2/tests/test_agent_skills.py +46 -0
  212. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_agent_supervisor.py +125 -1
  213. simjecture-0.5.2/tests/test_continuation_browser.py +160 -0
  214. simjecture-0.5.2/tests/test_continuation_chat.py +118 -0
  215. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_deployment.py +57 -18
  216. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_dsh_bundle.py +1 -1
  217. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_dsh_engine.py +1 -1
  218. simjecture-0.5.2/tests/test_execution_backends.py +140 -0
  219. simjecture-0.5.2/tests/test_iter_pack.py +90 -0
  220. simjecture-0.5.2/tests/test_provider_retry.py +96 -0
  221. simjecture-0.5.2/tests/test_research_continuation.py +215 -0
  222. simjecture-0.5.2/tests/test_research_guidance.py +223 -0
  223. simjecture-0.5.2/tests/test_research_journal.py +204 -0
  224. simjecture-0.5.2/tests/test_research_notebook.py +247 -0
  225. simjecture-0.5.2/tests/test_research_oversight.py +399 -0
  226. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_research_service.py +107 -3
  227. simjecture-0.5.2/tests/test_runtime_bootstrap.py +73 -0
  228. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_study_interface.py +42 -2
  229. simjecture-0.5.2/tests/test_workspace.py +949 -0
  230. simjecture-0.5.2/tests/test_workspace_browser.py +739 -0
  231. simjecture-0.5.2/tests/test_workspace_installer.py +103 -0
  232. simjecture-0.5.2/tests/test_workspace_sessions.py +185 -0
  233. simjecture-0.5.2/tests/test_workspace_simulations.py +179 -0
  234. {simjecture-0.5.0 → simjecture-0.5.2}/uv.lock +398 -2
  235. simjecture-0.5.0/PKG-INFO +0 -543
  236. simjecture-0.5.0/README.md +0 -506
  237. simjecture-0.5.0/docs/development/releasing.md +0 -32
  238. simjecture-0.5.0/docs/how-to/guided-commissioning.md +0 -39
  239. simjecture-0.5.0/skills/flash-mhd/references/local-deployment.md +0 -71
  240. simjecture-0.5.0/src/conjecture_solver/research_supervisor.py +0 -270
  241. {simjecture-0.5.0 → simjecture-0.5.2}/.env.example +0 -0
  242. {simjecture-0.5.0 → simjecture-0.5.2}/.gitattributes +0 -0
  243. {simjecture-0.5.0 → simjecture-0.5.2}/.gitignore +0 -0
  244. {simjecture-0.5.0 → simjecture-0.5.2}/.readthedocs.yaml +0 -0
  245. {simjecture-0.5.0 → simjecture-0.5.2}/CONTRIBUTING.md +0 -0
  246. {simjecture-0.5.0 → simjecture-0.5.2}/LICENSE +0 -0
  247. {simjecture-0.5.0 → simjecture-0.5.2}/NOTICE +0 -0
  248. {simjecture-0.5.0 → simjecture-0.5.2}/SECURITY.md +0 -0
  249. {simjecture-0.5.0 → simjecture-0.5.2}/capabilities/atomec-1.4.0.json +0 -0
  250. {simjecture-0.5.0 → simjecture-0.5.2}/capabilities/flash-island-coalescence-resistive-mhd-4.8.json +0 -0
  251. {simjecture-0.5.0 → simjecture-0.5.2}/capabilities/m-aneos-1.0.json +0 -0
  252. {simjecture-0.5.0 → simjecture-0.5.2}/capabilities/singularity-eos-1.12.1.json +0 -0
  253. {simjecture-0.5.0 → simjecture-0.5.2}/capabilities/warpx-cpu-26.07.json +0 -0
  254. {simjecture-0.5.0 → simjecture-0.5.2}/demos/README.md +0 -0
  255. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/README.md +0 -0
  256. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/artifact_provenance.json +0 -0
  257. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/hypothesis_ledger.json +0 -0
  258. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/mvp_manifest.json +0 -0
  259. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/mvp_report.json +0 -0
  260. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/workspace/artifacts/commission_binary64_ops.json +0 -0
  261. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/workspace/artifacts/commission_series_round_002.json +0 -0
  262. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/workspace/artifacts/commission_series_round_003.json +0 -0
  263. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/workspace/artifacts/euler_bound_002_prospective.json +0 -0
  264. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/workspace/artifacts/euler_ten_step_error.json +0 -0
  265. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/workspace/scripts/commission_binary64_ops.py +0 -0
  266. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/workspace/scripts/commission_series_round_002.py +0 -0
  267. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/workspace/scripts/commission_series_round_003.py +0 -0
  268. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/workspace/scripts/euler_bound_002_prospective.py +0 -0
  269. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/record/workspace/scripts/euler_ten_step_error.py +0 -0
  270. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/sha256.json +0 -0
  271. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/validation.json +0 -0
  272. {simjecture-0.5.0 → simjecture-0.5.2}/demos/agent_roles_validation/verify_record.py +0 -0
  273. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/README.md +0 -0
  274. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/campaign_instruction.txt +0 -0
  275. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/guided/anchor_operator_validation.json +0 -0
  276. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/guided/gem_anchor_validation.json +0 -0
  277. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/guided/gem_collisionless.py +0 -0
  278. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/guided/prior_campaign_0002_audit_summary.json +0 -0
  279. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/guided/prior_campaign_0003_audit_summary.json +0 -0
  280. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/guided/prior_campaign_audit_summary.json +0 -0
  281. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/guided_commission.json +0 -0
  282. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/hypothesis.txt +0 -0
  283. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/plot_results.py +0 -0
  284. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/artifact_provenance.json +0 -0
  285. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/claim_summary.md +0 -0
  286. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/guided_commissioning.json +0 -0
  287. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/hypothesis_ledger.json +0 -0
  288. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/literature_searches.json +0 -0
  289. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/mvp_manifest.json +0 -0
  290. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/mvp_report.json +0 -0
  291. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/transcript.jsonl +0 -0
  292. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000012.py +0 -0
  293. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000013.py +0 -0
  294. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000019.py +0 -0
  295. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000020.py +0 -0
  296. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000026.py +0 -0
  297. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000027.py +0 -0
  298. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000032.py +0 -0
  299. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000033.py +0 -0
  300. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000037.py +0 -0
  301. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000041.py +0 -0
  302. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000042.py +0 -0
  303. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000043.py +0 -0
  304. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000049.py +0 -0
  305. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/analyze_ensemble.py +0 -0
  306. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/analyze_manifest.json +0 -0
  307. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/commission_summary.json +0 -0
  308. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/ensemble_result.json +0 -0
  309. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/diagnostic_overview.svg +0 -0
  310. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/final_fields.npz +0 -0
  311. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/warpx_used_inputs +0 -0
  312. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/diagnostic_overview.svg +0 -0
  313. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/final_fields.npz +0 -0
  314. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/warpx_used_inputs +0 -0
  315. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260902_summary.json +0 -0
  316. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260903_summary.json +0 -0
  317. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260904_summary.json +0 -0
  318. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260902_summary.json +0 -0
  319. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260903_summary.json +0 -0
  320. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260904_summary.json +0 -0
  321. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260902_summary.json +0 -0
  322. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260903_summary.json +0 -0
  323. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260904_summary.json +0 -0
  324. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260902_summary.json +0 -0
  325. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260903_summary.json +0 -0
  326. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260904_summary.json +0 -0
  327. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/design_pin.json +0 -0
  328. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/energy_reader.py +0 -0
  329. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fallback_solver_plan.json +0 -0
  330. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_manifest.json +0 -0
  331. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output.json +0 -0
  332. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output_wb.json +0 -0
  333. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260902_summary.json +0 -0
  334. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260903_summary.json +0 -0
  335. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260904_summary.json +0 -0
  336. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260902_summary.json +0 -0
  337. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260903_summary.json +0 -0
  338. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260904_summary.json +0 -0
  339. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260902_summary.json +0 -0
  340. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260903_summary.json +0 -0
  341. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260904_summary.json +0 -0
  342. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260902_summary.json +0 -0
  343. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260903_summary.json +0 -0
  344. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260904_summary.json +0 -0
  345. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/gen_fixtures.py +0 -0
  346. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/guided/anchor_operator_validation.json +0 -0
  347. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_anchor_validation.json +0 -0
  348. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_collisionless.py +0 -0
  349. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0002_audit_summary.json +0 -0
  350. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0003_audit_summary.json +0 -0
  351. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_audit_summary.json +0 -0
  352. {simjecture-0.5.0 → simjecture-0.5.2}/demos/collisionless_gem_reconnection/verify_record.py +0 -0
  353. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/README.md +0 -0
  354. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/capture_tui.py +0 -0
  355. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/hypothesis.txt +0 -0
  356. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/plot_results.py +0 -0
  357. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/README.md +0 -0
  358. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/artifact_provenance.json +0 -0
  359. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/claim_summary.md +0 -0
  360. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/hypothesis_ledger.json +0 -0
  361. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/mvp_manifest.json +0 -0
  362. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/mvp_report.json +0 -0
  363. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/transcript.jsonl +0 -0
  364. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/analyze_results.py +0 -0
  365. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/calc_growth.py +0 -0
  366. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/linear_stability.py +0 -0
  367. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/mode_analysis.py +0 -0
  368. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/mode_analysis_results.json +0 -0
  369. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/pick_regime.py +0 -0
  370. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/regime_candidates.json +0 -0
  371. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/result_s1.npz +0 -0
  372. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/result_s10.npz +0 -0
  373. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/result_s10_dt025.npz +0 -0
  374. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/result_s1_dt025.npz +0 -0
  375. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/root_pattern_results.json +0 -0
  376. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p025.npz +0 -0
  377. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p05.npz +0 -0
  378. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p025.npz +0 -0
  379. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p05.npz +0 -0
  380. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/simulate_gs.py +0 -0
  381. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/simulate_gs_dt025.py +0 -0
  382. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/simulate_gs_root.py +0 -0
  383. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/simulation_results.json +0 -0
  384. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/simulation_results_dt025.json +0 -0
  385. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/record/workspace/turing_diagnostic.py +0 -0
  386. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/reproduce.py +0 -0
  387. {simjecture-0.5.0 → simjecture-0.5.2}/demos/gray_scott_counterexample/verify_record.py +0 -0
  388. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/.gitignore +0 -0
  389. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/README.md +0 -0
  390. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/campaign_audit.json +0 -0
  391. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/campaign_instruction.txt +0 -0
  392. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/figures/README.md +0 -0
  393. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/figures/island_coalescence_evolution.png +0 -0
  394. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/figures/reconnection_layer_physics.png +0 -0
  395. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/figures/reconnection_microphysics_profiles.png +0 -0
  396. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/figures/scaling_law_discovery.png +0 -0
  397. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/figures/simjecture_web_dashboard.png +0 -0
  398. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/guided/anchor_validation.json +0 -0
  399. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/guided/island_coalescence.py +0 -0
  400. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/guided/operator_validation.json +0 -0
  401. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/guided_commission.json +0 -0
  402. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/hypothesis.txt +0 -0
  403. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/literature_basis.md +0 -0
  404. {simjecture-0.5.0 → simjecture-0.5.2}/demos/resistive_mhd_island_coalescence/plot_results.py +0 -0
  405. {simjecture-0.5.0 → simjecture-0.5.2}/docs/_static/demos/gem-ensemble-result.png +0 -0
  406. {simjecture-0.5.0 → simjecture-0.5.2}/docs/_static/demos/gem-reconnection-fields.png +0 -0
  407. {simjecture-0.5.0 → simjecture-0.5.2}/docs/_static/demos/gray-scott-completed-tui.svg +0 -0
  408. {simjecture-0.5.0 → simjecture-0.5.2}/docs/_static/demos/gray-scott-result.png +0 -0
  409. {simjecture-0.5.0 → simjecture-0.5.2}/docs/concepts/architecture.md +0 -0
  410. {simjecture-0.5.0 → simjecture-0.5.2}/docs/concepts/evidence-and-claims.md +0 -0
  411. {simjecture-0.5.0 → simjecture-0.5.2}/docs/demos/collisionless-gem.md +0 -0
  412. {simjecture-0.5.0 → simjecture-0.5.2}/docs/demos/gray-scott.md +0 -0
  413. {simjecture-0.5.0 → simjecture-0.5.2}/docs/development/documentation.md +0 -0
  414. {simjecture-0.5.0 → simjecture-0.5.2}/docs/getting-started/terminal-ui.md +0 -0
  415. {simjecture-0.5.0 → simjecture-0.5.2}/docs/how-to/add-a-capability.md +0 -0
  416. {simjecture-0.5.0 → simjecture-0.5.2}/docs/how-to/deepseek-harness.md +0 -0
  417. {simjecture-0.5.0 → simjecture-0.5.2}/docs/how-to/deploy-runtimes.md +0 -0
  418. {simjecture-0.5.0 → simjecture-0.5.2}/docs/how-to/dsh-upgrade-assessment.md +0 -0
  419. {simjecture-0.5.0 → simjecture-0.5.2}/docs/how-to/simote-agent-roles.md +0 -0
  420. {simjecture-0.5.0 → simjecture-0.5.2}/docs/reference/cli.md +0 -0
  421. {simjecture-0.5.0 → simjecture-0.5.2}/docs/reference/repository-map.md +0 -0
  422. {simjecture-0.5.0 → simjecture-0.5.2}/docs/requirements.txt +0 -0
  423. {simjecture-0.5.0 → simjecture-0.5.2}/docs/research/limitations.md +0 -0
  424. {simjecture-0.5.0 → simjecture-0.5.2}/docs/research/next-steps.md +0 -0
  425. {simjecture-0.5.0 → simjecture-0.5.2}/docs/research/run-0004.md +0 -0
  426. {simjecture-0.5.0 → simjecture-0.5.2}/docs/research/status.md +0 -0
  427. {simjecture-0.5.0 → simjecture-0.5.2}/environments/warpx-cpu.yml +0 -0
  428. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/README.md +0 -0
  429. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/adjudicator.js +0 -0
  430. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/context-elider.js +0 -0
  431. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/cordis.patch.yml +0 -0
  432. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/job-waiter.js +0 -0
  433. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/research-tools.js +0 -0
  434. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/roles.js +0 -0
  435. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/runner.js +0 -0
  436. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/tests/jobs.test.js +0 -0
  437. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/tests/profile-model.js +0 -0
  438. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/tests/profile.test.js +0 -0
  439. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/tests/roles.test.js +0 -0
  440. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/tests/runtime.js +0 -0
  441. {simjecture-0.5.0 → simjecture-0.5.2}/integrations/dsh/tests/session.test.js +0 -0
  442. {simjecture-0.5.0 → simjecture-0.5.2}/packaging/launch/INSTALL.md +0 -0
  443. {simjecture-0.5.0 → simjecture-0.5.2}/packaging/launch/launch.sh +0 -0
  444. {simjecture-0.5.0 → simjecture-0.5.2}/packaging/launch/setup.sh +0 -0
  445. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/DESIGN.md +0 -0
  446. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/PLAIN-BASELINE-PLAN.md +0 -0
  447. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/PLAN.md +0 -0
  448. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/PROMPT-RESULTS.md +0 -0
  449. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/RESULTS.md +0 -0
  450. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/TOKEN-REPEAT-PLAN.md +0 -0
  451. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/TOKEN-RESULTS.md +0 -0
  452. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/accounted_codex_glm.py +0 -0
  453. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/client-probe-results.json +0 -0
  454. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/collect.py +0 -0
  455. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/original-recovered-token-usage.json +0 -0
  456. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/path-regression-results.json +0 -0
  457. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/pilot-results.json +0 -0
  458. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/plain-baseline-results.json +0 -0
  459. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/prompt-audit.json +0 -0
  460. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/run_pilot.py +0 -0
  461. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/token-repeat-provenance.json +0 -0
  462. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/token-repeat-results.json +0 -0
  463. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/token-repeat-usage.json +0 -0
  464. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/frontier-workflow/token_usage.py +0 -0
  465. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/minimal-default/DESIGN.md +0 -0
  466. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/minimal-default/RESULTS.md +0 -0
  467. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/minimal-default/export_results.py +0 -0
  468. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/minimal-default/measurements.json +0 -0
  469. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/release-0.5.0/RESULTS.md +0 -0
  470. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/release-0.5.0/export_results.py +0 -0
  471. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/release-0.5.0/measurements.json +0 -0
  472. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/research-service-v2/PLAN.md +0 -0
  473. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/research-service-v2/RESULTS.md +0 -0
  474. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/research-service-v2/assets/flash_case.py +0 -0
  475. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/research-service-v2/assets/plasma-hypothesis.txt +0 -0
  476. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/research-service-v2/assets/plasma-protocol.md +0 -0
  477. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/research-service-v2/evaluate_plasma.py +0 -0
  478. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/research-service-v2/export_results.py +0 -0
  479. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/research-service-v2/grade.py +0 -0
  480. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/research-service-v2/measurements.json +0 -0
  481. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/research-service-v2/plasma_reference.py +0 -0
  482. {simjecture-0.5.0 → simjecture-0.5.2}/research/evaluations/research-service-v2/run_matrix.py +0 -0
  483. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/AIStrategyDraft.schema.json +0 -0
  484. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ActionExecution.schema.json +0 -0
  485. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ActionFailureRecord.schema.json +0 -0
  486. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/AttemptRecord.schema.json +0 -0
  487. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/BlindedSearchReport.schema.json +0 -0
  488. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/BlindedSearchRequest.schema.json +0 -0
  489. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/CampaignAction.schema.json +0 -0
  490. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/CampaignActionGraph.schema.json +0 -0
  491. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/CampaignActionState.schema.json +0 -0
  492. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/CampaignBudget.schema.json +0 -0
  493. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/CampaignCheckpoint.schema.json +0 -0
  494. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/CampaignState.schema.json +0 -0
  495. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/CandidateEvaluation.schema.json +0 -0
  496. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/CandidateResult.schema.json +0 -0
  497. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/CapabilityManifest.schema.json +0 -0
  498. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/Claim.schema.json +0 -0
  499. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/CollisionalityIntervention.schema.json +0 -0
  500. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ControlDirective.schema.json +0 -0
  501. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/DecisionRecord.schema.json +0 -0
  502. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/DiscoveryPackage.schema.json +0 -0
  503. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/DispatchAttempt.schema.json +0 -0
  504. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/DomainDiagnosisSummary.schema.json +0 -0
  505. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/DomainEvolutionSummary.schema.json +0 -0
  506. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/DomainPluginMetadata.schema.json +0 -0
  507. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/DomainRunSummary.schema.json +0 -0
  508. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/DomainTemplateSummary.schema.json +0 -0
  509. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ExperimentSpec.schema.json +0 -0
  510. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ExternalReceipt.schema.json +0 -0
  511. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/FreshSeedIntervention.schema.json +0 -0
  512. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/HumanIntervention.schema.json +0 -0
  513. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/HypothesisNode.schema.json +0 -0
  514. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/KineticSufficiencyDiscoveryPackage.schema.json +0 -0
  515. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/KineticSufficiencyHypothesisInput.schema.json +0 -0
  516. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/KineticSufficiencyResult.schema.json +0 -0
  517. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/KineticSufficiencySolveResult.schema.json +0 -0
  518. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/LifecycleEvent.schema.json +0 -0
  519. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/MVPGuidedCommissioningSpec.schema.json +0 -0
  520. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/MatchedPairFormalPredicate.schema.json +0 -0
  521. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ModelCallProvenance.schema.json +0 -0
  522. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/MultiActionCampaignReport.schema.json +0 -0
  523. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/NormalizedResult.schema.json +0 -0
  524. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/NumericalAssessment.schema.json +0 -0
  525. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/NumericalDiagnostics.schema.json +0 -0
  526. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/NumericalGate.schema.json +0 -0
  527. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ObservablePrediction.schema.json +0 -0
  528. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/OutboxIntent.schema.json +0 -0
  529. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/PICCaseResult.schema.json +0 -0
  530. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/PICConfig.schema.json +0 -0
  531. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/PICConfirmationAttempt.schema.json +0 -0
  532. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/PICConfirmationDesign.schema.json +0 -0
  533. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/PICConfirmationReport.schema.json +0 -0
  534. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/PICMixtureCaseResult.schema.json +0 -0
  535. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/PICNumericalConfig.schema.json +0 -0
  536. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/PICSufficiencyResult.schema.json +0 -0
  537. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ParameterSpace.schema.json +0 -0
  538. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ParticleStatisticsIntervention.schema.json +0 -0
  539. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ProposalDraft.schema.json +0 -0
  540. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ProposalRecord.schema.json +0 -0
  541. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ProposalRequest.schema.json +0 -0
  542. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ProposalValidation.schema.json +0 -0
  543. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ProposedToolCall.schema.json +0 -0
  544. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/QualifiedWarpXCampaignPackage.schema.json +0 -0
  545. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/QualifiedWarpXInstrument.schema.json +0 -0
  546. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ReferenceQualification.schema.json +0 -0
  547. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ResearchBudget.schema.json +0 -0
  548. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ResearchCampaignReport.schema.json +0 -0
  549. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ResearchConclusion.schema.json +0 -0
  550. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ResearchDecision.schema.json +0 -0
  551. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ResearchEvidencePolicy.schema.json +0 -0
  552. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ResearchHypothesis.schema.json +0 -0
  553. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ResearchObservation.schema.json +0 -0
  554. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ResearchProblemContract.schema.json +0 -0
  555. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ResearchRelation.schema.json +0 -0
  556. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ResearchToolManifest.schema.json +0 -0
  557. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/ResearchToolResult.schema.json +0 -0
  558. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/RunEvidence.schema.json +0 -0
  559. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/RunPlan.schema.json +0 -0
  560. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/SearchStrategy.schema.json +0 -0
  561. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/SheetThicknessIntervention.schema.json +0 -0
  562. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/SubprocessResearchToolConfig.schema.json +0 -0
  563. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/SymmetricMixtureCandidate.schema.json +0 -0
  564. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXCalibrationPoint.schema.json +0 -0
  565. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXCaseSummary.schema.json +0 -0
  566. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXCompiledCase.schema.json +0 -0
  567. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXConfirmationAttempt.schema.json +0 -0
  568. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXConfirmationDesign.schema.json +0 -0
  569. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXConfirmationFailure.schema.json +0 -0
  570. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXConfirmationReport.schema.json +0 -0
  571. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXConfirmationResolution.schema.json +0 -0
  572. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXExecutionProfile.schema.json +0 -0
  573. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXNumericalConfig.schema.json +0 -0
  574. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXPairSummary.schema.json +0 -0
  575. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXPhysicalConfig.schema.json +0 -0
  576. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXPhysicsQualificationRecord.schema.json +0 -0
  577. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXQualificationRecord.schema.json +0 -0
  578. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/WarpXQualifiedScope.schema.json +0 -0
  579. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/mvp/MVPAgentAction.schema.json +0 -0
  580. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/mvp/MVPAgentReport.schema.json +0 -0
  581. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/mvp/MVPClaim.schema.json +0 -0
  582. {simjecture-0.5.0 → simjecture-0.5.2}/schemas/mvp/MVPClaimLedger.schema.json +0 -0
  583. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/build_launch_package.py +0 -0
  584. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/postprocess_warpx_case.py +0 -0
  585. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/probe_provider.py +0 -0
  586. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/propose_hypothesis.py +0 -0
  587. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/propose_search_strategy.py +0 -0
  588. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/qualify_warpx.py +0 -0
  589. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/qualify_warpx_physics.py +0 -0
  590. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/run_admitted_proposal.py +0 -0
  591. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/run_blinded_search.py +0 -0
  592. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/run_qualified_warpx_campaign.py +0 -0
  593. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/run_warpx_confirmation.py +0 -0
  594. {simjecture-0.5.0 → simjecture-0.5.2}/scripts/run_warpx_pair.py +0 -0
  595. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/SKILL.md +0 -0
  596. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/agents/openai.yaml +0 -0
  597. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/examples/atomec_runtime_smoke.py +0 -0
  598. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/examples/maneos_runtime_smoke.py +0 -0
  599. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/examples/singularity_runtime_smoke.py +0 -0
  600. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/manifest.json +0 -0
  601. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/references/execution-output.md +0 -0
  602. {simjecture-0.5.0 → simjecture-0.5.2}/skills/eos/scripts/maneos_query.f90 +0 -0
  603. {simjecture-0.5.0 → simjecture-0.5.2}/skills/flash-mhd/agents/openai.yaml +0 -0
  604. {simjecture-0.5.0 → simjecture-0.5.2}/skills/flash-mhd/examples/runtime_smoke.py +0 -0
  605. {simjecture-0.5.0 → simjecture-0.5.2}/skills/flash-mhd/references/execution-output.md +0 -0
  606. {simjecture-0.5.0 → simjecture-0.5.2}/skills/flash-mhd/references/model-validity.md +0 -0
  607. {simjecture-0.5.0 → simjecture-0.5.2}/skills/flash-mhd/references/private-install.md +0 -0
  608. {simjecture-0.5.0 → simjecture-0.5.2}/skills/opacity/SKILL.md +0 -0
  609. {simjecture-0.5.0 → simjecture-0.5.2}/skills/opacity/agents/openai.yaml +0 -0
  610. {simjecture-0.5.0 → simjecture-0.5.2}/skills/opacity/manifest.json +0 -0
  611. {simjecture-0.5.0 → simjecture-0.5.2}/skills/opacity/references/execution-output.md +0 -0
  612. {simjecture-0.5.0 → simjecture-0.5.2}/skills/opacity/scripts/write_optab_preflight.py +0 -0
  613. {simjecture-0.5.0 → simjecture-0.5.2}/skills/scientific-markdown/SKILL.md +0 -0
  614. {simjecture-0.5.0 → simjecture-0.5.2}/skills/scientific-markdown/agents/openai.yaml +0 -0
  615. {simjecture-0.5.0 → simjecture-0.5.2}/skills/scientific-markdown/manifest.json +0 -0
  616. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/SKILL.md +0 -0
  617. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/agents/openai.yaml +0 -0
  618. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/examples/implicit_em_smoke.py +0 -0
  619. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/examples/minimal_smoke.py +0 -0
  620. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/examples/openpmd_field_smoke.py +0 -0
  621. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/examples/openpmd_xz_reader.py +0 -0
  622. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/manifest.json +0 -0
  623. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/references/2d-xz-commissioning.md +0 -0
  624. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/references/cpu-launch-tuning.md +0 -0
  625. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/references/diagnostics.md +0 -0
  626. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/references/gpu-launch-tuning.md +0 -0
  627. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/references/hybrid-pic.md +0 -0
  628. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/references/numerical-risks.md +0 -0
  629. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/references/picmi-interface.md +0 -0
  630. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/references/resource-scaling.md +0 -0
  631. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/references/time-integration.md +0 -0
  632. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/scripts/benchmark_cpu_threads.py +0 -0
  633. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/scripts/benchmark_gpu.py +0 -0
  634. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/scripts/probe_local_cuda.py +0 -0
  635. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/scripts/reduced_energy_budget.py +0 -0
  636. {simjecture-0.5.0 → simjecture-0.5.2}/skills/warpx/scripts/run_local_cuda.sh +0 -0
  637. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/__main__.py +0 -0
  638. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/action_handlers.py +0 -0
  639. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/adapters/__init__.py +0 -0
  640. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/adapters/base.py +0 -0
  641. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/adapters/fake.py +0 -0
  642. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/adapters/pic.py +0 -0
  643. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/adapters/warpx.py +0 -0
  644. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/autonomous_research.py +0 -0
  645. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/benchmarks/__init__.py +0 -0
  646. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/benchmarks/electrostatic_pic.py +0 -0
  647. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/benchmarks/kinetic_sufficiency.py +0 -0
  648. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/campaign.py +0 -0
  649. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/campaign_jobs.py +0 -0
  650. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/confirmation.py +0 -0
  651. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/control.py +0 -0
  652. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/corrective_audit.py +0 -0
  653. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/discovery.py +0 -0
  654. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/domains/__init__.py +0 -0
  655. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/domains/base.py +0 -0
  656. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/domains/kinetic_sufficiency.py +0 -0
  657. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/dsh_engine.py +0 -0
  658. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/evidence_paths.py +0 -0
  659. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/kernel_worker.py +0 -0
  660. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/ledger.py +0 -0
  661. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/lifecycle.py +0 -0
  662. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/literature.py +0 -0
  663. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/llm.py +0 -0
  664. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/mcp_schemas.py +0 -0
  665. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/mcp_server.py +0 -0
  666. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/models.py +0 -0
  667. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/mvp_claims.py +0 -0
  668. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/mvp_control.py +0 -0
  669. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/mvp_guidance.py +0 -0
  670. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/mvp_launch.py +0 -0
  671. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/mvp_monitor.py +0 -0
  672. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/mvp_skills.py +0 -0
  673. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/oneshot.py +0 -0
  674. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/orchestration.py +0 -0
  675. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/outbox.py +0 -0
  676. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/parameters.py +0 -0
  677. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/presentation.py +0 -0
  678. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/proposals.py +0 -0
  679. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/research_client.py +0 -0
  680. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/research_tools.py +0 -0
  681. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/role_assignments.py +0 -0
  682. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/schema_export.py +0 -0
  683. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/scientific_review.py +0 -0
  684. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/search.py +0 -0
  685. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/semantics.py +0 -0
  686. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/tui/__init__.py +0 -0
  687. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/tui/app.py +0 -0
  688. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/tui/claim_views.py +0 -0
  689. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/warpx_analysis.py +0 -0
  690. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/warpx_campaign.py +0 -0
  691. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/warpx_confirmation.py +0 -0
  692. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/__init__.py +0 -0
  693. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/styles.css +0 -0
  694. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/vendor/LICENSE.dagre.txt +0 -0
  695. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/vendor/LICENSE.dompurify.txt +0 -0
  696. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/vendor/LICENSE.katex.txt +0 -0
  697. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/vendor/LICENSE.marked.txt +0 -0
  698. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/vendor/README.md +0 -0
  699. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/vendor/dagre-2.0.0.min.js +0 -0
  700. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/vendor/dompurify-3.4.14.min.js +0 -0
  701. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/vendor/katex-0.18.4.min.js +0 -0
  702. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/vendor/katex-auto-render-0.18.4.min.js +0 -0
  703. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/web/static/vendor/marked-18.0.10.umd.js +0 -0
  704. {simjecture-0.5.0 → simjecture-0.5.2}/src/conjecture_solver/workspace_images.py +0 -0
  705. {simjecture-0.5.0 → simjecture-0.5.2}/tests/__init__.py +0 -0
  706. {simjecture-0.5.0 → simjecture-0.5.2}/tests/fixtures/fake_warpx_runner.py +0 -0
  707. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_adapter.py +0 -0
  708. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_autonomous_research.py +0 -0
  709. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_benchmark.py +0 -0
  710. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_campaign.py +0 -0
  711. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_campaign_jobs.py +0 -0
  712. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_campaign_kernel.py +0 -0
  713. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_control.py +0 -0
  714. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_corrective_audit.py +0 -0
  715. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_domain_plugins.py +0 -0
  716. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_frontier_token_usage.py +0 -0
  717. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_frontier_workflow.py +0 -0
  718. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_ledger.py +0 -0
  719. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_lifecycle.py +0 -0
  720. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_literature.py +0 -0
  721. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_llm.py +0 -0
  722. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_mcp_server.py +0 -0
  723. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_models.py +0 -0
  724. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_mvp_agent.py +0 -0
  725. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_mvp_claims.py +0 -0
  726. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_mvp_control.py +0 -0
  727. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_mvp_monitor.py +0 -0
  728. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_mvp_pause.py +0 -0
  729. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_mvp_status_watch.py +0 -0
  730. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_oneshot.py +0 -0
  731. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_orchestration.py +0 -0
  732. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_outbox.py +0 -0
  733. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_parameters.py +0 -0
  734. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_pic.py +0 -0
  735. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_proposals.py +0 -0
  736. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_recorded_demo.py +0 -0
  737. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_research_client.py +0 -0
  738. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_role_assignments.py +0 -0
  739. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_schema_export.py +0 -0
  740. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_scientific_review.py +0 -0
  741. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_search.py +0 -0
  742. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_semantics.py +0 -0
  743. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_study.py +0 -0
  744. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_tui.py +0 -0
  745. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_tui_claim_views.py +0 -0
  746. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_warpx.py +0 -0
  747. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_warpx_analysis.py +0 -0
  748. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_warpx_campaign.py +0 -0
  749. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_warpx_openpmd_xz.py +0 -0
  750. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_warpx_qualification.py +0 -0
  751. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_warpx_reduced_energy.py +0 -0
  752. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_web.py +0 -0
  753. {simjecture-0.5.0 → simjecture-0.5.2}/tests/test_workspace_images.py +0 -0
@@ -50,7 +50,9 @@ jobs:
50
50
  - name: Install uv
51
51
  run: python -m pip install uv
52
52
  - name: Install locked environment
53
- run: uv sync --frozen --extra tui --extra dsh
53
+ run: uv sync --frozen --extra tui --extra dsh --extra workspace --group browser
54
+ - name: Install browser test runtime
55
+ run: uv run playwright install --with-deps chromium
54
56
  - uses: actions/setup-node@v4
55
57
  with:
56
58
  node-version: "22.23.1"
@@ -64,6 +66,10 @@ jobs:
64
66
  run: uv run ruff check .
65
67
  - name: Test
66
68
  run: uv run pytest --cov=conjecture_solver --cov-report=term-missing
69
+ - name: Validate packaged workspace install
70
+ run: |
71
+ uv run python scripts/package_workspace.py --output dist
72
+ uv run python scripts/verify_workspace_install.py --release-dir dist --work-dir /tmp/simjecture-installer-validation
67
73
  - name: Reproduce planted benchmark
68
74
  run: uv run simjecture benchmark kinetic-sufficiency --assert-falsified
69
75
  - name: Reproduce independent PIC benchmark
@@ -15,7 +15,7 @@ jobs:
15
15
  name: pypi
16
16
  url: https://pypi.org/p/simjecture
17
17
  permissions:
18
- contents: read
18
+ contents: write
19
19
  id-token: write
20
20
  steps:
21
21
  - uses: actions/checkout@v7
@@ -40,7 +40,9 @@ jobs:
40
40
  --ro-bind /lib64 /lib64 \
41
41
  /usr/bin/true
42
42
  - name: Install locked test environment
43
- run: uv sync --frozen --extra tui --extra dsh
43
+ run: uv sync --frozen --extra tui --extra dsh --extra workspace --group browser
44
+ - name: Install browser test runtime
45
+ run: uv run playwright install --with-deps chromium
44
46
  - uses: actions/setup-node@v4
45
47
  with:
46
48
  node-version: "22.23.1"
@@ -69,5 +71,20 @@ jobs:
69
71
  PY
70
72
  - name: Build source and wheel distributions
71
73
  run: uv build
74
+ - name: Package and verify the one-command workspace installer
75
+ run: |
76
+ uv run python scripts/package_workspace.py --output dist
77
+ uv run python scripts/verify_workspace_install.py --release-dir dist --work-dir /tmp/simjecture-installer-validation
78
+ - name: Attach installable release assets
79
+ env:
80
+ GH_TOKEN: ${{ github.token }}
81
+ run: gh release upload "$GITHUB_REF_NAME" dist/install.sh dist/SHA256SUMS dist/*-workspace.tar.gz --clobber
82
+ - name: Collect Python distributions
83
+ run: |
84
+ mkdir pypi-dist
85
+ cp dist/*.whl pypi-dist/
86
+ find dist -maxdepth 1 -name '*.tar.gz' ! -name '*-workspace.tar.gz' -exec cp {} pypi-dist/ \;
72
87
  - name: Publish with PyPI Trusted Publishing
73
88
  uses: pypa/gh-action-pypi-publish@release/v1
89
+ with:
90
+ packages-dir: pypi-dist/
@@ -2,7 +2,144 @@
2
2
 
3
3
  This project follows semantic versioning. Dates use ISO 8601.
4
4
 
5
- ## Unreleased
5
+ ## 0.5.2 — 2026-09-29
6
+
7
+ Stable release of the conversation-first research workspace tested in rc1/rc2,
8
+ plus continuation, steering, review recovery and the ITER diagnostics pack.
9
+ Minimal mode remains the default; structured/frontier modes remain selectable.
10
+ The versioned installer preserves existing research data and older program folders.
11
+
12
+ - Add an optional ITER diagnostics/data pack with pinned CHERAB/Raysect,
13
+ CHERAB-ITER/IMAS extensions and IMAS tools. Install/check from the CLI or GUI;
14
+ run a visible, monitored numerical demo with plots. Add source-based agent
15
+ guidance and separate setup entries for JOREK, SOLPS-ITER and DINA-PS.
16
+
17
+ - Offer Prepare directly or Prepare with agent from the continuation dialog.
18
+ Chat preparation carries parent context across turns and lets the agent draft
19
+ the brief and select inherited files without losing lineage or instruments.
20
+ - Add Continue investigation and Send guidance to study cards and the experiment
21
+ monitor. Review a linked phase's brief, selected inherited files, model and new
22
+ budget before launch; retain the original study and evidence status.
23
+ - Snapshot continuation context with verified hashes and immutable parent lineage.
24
+ Add CLI continuation and advisory steering; show queued/checkpoint delivery in
25
+ the web interface and include guidance in independent review packets.
26
+ - Detect empty/truncated built-in review replies, record finish reasons and usage,
27
+ and use bounded recovery with a larger output allocation and a DeepSeek
28
+ non-thinking retry. Back off repeated invalid oversight without granting approval.
29
+ - Reconcile expired deadlines/dead supervisors in live status and write final
30
+ reports when a supervisor exits through an external error.
31
+
32
+ ## 0.5.2rc2 (preview) — 2026-09-27
33
+
34
+ - Provision scientific compilers, MPI, HDF5 and other prerequisites in managed
35
+ environments for the included tools. Preserve diagnostic logs and validate the
36
+ installed runtime using the selected execution backend before reporting success.
37
+ - Verify all five one-click tools from empty runtime directories, real agent-assisted
38
+ FLASH and WarpX CUDA builds, GPU execution, and browser uploads of licensed source.
39
+ - Handle restricted root installations with a dedicated non-root account, safe
40
+ launchers, failed-install retry and upgrade rollback.
41
+ - Make the autonomous research screen follow preparation, proposal, execution and
42
+ results. Return finished reports to the interactive agent without interrupting
43
+ active work; preserve queued delivery across restarts and link explanations to evidence.
44
+ - Support follow-up studies in the same conversation with separate briefs and reports.
45
+ Remove duplicate navigation labels and collapse routine workspace metadata.
46
+ - Accept source archive uploads up to 64 MiB. Keep installation commands separate
47
+ from simulations, support checks for registered custom tools, and reject runtimes
48
+ whose host paths or interpreter symlinks cannot work in the execution backend.
49
+
50
+ - Keep installation skills readable while runtimes are incomplete; retry the
51
+ pinned Singularity-EOS source fetch after transient transport failures and
52
+ populate its required ports-of-call dependency. Package a relocatable Python
53
+ runtime when using uv-managed Python, avoiding broken sandbox symlinks. Incomplete runtimes with missing
54
+ declared identity files are not listed as installed.
55
+ - Require an explicit completion handoff after DeepSeek text-only progress replies,
56
+ continuing tools instead of marking promises as completed answers. Bound repeated
57
+ protocol failures and retain usage accounting for completion-check requests.
58
+ - Move routine workspace controls and execution status into the left sidebar,
59
+ remove the redundant top bar, and make execution warnings dismissible with
60
+ expandable diagnostics. Keep conversation-blocking notices prominent.
61
+ - Use draggable sidebar edges and compact chevron tabs instead of text hide/show
62
+ buttons. Drag to the outer edge to collapse, pull or click the tab to reopen,
63
+ and retain panel widths and collapsed state across reloads.
64
+ - Replace source-path dialogs for FLASH and WarpX CUDA with **Install with agent**,
65
+ opening prepared setup conversations that reference the bundled deployment skills.
66
+ - Prefer Bubblewrap, with a checked PRoot cooperative fallback for namespace-restricted
67
+ hosts running under a dedicated non-root account. Show a dismissible sidebar warning
68
+ about the lack of filesystem/network security isolation; retain explicit backend
69
+ choices and immutable study execution modes. Use the selected backend for tool checks.
70
+ - Show failed tool installations directly on catalogue cards, including tools
71
+ that are not yet installed. Bootstrap checksummed Micromamba for WarpX CPU
72
+ and separate solver provisioning from experiment-sandbox readiness.
73
+ - Support DeepSeek thinking-mode tool choice and plain-text final answers. Keep
74
+ required provider reasoning metadata in private session storage and preserve
75
+ it when resuming a conversation, without displaying it in chat or activity.
76
+ - Clarify SSH forwarding when a local port is already occupied.
77
+ - Show only simulations in the left sidebar. Separate Simulations and Commands
78
+ into right-side tabs with independent selections, counts and links; incoming
79
+ commands no longer open the simulation monitor.
80
+
81
+ ## 0.5.2rc1 (preview) — 2026-09-27
82
+
83
+ - Add a Linux/WSL one-command installer with checksummed release bundles, automatic
84
+ Python/uv setup, a persistent launcher, SSH forwarding guidance and separate version/data folders.
85
+ - Add the conversation-first research workspace with optional compatible API setup,
86
+ auto-detected native CLIs, per-conversation agent/model controls and agent-prepared studies.
87
+ - Keep named simulation folders and live logs beside conversations; link interactive
88
+ runs, figures, files and autonomous studies with a resizable side monitor.
89
+ - Render equations, highlighted code and saved figures; add larger typography, persistent
90
+ light/dark themes and confirmed conversation/folder deletion with active-run guards.
91
+ - Preserve scroll position and expanded details during live refreshes.
92
+ - Discover existing FLASH applications and WarpX CPU/GPU builds, including native-input
93
+ versus Python-binding availability; expose shipped research skills to browser workers.
94
+ - Resume native chat sessions and retain structured API history per conversation/model/
95
+ connection. Never reuse worker sessions for independent review.
96
+ - Remove the default interactive-turn time ceiling, show public progress and recent tools,
97
+ and retain user-selected autonomous/simulation deadlines. Clarify interruptions and
98
+ preserve job statuses; discourage untracked temporary simulation
99
+ runs, and include an HDF5 reader in the workspace environment.
100
+ - Accept an independently reviewed negative answer as completion when the study's
101
+ selected policy is `answer`; retain the existing `repair` policy.
102
+
103
+ ## 0.5.1 — 2026-09-26
104
+
105
+ - Update bundled FLASH and Python experiment skills with guided-study/HDF5 lessons,
106
+ mode-correct interfaces, pilot interpretation and acceptance-rule checks.
107
+
108
+ - Preserve classic instrument access across assignment rollover; retain role and branch scope.
109
+ - Require explicit methods-review prerequisites and reject conditional approval; distinguish
110
+ timing/parity pilots from scientific evidence.
111
+ - Surface output eligibility annotations to review without forcing metadata-only solver reruns.
112
+ - Check explicit numerical repair bounds for empty intersections before execution.
113
+ - Cancel through the complete durable job store, report unknown outcomes, and continue cleanup
114
+ when one job fails cancellation.
115
+ - Document the guided MiMo v2.6 Pro / DeepSeek V4.1 Flash comparison, including tool-protocol,
116
+ duration and usage limitations; refresh the README around current modes and trust boundaries.
117
+ - Restore guided anchors in all native study modes, with a separate model-free readiness run
118
+ and instrument-scoped review that cannot authorize hypothesis evidence.
119
+ - Add explicit non-root PRoot cooperative execution for hosts without Linux namespaces;
120
+ keep Bubblewrap the default and never silently weaken isolation.
121
+ - Retry transient provider failures with interruptible backoff until the original deadline;
122
+ pause authentication, permission and exhausted-quota failures for operator attention.
123
+
124
+ - Make experiment journaling and bounded context delivery automatic in minimal mode,
125
+ following AIDE's controller-managed pattern. Add budget-limited checkpoint synthesis
126
+ with receipt-bound citations and no authority over scientific acceptance.
127
+
128
+ - Add optional evidence-linked research notes, preserved corrections, discriminating
129
+ test plans and experiment lineage, informed by autoresearch/AIDE source inspection.
130
+ - Resume from a bounded research brief and generate a machine-readable attempt ledger;
131
+ compare hash-verified result metrics without replacing missing values with zeros.
132
+
133
+ - Add source-bound methods review for new instrument-backed minimal studies,
134
+ optional immutable instrument requirements, and append-only registration of new builds.
135
+ - Recover native sessions that repeat intentions without work; add independent progress
136
+ review, bounded host checkpoints and immediate handoff of durable review requests.
137
+ - Separate exploration from evidence and compact review documents from hashed binary
138
+ outputs; detect changed inputs, dead workers and questionable result fields.
139
+ - Generate a live host evidence ledger with missing-case coverage, budget warnings,
140
+ review status and incomplete token-accounting indicators.
141
+ - Support operator-authorized read-only solver-source inspection and useful build
142
+ diagnostics. Record the reconnection-run audit and live MiMo validation results.
6
143
 
7
144
  ## 0.5.0 — 2026-09-21
8
145
 
@@ -2,8 +2,8 @@ cff-version: 1.2.0
2
2
  message: "If you use this software, please cite the exact software version and Git commit."
3
3
  title: "Simjecture"
4
4
  type: software
5
- version: 0.5.0
6
- date-released: 2026-09-21
5
+ version: 0.5.2
6
+ date-released: 2026-09-29
7
7
  abstract: >-
8
8
  An evidence-governed runtime for autonomous computational experimentation and
9
9
  falsification over hypothesis trees.
@@ -0,0 +1,304 @@
1
+ Metadata-Version: 2.5
2
+ Name: simjecture
3
+ Version: 0.5.2
4
+ Summary: Evidence-governed autonomous experimentation and falsification for computational science
5
+ Project-URL: Homepage, https://github.com/tomzhu0225/simjecture
6
+ Project-URL: Documentation, https://github.com/tomzhu0225/simjecture/tree/main/docs
7
+ Project-URL: Repository, https://github.com/tomzhu0225/simjecture
8
+ Project-URL: Issues, https://github.com/tomzhu0225/simjecture/issues
9
+ Author: Bowen Zhu
10
+ License-Expression: Apache-2.0
11
+ License-File: LICENSE
12
+ License-File: NOTICE
13
+ Keywords: autonomous science,computational physics,falsification,hypothesis testing,scientific agents,simulation
14
+ Classifier: Development Status :: 3 - Alpha
15
+ Classifier: Intended Audience :: Science/Research
16
+ Classifier: License :: OSI Approved :: Apache Software License
17
+ Classifier: Operating System :: POSIX :: Linux
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Topic :: Scientific/Engineering
22
+ Requires-Python: >=3.11
23
+ Requires-Dist: httpx<1,>=0.27
24
+ Requires-Dist: matplotlib<4,>=3.8
25
+ Requires-Dist: numpy<3,>=1.26
26
+ Requires-Dist: pandas<4,>=2.2
27
+ Requires-Dist: pillow<13,>=10
28
+ Requires-Dist: pydantic<3,>=2.9
29
+ Requires-Dist: scipy<2,>=1.12
30
+ Provides-Extra: dsh
31
+ Requires-Dist: mcp<3,>=2; extra == 'dsh'
32
+ Provides-Extra: flash-demo
33
+ Requires-Dist: h5py<4,>=3.10; extra == 'flash-demo'
34
+ Provides-Extra: process
35
+ Requires-Dist: psutil<8,>=6; extra == 'process'
36
+ Provides-Extra: tui
37
+ Requires-Dist: textual<9,>=2.0; extra == 'tui'
38
+ Provides-Extra: workspace
39
+ Requires-Dist: h5py<4,>=3.10; extra == 'workspace'
40
+ Requires-Dist: psutil<8,>=6; extra == 'workspace'
41
+ Requires-Dist: smolagents[openai]<2,>=1.24; extra == 'workspace'
42
+ Description-Content-Type: text/markdown
43
+
44
+ # Simjecture
45
+
46
+ [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.21945748.svg)](https://doi.org/10.5281/zenodo.21945748)
47
+
48
+ **Hypothesize. Simulate. Falsify.**
49
+
50
+ Simjecture is a research harness for computational science. An agent writes and runs
51
+ experiments, searches for counterexamples, and proposes small, testable repairs to
52
+ failed hypotheses. The harness records what actually ran and requires independent
53
+ review before a scientific claim can close.
54
+
55
+ **v0.5.2 is the current stable release.** Minimal mode is the default: agents keep their
56
+ native tools and choose their research strategy, while Simjecture manages recorded
57
+ evidence, review and deadlines. Structured and frontier modes remain available.
58
+ The system does not establish physical truth from a successful simulation or promise
59
+ that a long agent run will produce a useful result.
60
+
61
+ The workspace includes visible **Continue investigation** and **Send
62
+ guidance** actions in the study view and experiment monitor. Continue with a new
63
+ budget and selected prior files, or send advisory guidance at the next checkpoint.
64
+ See [continuation and steering](docs/how-to/continuation-steering.md).
65
+
66
+ ## Install and open the workspace
67
+
68
+ On Linux or inside WSL, run:
69
+
70
+ ```bash
71
+ curl -fsSL https://github.com/tomzhu0225/simjecture/releases/download/v0.5.2/install.sh | bash
72
+ ```
73
+
74
+ The installer downloads the versioned release, verifies its checksum, installs uv,
75
+ Python 3.12 and the workspace dependencies, and starts the local GUI. Git and a CLI
76
+ agent are not required. Enter a compatible API endpoint and key in **Connections**, or
77
+ select an existing local CLI from the message composer. Choose **Interactive research**
78
+ for a task, or prepare an **Autonomous research** study together with the agent.
79
+
80
+ Software lives under `~/simjecture/app/<version>`; conversations, inputs, simulations
81
+ and studies stay in `~/simjecture/artifacts/projects`. Reopen the GUI with
82
+ `~/simjecture/start-workspace`. On SSH hosts the installer prints forwarding instructions
83
+ for your local browser. Keep the server terminal open, or run the launcher in your usual
84
+ session manager. Ubuntu/Debian may request sudo to install Bubblewrap; restricted
85
+ containers can open the GUI but may need a separately configured execution backend.
86
+
87
+ See [installation options](docs/getting-started/installation.md) and the
88
+ [workspace walkthrough](docs/getting-started/research-workspace.md).
89
+
90
+ ## Start a study from an external CLI
91
+
92
+ Use Linux with Python 3.11+, [uv](https://docs.astral.sh/uv/), and an installed,
93
+ authenticated native agent CLI. Bubblewrap is the default numerical execution backend.
94
+
95
+ ```bash
96
+ uv tool install 'simjecture[tui]==0.5.2'
97
+ simjecture install core
98
+ simjecture doctor --execution-backend bubblewrap
99
+
100
+ simjecture study --campaign ./runs/my-study \
101
+ --hypothesis-file hypothesis.txt --instructions-file instructions.md \
102
+ --backend codex-glm --model glm-5.3 --wall-seconds 3600
103
+ ```
104
+
105
+ Write a falsifiable hypothesis in `hypothesis.txt`. In `instructions.md`, specify
106
+ physical scope, available instruments, resource limits and the evidence needed to
107
+ accept or reject it. Configure provider credentials in your agent's own credential
108
+ store, outside the study directory. The model name must match that configuration.
109
+
110
+ A terminal launch shows activity, backend/model, remaining time and experiment/review
111
+ counts. Inspect the same study in either interface:
112
+
113
+ ```bash
114
+ simjecture web ./runs/my-study
115
+ simjecture tui ./runs/my-study
116
+ ```
117
+
118
+ Resume using the same campaign path and launch options. Its recorded mode and original
119
+ wall deadline remain fixed. A normal agent exit or inconclusive result does not mark
120
+ research complete. Transient provider disconnects retry with backoff until the deadline;
121
+ authentication, permission and exhausted-quota errors pause for attention. Waiting for
122
+ a provider counts against wall time.
123
+
124
+ See [minimal-mode usage](docs/how-to/research-service.md),
125
+ [terminal progress](docs/getting-started/terminal-ui.md) and the
126
+ [browser interface](docs/getting-started/web-interface.md).
127
+
128
+ ## Choose the agent, workflow and execution backend separately
129
+
130
+ | Choice | Options | What it controls |
131
+ |---|---|---|
132
+ | Native agent | `codex-glm`, `codex`, `grok`, `agy` | CLI, configured provider/model, login and native tools |
133
+ | Research mode | `minimal` (default), `structured`, `frontier` | How scientific work is organized |
134
+ | Numerical execution | `bubblewrap` (default), `proot-cooperative` | How recorded experiment processes execute |
135
+ | Legacy engine | DSH or built-in API routes | Existing campaign integrations; separate from native-study modes |
136
+
137
+ Use `--mode structured` or `--mode frontier` for another workflow. Minimal lets the
138
+ agent organize its investigation around a small evidence API; structured uses explicit
139
+ claim-scoped roles and contracts; frontier gives a persistent researcher control of
140
+ the classic claim tree. Existing campaigns retain their recorded semantics.
141
+
142
+ Native agents retain their own shell, search, file and configured provider tools.
143
+ They are trusted, cooperative processes on the study host; they are **not** enclosed
144
+ by the numerical experiment sandbox. Simjecture's supplied tools record experiments,
145
+ provenance and reviews. Native scratch work is not automatically scientific evidence.
146
+
147
+ If namespaces are unavailable, explicitly select `--execution-backend proot-cooperative`
148
+ on a dedicated non-root account. It provides execution bookkeeping and limits, **not
149
+ an OS security boundary**. Simjecture never silently falls back to it. See
150
+ [restricted containers](docs/how-to/restricted-containers.md).
151
+
152
+ [DSH integration](docs/how-to/deepseek-harness.md) remains available with native research
153
+ tools and a governed MCP boundary. [Simote integration](docs/how-to/simote-agent-roles.md)
154
+ is optional; Simjecture can run independently on a local or remote host. Deployment
155
+ to a remote host does not itself create a multi-machine experiment scheduler.
156
+
157
+ ## What minimal mode enforces
158
+
159
+ The agent chooses hypotheses, code, diagnostics and the next discriminating experiment.
160
+ The host maintains the scientific record:
161
+
162
+ - **Immutable question and scope.** Operator requirements cannot be waived by a worker
163
+ or reviewer. Repairs preserve ancestry and explain each changed assumption or bound.
164
+ - **Recorded execution.** Commands, declared inputs, runtime identity and output hashes
165
+ accompany each experiment. Interrupted attempts remain visible.
166
+ - **Commissioning before evidence.** Instrument-backed studies receive source-bound
167
+ methods review. Exploration and supplied examples cannot be relabelled as new evidence.
168
+ - **Counterexample search and fresh repairs.** Support includes an actual challenge
169
+ attempt. Repaired predictions are committed before their fresh tests.
170
+ - **Independent acceptance.** A methods approval permits evidence collection; it does
171
+ not accept a scientific claim. Unconverged, censored or missing results are not
172
+ physical counterexamples.
173
+ - **Persistent context.** The host maintains an experiment journal and bounded research
174
+ brief. Evidence-linked notes and comparisons help retain failed approaches and findings.
175
+ - **Bounded work.** The original deadline survives restart. Cancellation uses durable job
176
+ records and reports unresolved cleanup rather than assuming that agent exit stopped
177
+ every computation.
178
+
179
+ A study completes when its original claim is independently supported, or when a
180
+ falsified original leads to an independently supported repair with the required
181
+ ancestry. A deadline may end the campaign unresolved; that is recorded, not promoted
182
+ to a success.
183
+
184
+ See [methods and progress oversight](docs/how-to/minimal-oversight.md),
185
+ [research memory](docs/how-to/research-memory.md) and
186
+ [evidence and claims](docs/concepts/evidence-and-claims.md).
187
+
188
+ ## Begin with a working scientific instrument
189
+
190
+ For expensive solver setup, provide a guided commissioning package: exact working
191
+ source and command, output reader, observable, validation checks, runtime and known
192
+ limitations. Reproduce that anchor in a separate bounded readiness run before spending
193
+ hours on hypothesis testing.
194
+
195
+ ```bash
196
+ simjecture study --campaign ./runs/guided-study \
197
+ --hypothesis-file hypothesis.txt --instructions-file instructions.md \
198
+ --guided-commission /path/to/guided_commission.json \
199
+ --capabilities /path/to/installed-capabilities \
200
+ --backend codex-glm --model glm-5.3 --wall-seconds 3600
201
+ ```
202
+
203
+ Guided examples are starting instruments, not fresh evidence for the new hypothesis.
204
+ An executable smoke test does not validate a new geometry or diagnostic. The
205
+ [guided commissioning guide](docs/how-to/guided-commissioning.md) explains readiness
206
+ budgets, immutable anchors and instrument versus production review.
207
+
208
+ Optional instruments include WarpX CPU/CUDA, operator-supplied FLASH, and EOS/opacity
209
+ capabilities. For example:
210
+
211
+ ```bash
212
+ simjecture install warpx-cpu
213
+ simjecture doctor --profile warpx-cpu
214
+ ```
215
+
216
+ The release also includes an [ITER ecosystem pack](docs/how-to/iter-pack.md):
217
+ CHERAB/Raysect synthetic diagnostics, CHERAB-ITER/IMAS adapters and IMAS data tools.
218
+ Use **Research tools → ITER pack → Install**, then **Run demo** for a monitored
219
+ example with plots, or run `simjecture install iter-pack`. JOREK, SOLPS-ITER and
220
+ DINA-PS have separate **Install with agent** entries and source-based guidance;
221
+ they are not silently included in the diagnostics installation.
222
+
223
+ FLASH source is not redistributed. Solver source inspection can be configured separately
224
+ from a writable problem/build area. See [runtime deployment](docs/how-to/deploy-runtimes.md)
225
+ and the [scientific skills](skills/).
226
+
227
+ ## Research core introduced in v0.5.1
228
+
229
+ This release builds on v0.5.0's minimal default and shared interfaces:
230
+
231
+ - Methods/progress oversight, stalled-session recovery and deadline-bounded provider retry.
232
+ - Automatic research journaling, bounded context and evidence-linked comparisons.
233
+ - Guided anchors in native studies and explicit cooperative execution for restricted hosts.
234
+ - Updated FLASH/Python skills with guided-study, HDF5 and decision-rule lessons.
235
+ - Preserved instrument ownership across classic assignment rollover.
236
+ - Explicit unmet review prerequisites; conditional approval cannot open the evidence gate.
237
+ - Numerical checks for contradictory prospective acceptance bounds.
238
+ - Output eligibility annotations exposed for review without forcing metadata-only solver reruns.
239
+ - Durable cancellation cleanup independent of CLI-response parsing.
240
+
241
+ The [changelog](CHANGELOG.md) and [repair report](research/evaluations/guided-model-comparison-2026-09-26/RESULTS.md)
242
+ include validation and remaining limitations. General reuse of raw solver data under
243
+ independently versioned analysis still needs a fuller provenance API.
244
+
245
+ ## Measured evidence and limitations
246
+
247
+ Minimal is the default by design preference, not a demonstrated universal performance
248
+ advantage. The latest [MiMo v2.6 Pro / DeepSeek V4.1 Flash comparison](docs/research/llm-comparison.md)
249
+ found faster useful progress with DeepSeek in a guided minimal FLASH study, but **no
250
+ independently accepted scientific conclusion** from either model configuration.
251
+ Unequal duration, different provider tool protocols and one trial per configuration
252
+ limit that comparison. Token totals distinguish cached input, uncached input and
253
+ output; they are not billed-cost estimates.
254
+
255
+ | Recorded evaluation | What can be inspected |
256
+ |---|---|
257
+ | [Gray–Scott](demos/gray_scott_counterexample/) | A completed 23.8-minute finite-domain counterexample campaign, programs, numerical evidence and replay |
258
+ | [Collisionless GEM](demos/collisionless_gem_reconnection/) | 12 fresh CUDA runs; finite-sample child falsification with an unresolved population root |
259
+ | [FLASH island coalescence](demos/resistive_mhd_island_coalescence/) | Working guided anchor, real fields and a historical audit; the repair remained open |
260
+ | [Guided model comparison](research/evaluations/guided-model-comparison-2026-09-26/) | MiMo/DeepSeek progress, usage, harness failures and corrective tests |
261
+
262
+ The historical FLASH narrative recorded an exponent-band falsification with an interval
263
+ that overlaps the allowed band. That overlap alone does not establish such falsification;
264
+ the earlier summary is not independently endorsed here. Provenance enables inspection,
265
+ but cannot make a faulty scientific decision correct.
266
+
267
+ Replay a completed example without an API key or new simulations:
268
+
269
+ ```bash
270
+ git clone https://github.com/tomzhu0225/simjecture.git
271
+ cd simjecture
272
+ uv sync --frozen
273
+ uv run python demos/gray_scott_counterexample/verify_record.py
274
+ uv run simjecture web demos/gray_scott_counterexample/record --read-only
275
+ ```
276
+
277
+ ![Gray–Scott recorded numerical evidence](docs/_static/demos/gray-scott-result.png)
278
+
279
+ ## Documentation and development
280
+
281
+ Start at [the documentation index](docs/index.md). Linux release assets include a
282
+ launch archive with matching Python/DSH packages, setup scripts and SHA-256 checksums.
283
+ Native-agent setup does not require installing DSH.
284
+
285
+ ```bash
286
+ uv sync --all-groups --extra tui --extra dsh
287
+ uv run ruff check .
288
+ uv run pytest
289
+ uv run simjecture schemas --output schemas --check
290
+ uv run --group docs sphinx-build -W -b html docs docs/_build/html
291
+ ```
292
+
293
+ `conjecture-solver` and `acs` remain compatibility aliases. The Python package remains
294
+ `conjecture_solver`. See [CONTRIBUTING.md](CONTRIBUTING.md), [SECURITY.md](SECURITY.md)
295
+ and [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
296
+
297
+ ## Citation and license
298
+
299
+ Use [CITATION.cff](CITATION.cff) and cite the exact version and Git commit used for a
300
+ result. The [concept DOI](https://doi.org/10.5281/zenodo.21945748) identifies the software
301
+ release series.
302
+
303
+ Copyright 2026 Bowen Zhu and contributors. Licensed under the
304
+ [Apache License 2.0](LICENSE).