simjecture 0.3.0__tar.gz → 0.3.1__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 (479) hide show
  1. {simjecture-0.3.0 → simjecture-0.3.1}/.gitignore +1 -0
  2. {simjecture-0.3.0 → simjecture-0.3.1}/CHANGELOG.md +7 -0
  3. {simjecture-0.3.0 → simjecture-0.3.1}/CITATION.cff +2 -2
  4. {simjecture-0.3.0 → simjecture-0.3.1}/PKG-INFO +24 -1
  5. {simjecture-0.3.0 → simjecture-0.3.1}/README.md +23 -0
  6. {simjecture-0.3.0 → simjecture-0.3.1}/THIRD_PARTY_NOTICES.md +7 -0
  7. simjecture-0.3.1/capabilities/atomec-1.4.0.json +28 -0
  8. simjecture-0.3.1/capabilities/m-aneos-1.0.json +34 -0
  9. simjecture-0.3.1/capabilities/optab-1.3.1.json +41 -0
  10. simjecture-0.3.1/capabilities/singularity-eos-1.12.1.json +29 -0
  11. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/README.md +38 -15
  12. {simjecture-0.3.0 → simjecture-0.3.1}/docs/getting-started/installation.md +29 -9
  13. {simjecture-0.3.0 → simjecture-0.3.1}/docs/how-to/deploy-runtimes.md +54 -1
  14. {simjecture-0.3.0 → simjecture-0.3.1}/docs/index.md +2 -1
  15. {simjecture-0.3.0 → simjecture-0.3.1}/pyproject.toml +1 -1
  16. simjecture-0.3.1/skills/eos/SKILL.md +136 -0
  17. simjecture-0.3.1/skills/eos/agents/openai.yaml +4 -0
  18. simjecture-0.3.1/skills/eos/examples/atomec_runtime_smoke.py +82 -0
  19. simjecture-0.3.1/skills/eos/examples/maneos_runtime_smoke.py +106 -0
  20. simjecture-0.3.1/skills/eos/examples/singularity_runtime_smoke.py +128 -0
  21. simjecture-0.3.1/skills/eos/manifest.json +12 -0
  22. simjecture-0.3.1/skills/eos/references/execution-output.md +88 -0
  23. simjecture-0.3.1/skills/eos/references/local-deployment.md +78 -0
  24. simjecture-0.3.1/skills/eos/scripts/bootstrap_atomec.sh +90 -0
  25. simjecture-0.3.1/skills/eos/scripts/bootstrap_maneos.sh +105 -0
  26. simjecture-0.3.1/skills/eos/scripts/bootstrap_singularity_eos.sh +102 -0
  27. simjecture-0.3.1/skills/eos/scripts/maneos_query.f90 +63 -0
  28. simjecture-0.3.1/skills/eos/scripts/singularity_query.cpp +88 -0
  29. {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/SKILL.md +2 -0
  30. {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/references/local-deployment.md +12 -0
  31. simjecture-0.3.1/skills/flash-mhd/references/private-install.md +101 -0
  32. simjecture-0.3.1/skills/flash-mhd/scripts/bootstrap_flash.sh +149 -0
  33. simjecture-0.3.1/skills/opacity/SKILL.md +107 -0
  34. simjecture-0.3.1/skills/opacity/agents/openai.yaml +4 -0
  35. simjecture-0.3.1/skills/opacity/examples/optab_runtime_smoke.py +168 -0
  36. simjecture-0.3.1/skills/opacity/manifest.json +10 -0
  37. simjecture-0.3.1/skills/opacity/references/execution-output.md +52 -0
  38. simjecture-0.3.1/skills/opacity/references/local-deployment.md +58 -0
  39. simjecture-0.3.1/skills/opacity/scripts/bootstrap_optab.sh +187 -0
  40. simjecture-0.3.1/skills/opacity/scripts/write_optab_preflight.py +87 -0
  41. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/cli.py +27 -3
  42. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/deployment.py +403 -54
  43. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_deployment.py +208 -1
  44. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_agent.py +124 -0
  45. {simjecture-0.3.0 → simjecture-0.3.1}/uv.lock +1 -1
  46. {simjecture-0.3.0 → simjecture-0.3.1}/.env.example +0 -0
  47. {simjecture-0.3.0 → simjecture-0.3.1}/.gitattributes +0 -0
  48. {simjecture-0.3.0 → simjecture-0.3.1}/.github/workflows/ci.yml +0 -0
  49. {simjecture-0.3.0 → simjecture-0.3.1}/.github/workflows/release.yml +0 -0
  50. {simjecture-0.3.0 → simjecture-0.3.1}/.readthedocs.yaml +0 -0
  51. {simjecture-0.3.0 → simjecture-0.3.1}/CONTRIBUTING.md +0 -0
  52. {simjecture-0.3.0 → simjecture-0.3.1}/LICENSE +0 -0
  53. {simjecture-0.3.0 → simjecture-0.3.1}/NOTICE +0 -0
  54. {simjecture-0.3.0 → simjecture-0.3.1}/SECURITY.md +0 -0
  55. {simjecture-0.3.0 → simjecture-0.3.1}/capabilities/flash-island-coalescence-resistive-mhd-4.8.json +0 -0
  56. {simjecture-0.3.0 → simjecture-0.3.1}/capabilities/warpx-cpu-26.07.json +0 -0
  57. {simjecture-0.3.0 → simjecture-0.3.1}/capabilities/warpx-cuda-openpmd-26.07.json +0 -0
  58. {simjecture-0.3.0 → simjecture-0.3.1}/demos/README.md +0 -0
  59. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/README.md +0 -0
  60. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/campaign_instruction.txt +0 -0
  61. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/anchor_operator_validation.json +0 -0
  62. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/gem_anchor_validation.json +0 -0
  63. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/gem_collisionless.py +0 -0
  64. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/prior_campaign_0002_audit_summary.json +0 -0
  65. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/prior_campaign_0003_audit_summary.json +0 -0
  66. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/prior_campaign_audit_summary.json +0 -0
  67. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided_commission.json +0 -0
  68. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/hypothesis.txt +0 -0
  69. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/plot_results.py +0 -0
  70. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/artifact_provenance.json +0 -0
  71. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/claim_summary.md +0 -0
  72. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/guided_commissioning.json +0 -0
  73. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/hypothesis_ledger.json +0 -0
  74. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/literature_searches.json +0 -0
  75. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/mvp_manifest.json +0 -0
  76. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/mvp_report.json +0 -0
  77. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/transcript.jsonl +0 -0
  78. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000012.py +0 -0
  79. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000013.py +0 -0
  80. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000019.py +0 -0
  81. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000020.py +0 -0
  82. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000026.py +0 -0
  83. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000027.py +0 -0
  84. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000032.py +0 -0
  85. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000033.py +0 -0
  86. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000037.py +0 -0
  87. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000041.py +0 -0
  88. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000042.py +0 -0
  89. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000043.py +0 -0
  90. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000049.py +0 -0
  91. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/analyze_ensemble.py +0 -0
  92. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/analyze_manifest.json +0 -0
  93. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/commission_summary.json +0 -0
  94. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/ensemble_result.json +0 -0
  95. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/diagnostic_overview.svg +0 -0
  96. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/final_fields.npz +0 -0
  97. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/warpx_used_inputs +0 -0
  98. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/diagnostic_overview.svg +0 -0
  99. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/final_fields.npz +0 -0
  100. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/warpx_used_inputs +0 -0
  101. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260902_summary.json +0 -0
  102. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260903_summary.json +0 -0
  103. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260904_summary.json +0 -0
  104. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260902_summary.json +0 -0
  105. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260903_summary.json +0 -0
  106. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260904_summary.json +0 -0
  107. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260902_summary.json +0 -0
  108. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260903_summary.json +0 -0
  109. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260904_summary.json +0 -0
  110. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260902_summary.json +0 -0
  111. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260903_summary.json +0 -0
  112. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260904_summary.json +0 -0
  113. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/design_pin.json +0 -0
  114. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/energy_reader.py +0 -0
  115. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fallback_solver_plan.json +0 -0
  116. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_manifest.json +0 -0
  117. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output.json +0 -0
  118. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output_wb.json +0 -0
  119. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260902_summary.json +0 -0
  120. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260903_summary.json +0 -0
  121. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260904_summary.json +0 -0
  122. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260902_summary.json +0 -0
  123. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260903_summary.json +0 -0
  124. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260904_summary.json +0 -0
  125. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260902_summary.json +0 -0
  126. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260903_summary.json +0 -0
  127. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260904_summary.json +0 -0
  128. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260902_summary.json +0 -0
  129. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260903_summary.json +0 -0
  130. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260904_summary.json +0 -0
  131. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/gen_fixtures.py +0 -0
  132. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/anchor_operator_validation.json +0 -0
  133. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_anchor_validation.json +0 -0
  134. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_collisionless.py +0 -0
  135. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0002_audit_summary.json +0 -0
  136. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0003_audit_summary.json +0 -0
  137. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_audit_summary.json +0 -0
  138. {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/verify_record.py +0 -0
  139. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/README.md +0 -0
  140. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/capture_tui.py +0 -0
  141. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/hypothesis.txt +0 -0
  142. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/plot_results.py +0 -0
  143. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/README.md +0 -0
  144. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/artifact_provenance.json +0 -0
  145. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/claim_summary.md +0 -0
  146. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/hypothesis_ledger.json +0 -0
  147. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/mvp_manifest.json +0 -0
  148. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/mvp_report.json +0 -0
  149. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/transcript.jsonl +0 -0
  150. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/analyze_results.py +0 -0
  151. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/calc_growth.py +0 -0
  152. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/linear_stability.py +0 -0
  153. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/mode_analysis.py +0 -0
  154. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/mode_analysis_results.json +0 -0
  155. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/pick_regime.py +0 -0
  156. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/regime_candidates.json +0 -0
  157. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s1.npz +0 -0
  158. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s10.npz +0 -0
  159. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s10_dt025.npz +0 -0
  160. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s1_dt025.npz +0 -0
  161. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_pattern_results.json +0 -0
  162. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p025.npz +0 -0
  163. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p05.npz +0 -0
  164. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p025.npz +0 -0
  165. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p05.npz +0 -0
  166. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulate_gs.py +0 -0
  167. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulate_gs_dt025.py +0 -0
  168. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulate_gs_root.py +0 -0
  169. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulation_results.json +0 -0
  170. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulation_results_dt025.json +0 -0
  171. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/turing_diagnostic.py +0 -0
  172. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/reproduce.py +0 -0
  173. {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/verify_record.py +0 -0
  174. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/.gitignore +0 -0
  175. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/campaign_audit.json +0 -0
  176. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/campaign_instruction.txt +0 -0
  177. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/README.md +0 -0
  178. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/island_coalescence_evolution.png +0 -0
  179. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/reconnection_layer_physics.png +0 -0
  180. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/reconnection_microphysics_profiles.png +0 -0
  181. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/scaling_law_discovery.png +0 -0
  182. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/simjecture_web_dashboard.png +0 -0
  183. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/guided/anchor_validation.json +0 -0
  184. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/guided/island_coalescence.py +0 -0
  185. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/guided/operator_validation.json +0 -0
  186. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/guided_commission.json +0 -0
  187. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/hypothesis.txt +0 -0
  188. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/literature_basis.md +0 -0
  189. {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/plot_results.py +0 -0
  190. {simjecture-0.3.0 → simjecture-0.3.1}/docs/_static/demos/gem-ensemble-result.png +0 -0
  191. {simjecture-0.3.0 → simjecture-0.3.1}/docs/_static/demos/gem-reconnection-fields.png +0 -0
  192. {simjecture-0.3.0 → simjecture-0.3.1}/docs/_static/demos/gray-scott-completed-tui.svg +0 -0
  193. {simjecture-0.3.0 → simjecture-0.3.1}/docs/_static/demos/gray-scott-result.png +0 -0
  194. {simjecture-0.3.0 → simjecture-0.3.1}/docs/concepts/architecture.md +0 -0
  195. {simjecture-0.3.0 → simjecture-0.3.1}/docs/concepts/evidence-and-claims.md +0 -0
  196. {simjecture-0.3.0 → simjecture-0.3.1}/docs/conf.py +0 -0
  197. {simjecture-0.3.0 → simjecture-0.3.1}/docs/demos/collisionless-gem.md +0 -0
  198. {simjecture-0.3.0 → simjecture-0.3.1}/docs/demos/gray-scott.md +0 -0
  199. {simjecture-0.3.0 → simjecture-0.3.1}/docs/development/documentation.md +0 -0
  200. {simjecture-0.3.0 → simjecture-0.3.1}/docs/development/releasing.md +0 -0
  201. {simjecture-0.3.0 → simjecture-0.3.1}/docs/getting-started/first-run.md +0 -0
  202. {simjecture-0.3.0 → simjecture-0.3.1}/docs/getting-started/terminal-ui.md +0 -0
  203. {simjecture-0.3.0 → simjecture-0.3.1}/docs/getting-started/web-interface.md +0 -0
  204. {simjecture-0.3.0 → simjecture-0.3.1}/docs/how-to/add-a-capability.md +0 -0
  205. {simjecture-0.3.0 → simjecture-0.3.1}/docs/how-to/deepseek-harness.md +0 -0
  206. {simjecture-0.3.0 → simjecture-0.3.1}/docs/how-to/guided-commissioning.md +0 -0
  207. {simjecture-0.3.0 → simjecture-0.3.1}/docs/reference/cli.md +0 -0
  208. {simjecture-0.3.0 → simjecture-0.3.1}/docs/reference/repository-map.md +0 -0
  209. {simjecture-0.3.0 → simjecture-0.3.1}/docs/requirements.txt +0 -0
  210. {simjecture-0.3.0 → simjecture-0.3.1}/docs/research/limitations.md +0 -0
  211. {simjecture-0.3.0 → simjecture-0.3.1}/docs/research/next-steps.md +0 -0
  212. {simjecture-0.3.0 → simjecture-0.3.1}/docs/research/run-0004.md +0 -0
  213. {simjecture-0.3.0 → simjecture-0.3.1}/docs/research/status.md +0 -0
  214. {simjecture-0.3.0 → simjecture-0.3.1}/environments/warpx-cpu.yml +0 -0
  215. {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/README.md +0 -0
  216. {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/adjudicator.js +0 -0
  217. {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/context-elider.js +0 -0
  218. {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/cordis.patch.yml +0 -0
  219. {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/job-waiter.js +0 -0
  220. {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/package.json +0 -0
  221. {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/roles.js +0 -0
  222. {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/runner.js +0 -0
  223. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/AIStrategyDraft.schema.json +0 -0
  224. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ActionExecution.schema.json +0 -0
  225. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ActionFailureRecord.schema.json +0 -0
  226. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/AttemptRecord.schema.json +0 -0
  227. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/BlindedSearchReport.schema.json +0 -0
  228. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/BlindedSearchRequest.schema.json +0 -0
  229. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignAction.schema.json +0 -0
  230. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignActionGraph.schema.json +0 -0
  231. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignActionState.schema.json +0 -0
  232. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignBudget.schema.json +0 -0
  233. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignCheckpoint.schema.json +0 -0
  234. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignState.schema.json +0 -0
  235. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CandidateEvaluation.schema.json +0 -0
  236. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CandidateResult.schema.json +0 -0
  237. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CapabilityManifest.schema.json +0 -0
  238. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/Claim.schema.json +0 -0
  239. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CollisionalityIntervention.schema.json +0 -0
  240. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ControlDirective.schema.json +0 -0
  241. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DecisionRecord.schema.json +0 -0
  242. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DiscoveryPackage.schema.json +0 -0
  243. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DispatchAttempt.schema.json +0 -0
  244. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DomainDiagnosisSummary.schema.json +0 -0
  245. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DomainEvolutionSummary.schema.json +0 -0
  246. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DomainPluginMetadata.schema.json +0 -0
  247. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DomainRunSummary.schema.json +0 -0
  248. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DomainTemplateSummary.schema.json +0 -0
  249. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ExperimentSpec.schema.json +0 -0
  250. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ExternalReceipt.schema.json +0 -0
  251. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/FreshSeedIntervention.schema.json +0 -0
  252. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/HumanIntervention.schema.json +0 -0
  253. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/HypothesisNode.schema.json +0 -0
  254. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/KineticSufficiencyDiscoveryPackage.schema.json +0 -0
  255. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/KineticSufficiencyHypothesisInput.schema.json +0 -0
  256. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/KineticSufficiencyResult.schema.json +0 -0
  257. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/KineticSufficiencySolveResult.schema.json +0 -0
  258. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/LifecycleEvent.schema.json +0 -0
  259. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/MVPGuidedCommissioningSpec.schema.json +0 -0
  260. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/MatchedPairFormalPredicate.schema.json +0 -0
  261. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ModelCallProvenance.schema.json +0 -0
  262. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/MultiActionCampaignReport.schema.json +0 -0
  263. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/NormalizedResult.schema.json +0 -0
  264. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/NumericalAssessment.schema.json +0 -0
  265. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/NumericalDiagnostics.schema.json +0 -0
  266. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/NumericalGate.schema.json +0 -0
  267. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ObservablePrediction.schema.json +0 -0
  268. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/OutboxIntent.schema.json +0 -0
  269. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICCaseResult.schema.json +0 -0
  270. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICConfig.schema.json +0 -0
  271. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICConfirmationAttempt.schema.json +0 -0
  272. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICConfirmationDesign.schema.json +0 -0
  273. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICConfirmationReport.schema.json +0 -0
  274. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICMixtureCaseResult.schema.json +0 -0
  275. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICNumericalConfig.schema.json +0 -0
  276. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICSufficiencyResult.schema.json +0 -0
  277. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ParameterSpace.schema.json +0 -0
  278. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ParticleStatisticsIntervention.schema.json +0 -0
  279. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ProposalDraft.schema.json +0 -0
  280. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ProposalRecord.schema.json +0 -0
  281. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ProposalRequest.schema.json +0 -0
  282. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ProposalValidation.schema.json +0 -0
  283. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ProposedToolCall.schema.json +0 -0
  284. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/QualifiedWarpXCampaignPackage.schema.json +0 -0
  285. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/QualifiedWarpXInstrument.schema.json +0 -0
  286. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ReferenceQualification.schema.json +0 -0
  287. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchBudget.schema.json +0 -0
  288. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchCampaignReport.schema.json +0 -0
  289. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchConclusion.schema.json +0 -0
  290. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchDecision.schema.json +0 -0
  291. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchEvidencePolicy.schema.json +0 -0
  292. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchHypothesis.schema.json +0 -0
  293. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchObservation.schema.json +0 -0
  294. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchProblemContract.schema.json +0 -0
  295. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchRelation.schema.json +0 -0
  296. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchToolManifest.schema.json +0 -0
  297. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchToolResult.schema.json +0 -0
  298. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/RunEvidence.schema.json +0 -0
  299. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/RunPlan.schema.json +0 -0
  300. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/SearchStrategy.schema.json +0 -0
  301. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/SheetThicknessIntervention.schema.json +0 -0
  302. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/SubprocessResearchToolConfig.schema.json +0 -0
  303. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/SymmetricMixtureCandidate.schema.json +0 -0
  304. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXCalibrationPoint.schema.json +0 -0
  305. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXCaseSummary.schema.json +0 -0
  306. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXCompiledCase.schema.json +0 -0
  307. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXConfirmationAttempt.schema.json +0 -0
  308. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXConfirmationDesign.schema.json +0 -0
  309. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXConfirmationFailure.schema.json +0 -0
  310. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXConfirmationReport.schema.json +0 -0
  311. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXConfirmationResolution.schema.json +0 -0
  312. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXExecutionProfile.schema.json +0 -0
  313. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXNumericalConfig.schema.json +0 -0
  314. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXPairSummary.schema.json +0 -0
  315. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXPhysicalConfig.schema.json +0 -0
  316. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXPhysicsQualificationRecord.schema.json +0 -0
  317. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXQualificationRecord.schema.json +0 -0
  318. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXQualifiedScope.schema.json +0 -0
  319. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/mvp/MVPAgentAction.schema.json +0 -0
  320. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/mvp/MVPAgentReport.schema.json +0 -0
  321. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/mvp/MVPClaim.schema.json +0 -0
  322. {simjecture-0.3.0 → simjecture-0.3.1}/schemas/mvp/MVPClaimLedger.schema.json +0 -0
  323. {simjecture-0.3.0 → simjecture-0.3.1}/scripts/postprocess_warpx_case.py +0 -0
  324. {simjecture-0.3.0 → simjecture-0.3.1}/scripts/probe_provider.py +0 -0
  325. {simjecture-0.3.0 → simjecture-0.3.1}/scripts/propose_hypothesis.py +0 -0
  326. {simjecture-0.3.0 → simjecture-0.3.1}/scripts/propose_search_strategy.py +0 -0
  327. {simjecture-0.3.0 → simjecture-0.3.1}/scripts/qualify_warpx.py +0 -0
  328. {simjecture-0.3.0 → simjecture-0.3.1}/scripts/qualify_warpx_physics.py +0 -0
  329. {simjecture-0.3.0 → simjecture-0.3.1}/scripts/run_admitted_proposal.py +0 -0
  330. {simjecture-0.3.0 → simjecture-0.3.1}/scripts/run_blinded_search.py +0 -0
  331. {simjecture-0.3.0 → simjecture-0.3.1}/scripts/run_qualified_warpx_campaign.py +0 -0
  332. {simjecture-0.3.0 → simjecture-0.3.1}/scripts/run_warpx_confirmation.py +0 -0
  333. {simjecture-0.3.0 → simjecture-0.3.1}/scripts/run_warpx_pair.py +0 -0
  334. {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/agents/openai.yaml +0 -0
  335. {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/examples/runtime_smoke.py +0 -0
  336. {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/manifest.json +0 -0
  337. {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/references/execution-output.md +0 -0
  338. {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/references/model-validity.md +0 -0
  339. {simjecture-0.3.0 → simjecture-0.3.1}/skills/python-experiment/SKILL.md +0 -0
  340. {simjecture-0.3.0 → simjecture-0.3.1}/skills/python-experiment/manifest.json +0 -0
  341. {simjecture-0.3.0 → simjecture-0.3.1}/skills/scientific-markdown/SKILL.md +0 -0
  342. {simjecture-0.3.0 → simjecture-0.3.1}/skills/scientific-markdown/agents/openai.yaml +0 -0
  343. {simjecture-0.3.0 → simjecture-0.3.1}/skills/scientific-markdown/manifest.json +0 -0
  344. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/SKILL.md +0 -0
  345. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/agents/openai.yaml +0 -0
  346. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/examples/implicit_em_smoke.py +0 -0
  347. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/examples/minimal_smoke.py +0 -0
  348. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/examples/openpmd_field_smoke.py +0 -0
  349. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/examples/openpmd_xz_reader.py +0 -0
  350. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/manifest.json +0 -0
  351. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/2d-xz-commissioning.md +0 -0
  352. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/cpu-launch-tuning.md +0 -0
  353. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/diagnostics.md +0 -0
  354. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/gpu-launch-tuning.md +0 -0
  355. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/hybrid-pic.md +0 -0
  356. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/local-cuda-deployment.md +0 -0
  357. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/numerical-risks.md +0 -0
  358. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/picmi-interface.md +0 -0
  359. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/resource-scaling.md +0 -0
  360. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/time-integration.md +0 -0
  361. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/benchmark_cpu_threads.py +0 -0
  362. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/benchmark_gpu.py +0 -0
  363. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/bootstrap_local_cuda.sh +0 -0
  364. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/probe_local_cuda.py +0 -0
  365. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/reduced_energy_budget.py +0 -0
  366. {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/run_local_cuda.sh +0 -0
  367. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/__init__.py +0 -0
  368. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/__main__.py +0 -0
  369. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/action_handlers.py +0 -0
  370. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/adapters/__init__.py +0 -0
  371. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/adapters/base.py +0 -0
  372. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/adapters/fake.py +0 -0
  373. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/adapters/pic.py +0 -0
  374. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/adapters/warpx.py +0 -0
  375. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/autonomous_research.py +0 -0
  376. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/benchmarks/__init__.py +0 -0
  377. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/benchmarks/electrostatic_pic.py +0 -0
  378. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/benchmarks/kinetic_sufficiency.py +0 -0
  379. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/campaign.py +0 -0
  380. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/campaign_jobs.py +0 -0
  381. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/campaign_kernel.py +0 -0
  382. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/confirmation.py +0 -0
  383. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/control.py +0 -0
  384. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/corrective_audit.py +0 -0
  385. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/discovery.py +0 -0
  386. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/domains/__init__.py +0 -0
  387. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/domains/base.py +0 -0
  388. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/domains/kinetic_sufficiency.py +0 -0
  389. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/dsh_engine.py +0 -0
  390. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/kernel_worker.py +0 -0
  391. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/ledger.py +0 -0
  392. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/lifecycle.py +0 -0
  393. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/literature.py +0 -0
  394. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/llm.py +0 -0
  395. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mcp_schemas.py +0 -0
  396. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mcp_server.py +0 -0
  397. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/models.py +0 -0
  398. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_agent.py +0 -0
  399. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_claims.py +0 -0
  400. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_control.py +0 -0
  401. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_guidance.py +0 -0
  402. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_launch.py +0 -0
  403. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_monitor.py +0 -0
  404. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_skills.py +0 -0
  405. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/orchestration.py +0 -0
  406. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/outbox.py +0 -0
  407. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/parameters.py +0 -0
  408. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/presentation.py +0 -0
  409. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/proposals.py +0 -0
  410. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/research_tools.py +0 -0
  411. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/schema_export.py +0 -0
  412. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/search.py +0 -0
  413. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/semantics.py +0 -0
  414. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/tui/__init__.py +0 -0
  415. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/tui/app.py +0 -0
  416. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/tui/claim_views.py +0 -0
  417. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/tui/screens.py +0 -0
  418. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/warpx_analysis.py +0 -0
  419. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/warpx_campaign.py +0 -0
  420. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/warpx_confirmation.py +0 -0
  421. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/__init__.py +0 -0
  422. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/application.py +0 -0
  423. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/server.py +0 -0
  424. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/app.js +0 -0
  425. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/index.html +0 -0
  426. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/markdown.js +0 -0
  427. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/styles.css +0 -0
  428. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.dagre.txt +0 -0
  429. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.dompurify.txt +0 -0
  430. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.katex.txt +0 -0
  431. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.marked.txt +0 -0
  432. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/README.md +0 -0
  433. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/dagre-2.0.0.min.js +0 -0
  434. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/dompurify-3.4.14.min.js +0 -0
  435. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/katex-0.18.4.min.js +0 -0
  436. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/katex-auto-render-0.18.4.min.js +0 -0
  437. {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/marked-18.0.10.umd.js +0 -0
  438. {simjecture-0.3.0 → simjecture-0.3.1}/tests/__init__.py +0 -0
  439. {simjecture-0.3.0 → simjecture-0.3.1}/tests/fixtures/fake_warpx_runner.py +0 -0
  440. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_adapter.py +0 -0
  441. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_autonomous_research.py +0 -0
  442. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_benchmark.py +0 -0
  443. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_campaign.py +0 -0
  444. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_campaign_jobs.py +0 -0
  445. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_campaign_kernel.py +0 -0
  446. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_control.py +0 -0
  447. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_corrective_audit.py +0 -0
  448. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_domain_plugins.py +0 -0
  449. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_dsh_bundle.py +0 -0
  450. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_dsh_engine.py +0 -0
  451. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_ledger.py +0 -0
  452. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_lifecycle.py +0 -0
  453. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_literature.py +0 -0
  454. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_llm.py +0 -0
  455. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mcp_server.py +0 -0
  456. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_models.py +0 -0
  457. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_claims.py +0 -0
  458. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_control.py +0 -0
  459. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_monitor.py +0 -0
  460. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_pause.py +0 -0
  461. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_status_watch.py +0 -0
  462. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_orchestration.py +0 -0
  463. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_outbox.py +0 -0
  464. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_parameters.py +0 -0
  465. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_pic.py +0 -0
  466. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_proposals.py +0 -0
  467. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_recorded_demo.py +0 -0
  468. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_schema_export.py +0 -0
  469. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_search.py +0 -0
  470. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_semantics.py +0 -0
  471. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_tui.py +0 -0
  472. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_tui_claim_views.py +0 -0
  473. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx.py +0 -0
  474. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx_analysis.py +0 -0
  475. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx_campaign.py +0 -0
  476. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx_openpmd_xz.py +0 -0
  477. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx_qualification.py +0 -0
  478. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx_reduced_energy.py +0 -0
  479. {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_web.py +0 -0
@@ -17,3 +17,4 @@ dist/
17
17
  *.sqlite3-wal
18
18
  artifacts/
19
19
  data/
20
+ .private/
@@ -4,6 +4,13 @@ This project follows semantic versioning. Dates use ISO 8601.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.3.1 — 2026-08-30
8
+
9
+ - Added equation-of-state capabilities for atoMEC, Singularity-EOS, and M-ANEOS, with a shared `eos` skill that records each code's model limits.
10
+ - Added an Optab opacity-table capability and `opacity` skill. Optab is documented as an abundance-consuming table generator, not an EOS solver.
11
+ - Added `simjecture install` bootstraps for the EOS and opacity profiles, matching the WarpX CPU provisioning path.
12
+ - FLASH install accepts an operator-owned `--repository` Git remote. Simjecture never ships a FLASH URL; a Git-ignored overlay can store local setup defaults.
13
+
7
14
  ## 0.3.0 — 2026-08-27
8
15
 
9
16
  - Added FLASH 4.8 2D compressible resistive-MHD application capability, commissioning protocol, and rank/timing calibrations.
@@ -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.3.0
6
- date-released: 2026-08-27
5
+ version: 0.3.1
6
+ date-released: 2026-08-30
7
7
  abstract: >-
8
8
  An evidence-governed runtime for autonomous computational experimentation and
9
9
  falsification over hypothesis trees.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: simjecture
3
- Version: 0.3.0
3
+ Version: 0.3.1
4
4
  Summary: Evidence-governed autonomous experimentation and falsification for computational science
5
5
  Project-URL: Homepage, https://github.com/tomzhu0225/simjecture
6
6
  Project-URL: Documentation, https://github.com/tomzhu0225/simjecture/tree/main/docs
@@ -447,6 +447,29 @@ revision before invoking the existing build and openPMD probe.
447
447
  See [`skills/warpx/SKILL.md`](skills/warpx/SKILL.md) and the deployment reference
448
448
  in [`skills/warpx/references/local-cuda-deployment.md`](skills/warpx/references/local-cuda-deployment.md).
449
449
 
450
+ ## Optional EOS and opacity capabilities
451
+
452
+ Equation-of-state and opacity-table generators are optional instruments, not
453
+ architectural dependencies. The installer clones and builds pinned upstream
454
+ revisions into Git-ignored runtimes, then runs a non-evidentiary health probe:
455
+
456
+ ```bash
457
+ uv run simjecture install atomec
458
+ uv run simjecture install singularity-eos
459
+ uv run simjecture install m-aneos
460
+ uv run simjecture install optab
461
+ ```
462
+
463
+ Repeating a command against a healthy runtime performs no installation. Use
464
+ `--dry-run` to inspect the bootstrap command and `--repair` to replace an
465
+ installer-managed prefix. The `eos` and `opacity` skills describe each code's
466
+ interface and validity limits; they do not choose a material or scientific
467
+ claim. An EOS evaluation is not an opacity table, and Optab consumes an
468
+ external abundance table rather than solving an equation of state.
469
+
470
+ See [`skills/eos/SKILL.md`](skills/eos/SKILL.md) and
471
+ [`skills/opacity/SKILL.md`](skills/opacity/SKILL.md).
472
+
450
473
  ## Documentation
451
474
 
452
475
  The curated documentation uses Sphinx, MyST Markdown, and the PyData Sphinx
@@ -411,6 +411,29 @@ revision before invoking the existing build and openPMD probe.
411
411
  See [`skills/warpx/SKILL.md`](skills/warpx/SKILL.md) and the deployment reference
412
412
  in [`skills/warpx/references/local-cuda-deployment.md`](skills/warpx/references/local-cuda-deployment.md).
413
413
 
414
+ ## Optional EOS and opacity capabilities
415
+
416
+ Equation-of-state and opacity-table generators are optional instruments, not
417
+ architectural dependencies. The installer clones and builds pinned upstream
418
+ revisions into Git-ignored runtimes, then runs a non-evidentiary health probe:
419
+
420
+ ```bash
421
+ uv run simjecture install atomec
422
+ uv run simjecture install singularity-eos
423
+ uv run simjecture install m-aneos
424
+ uv run simjecture install optab
425
+ ```
426
+
427
+ Repeating a command against a healthy runtime performs no installation. Use
428
+ `--dry-run` to inspect the bootstrap command and `--repair` to replace an
429
+ installer-managed prefix. The `eos` and `opacity` skills describe each code's
430
+ interface and validity limits; they do not choose a material or scientific
431
+ claim. An EOS evaluation is not an opacity table, and Optab consumes an
432
+ external abundance table rather than solving an equation of state.
433
+
434
+ See [`skills/eos/SKILL.md`](skills/eos/SKILL.md) and
435
+ [`skills/opacity/SKILL.md`](skills/opacity/SKILL.md).
436
+
414
437
  ## Documentation
415
438
 
416
439
  The curated documentation uses Sphinx, MyST Markdown, and the PyData Sphinx
@@ -18,6 +18,13 @@ review the current license, and keep acquired source, modified source, and built
18
18
  binaries outside this source distribution. Simjecture's `flash-mhd` skill and
19
19
  capability metadata do not relicense FLASH.
20
20
 
21
+ Optional equation-of-state and opacity packages (atoMEC, Singularity-EOS,
22
+ M-ANEOS, and Optab) are obtained under their upstream licenses. The
23
+ operator-triggered installer may clone and build pinned revisions into a
24
+ Git-ignored runtime; this repository still does not relicense those packages or
25
+ commit their source, binaries, or atomic databases. Consult each upstream
26
+ distribution for its license and required notices.
27
+
21
28
  Model providers, literature services, and externally supplied guided
22
29
  commissioning packages are services or inputs rather than sublicensed parts of
23
30
  this source distribution. Run artifacts must retain the provenance and license
@@ -0,0 +1,28 @@
1
+ {
2
+ "environment": {
3
+ "MPLBACKEND": "Agg",
4
+ "OMP_NUM_THREADS": "1",
5
+ "PYTHONDONTWRITEBYTECODE": "1"
6
+ },
7
+ "executable": "bin/python",
8
+ "identity_files": [
9
+ "share/build-record.json"
10
+ ],
11
+ "manifest": {
12
+ "description": "Operator-supplied atoMEC 1.4 finite-temperature Kohn-Sham average-atom runtime",
13
+ "executable_kind": "python-atomec",
14
+ "name": "atomec-1.4.0",
15
+ "preflight_checks": [
16
+ "checks.completed",
17
+ "checks.import_succeeded",
18
+ "checks.energy_finite",
19
+ "checks.mean_ionization_in_range"
20
+ ],
21
+ "preflight_resource": "examples/atomec_runtime_smoke.py",
22
+ "preflight_result": "atomec_capability_smoke.json",
23
+ "schema_version": "0.1.0",
24
+ "skill": "eos",
25
+ "version": "1.4.0"
26
+ },
27
+ "runtime_root": "../.runtime/atomec-1.4.0"
28
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "environment": {
3
+ "MANEOS_PREFLIGHT_INPUT": "/opt/acs-capabilities/m-aneos-1.0/share/preflight/ANEOS.INPUT",
4
+ "MANEOS_QUERY": "/opt/acs-capabilities/m-aneos-1.0/bin/maneos-query",
5
+ "PYTHONDONTWRITEBYTECODE": "1"
6
+ },
7
+ "executable": "bin/python",
8
+ "identity_files": [
9
+ "bin/maneos-query",
10
+ "share/build-record.json",
11
+ "share/preflight/ANEOS.INPUT"
12
+ ],
13
+ "manifest": {
14
+ "description": "Operator-supplied M-ANEOS 1.0 total-material analytic EOS query runtime",
15
+ "executable_kind": "python-maneos-query",
16
+ "name": "m-aneos-1.0",
17
+ "preflight_checks": [
18
+ "checks.completed",
19
+ "checks.environment_valid",
20
+ "checks.executable_present",
21
+ "checks.input_present",
22
+ "checks.input_copied",
23
+ "checks.process_completed",
24
+ "checks.return_code_zero",
25
+ "checks.pressure_finite"
26
+ ],
27
+ "preflight_resource": "examples/maneos_runtime_smoke.py",
28
+ "preflight_result": "maneos_capability_smoke.json",
29
+ "schema_version": "0.1.0",
30
+ "skill": "eos",
31
+ "version": "1.0"
32
+ },
33
+ "runtime_root": "../.runtime/m-aneos-1.0"
34
+ }
@@ -0,0 +1,41 @@
1
+ {
2
+ "environment": {
3
+ "OMPI_MCA_btl": "self,vader",
4
+ "OMPI_MCA_pml": "ob1",
5
+ "OMP_NUM_THREADS": "1",
6
+ "OPTAB_EXECUTABLE": "/opt/acs-capabilities/optab-1.3.1/bin/optab",
7
+ "OPTAB_MPI_LAUNCHER": "/opt/acs-capabilities/optab-1.3.1/bin/mpi-launcher",
8
+ "OPTAB_MPI_RANKS": "1",
9
+ "OPTAB_PREFLIGHT_INPUT": "/opt/acs-capabilities/optab-1.3.1/share/preflight",
10
+ "PYTHONDONTWRITEBYTECODE": "1"
11
+ },
12
+ "executable": "bin/python",
13
+ "identity_files": [
14
+ "bin/optab",
15
+ "bin/mpi-launcher",
16
+ "share/build-record.json"
17
+ ],
18
+ "manifest": {
19
+ "description": "Operator-supplied Optab 1.3 MPI/HDF5 opacity-table generator",
20
+ "executable_kind": "python-optab-mpi-hdf5",
21
+ "name": "optab-1.3.1",
22
+ "preflight_checks": [
23
+ "checks.completed",
24
+ "checks.environment_valid",
25
+ "checks.executable_present",
26
+ "checks.mpi_launcher_present",
27
+ "checks.input_present",
28
+ "checks.input_copied",
29
+ "checks.process_completed",
30
+ "checks.return_code_zero",
31
+ "checks.hdf5_output_created",
32
+ "checks.hdf5_output_readable"
33
+ ],
34
+ "preflight_resource": "examples/optab_runtime_smoke.py",
35
+ "preflight_result": "optab_capability_smoke.json",
36
+ "schema_version": "0.1.0",
37
+ "skill": "opacity",
38
+ "version": "1.3.1"
39
+ },
40
+ "runtime_root": "../.runtime/optab-1.3.1"
41
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "environment": {
3
+ "PYTHONDONTWRITEBYTECODE": "1",
4
+ "SINGULARITY_EOS_QUERY": "/opt/acs-capabilities/singularity-eos-1.12.1/bin/eos-query"
5
+ },
6
+ "executable": "bin/python",
7
+ "identity_files": [
8
+ "bin/eos-query",
9
+ "share/build-record.json"
10
+ ],
11
+ "manifest": {
12
+ "description": "Operator-supplied Singularity-EOS 1.12 query runtime for named analytic closures",
13
+ "executable_kind": "python-singularity-eos-query",
14
+ "name": "singularity-eos-1.12.1",
15
+ "preflight_checks": [
16
+ "checks.completed",
17
+ "checks.environment_valid",
18
+ "checks.evaluation_completed",
19
+ "checks.pressure_finite",
20
+ "checks.ideal_gas_pressure_matches_formula"
21
+ ],
22
+ "preflight_resource": "examples/singularity_runtime_smoke.py",
23
+ "preflight_result": "singularity_eos_capability_smoke.json",
24
+ "schema_version": "0.1.0",
25
+ "skill": "eos",
26
+ "version": "1.12.1"
27
+ },
28
+ "runtime_root": "../.runtime/singularity-eos-1.12.1"
29
+ }
@@ -129,21 +129,44 @@ open rather than promoting a curve to a verdict.
129
129
 
130
130
  ## Figures
131
131
 
132
- The field and profile figures are generated from the actual guided anchor:
133
-
134
- - [`island_coalescence_evolution.png`](figures/island_coalescence_evolution.png)
135
- shows four HDF5 states at the nearest recorded times to `0`, `0.35`, `0.70`,
136
- and the final state, with `J_z`, magnetic-flux contours, and field lines.
137
- - [`reconnection_layer_physics.png`](figures/reconnection_layer_physics.png)
138
- shows `J_z`, density/pressure contours, and velocity at the recorded state
139
- nearest `t=0.70`.
140
- - [`reconnection_microphysics_profiles.png`](figures/reconnection_microphysics_profiles.png)
141
- shows centerline cuts and the recorded flux-window/divergence history.
142
-
143
- [`scaling_law_discovery.png`](figures/scaling_law_discovery.png) uses only the
144
- checked-in audit extract. It is labelled as an audit view and leaves the
145
- repair branch open. [`simjecture_web_dashboard.png`](figures/simjecture_web_dashboard.png)
146
- is the actual browser capture described above.
132
+ The field and profile figures are generated from the actual guided anchor and
133
+ are embedded here so that the demo can be inspected without opening each asset
134
+ separately. They remain reproducibility artifacts, not scientific evidence.
135
+
136
+ ### Guided-anchor field evolution
137
+
138
+ ![Four guided FLASH states showing current density, flux contours, and field lines](figures/island_coalescence_evolution.png)
139
+
140
+ The four panels use the recorded states nearest to `t=0`, `0.35`, `0.70`, and
141
+ the final time. The source asset is
142
+ [`island_coalescence_evolution.png`](figures/island_coalescence_evolution.png).
143
+
144
+ ### Reconnection-layer diagnostics
145
+
146
+ ![Current density, density, pressure, and velocity diagnostics near the reconnection layer](figures/reconnection_layer_physics.png)
147
+
148
+ This view uses the recorded state nearest `t=0.70`. The source asset is
149
+ [`reconnection_layer_physics.png`](figures/reconnection_layer_physics.png).
150
+
151
+ ### Centerline profiles and run history
152
+
153
+ ![Centerline profiles with flux-window and divergence history](figures/reconnection_microphysics_profiles.png)
154
+
155
+ These profiles and histories are read from the anchor HDF5 output. The source
156
+ asset is
157
+ [`reconnection_microphysics_profiles.png`](figures/reconnection_microphysics_profiles.png).
158
+
159
+ ### Campaign audit and interface
160
+
161
+ ![Audit view of the scaling fit and open repair branch](figures/scaling_law_discovery.png)
162
+
163
+ The scaling view uses only the checked-in audit extract. It records the valid
164
+ root falsification and leaves the repair branch open; it is not a portable
165
+ evidence record. The source asset is
166
+ [`scaling_law_discovery.png`](figures/scaling_law_discovery.png).
167
+
168
+ The actual browser capture is embedded at the top of this README and is also
169
+ available as [`simjecture_web_dashboard.png`](figures/simjecture_web_dashboard.png).
147
170
 
148
171
  ## Launching a fresh campaign
149
172
 
@@ -39,9 +39,9 @@ than the scientific default.
39
39
 
40
40
  ## Optional simulation runtimes
41
41
 
42
- The default Python sandbox supports ordinary numerical work. WarpX and FLASH
43
- capabilities are optional local instruments. They are mounted read-only and are
44
- not downloaded by `uv sync`.
42
+ The default Python sandbox supports ordinary numerical work. WarpX, FLASH,
43
+ equation-of-state, and opacity capabilities are optional local instruments.
44
+ They are mounted read-only and are not downloaded by `uv sync`.
45
45
 
46
46
  The CPU profile is provisioned and checked in one command:
47
47
 
@@ -85,12 +85,32 @@ verify its exact executable, MPI launch, and HDF5 readback with:
85
85
  uv run simjecture doctor --profile flash
86
86
  ```
87
87
 
88
- `simjecture install flash` is intentionally a verification alias: it does not
89
- provision or modify FLASH. Follow
90
- `skills/flash-mhd/references/local-deployment.md` for the local layout and
91
- qualification boundary. A FLASH executable is compiled for a selected
92
- application and physics configuration; it must not be treated as a universal
93
- MHD binary.
88
+ `simjecture install flash` does not download FLASH. Follow
89
+ `skills/flash-mhd/references/local-deployment.md` for the local layout. A FLASH
90
+ executable is compiled for a selected application and physics configuration; it
91
+ must not be treated as a universal MHD binary. For a private one-command rebuild of a tree you already obtained, or a clone of
92
+ a remote only you configured, attach an overlay as described in
93
+ `skills/flash-mhd/references/private-install.md`. The public tree still contains
94
+ no FLASH download URL.
95
+
96
+ Equation-of-state and opacity-table generators use the same installer path as
97
+ WarpX CPU. The command clones a pinned upstream revision into `.runtime/` and
98
+ runs a non-evidentiary probe:
99
+
100
+ ```bash
101
+ uv run simjecture install atomec
102
+ uv run simjecture install singularity-eos
103
+ uv run simjecture install m-aneos
104
+ uv run simjecture install optab
105
+ ```
106
+
107
+ Use `--dry-run` to inspect a new provisioning command. An unhealthy
108
+ installer-managed prefix is preserved unless `--repair` is explicit. Follow
109
+ `skills/eos/references/local-deployment.md` and
110
+ `skills/opacity/references/local-deployment.md`. An EOS capability is not an
111
+ opacity table; Optab consumes an external abundance table rather than solving
112
+ thermodynamic closure. FLASH remains operator-supplied because its license
113
+ restricts redistribution.
94
114
 
95
115
  ## Local web interface
96
116
 
@@ -76,11 +76,62 @@ Once the local runtime exists, verify it without changing it:
76
76
  uv run simjecture doctor --profile flash
77
77
  ```
78
78
 
79
+ `simjecture install flash` never contains a FLASH download URL. Pass **your**
80
+ licensed copy:
81
+
82
+ ```bash
83
+ uv run simjecture install flash \
84
+ --repository git@github.com:<you>/<your-private-flash>.git \
85
+ --git-ref <tag-or-commit>
86
+ ```
87
+
88
+ or `--source /absolute/path/to/FLASH`. Set `FLASH_SETUP_ARGS`, `FLASH_OBJDIR`,
89
+ and `FLASH_PREFLIGHT_PARFILE` in the environment. A Git-ignored overlay can
90
+ store those defaults. See `skills/flash-mhd/references/private-install.md`.
91
+
79
92
  The cached probe exercises the exact MPI launcher and reads a fresh HDF5 file.
80
93
  It is permanently non-evidentiary. The campaign must still commission its
81
94
  actual compiled model, initial state, boundaries, diagnostics, and numerical
82
95
  regime prospectively.
83
96
 
97
+ ## Equation of state
98
+
99
+ atoMEC, Singularity-EOS, and M-ANEOS are optional instruments. The installer
100
+ clones the pinned upstream revision into a Git-ignored runtime, compiles any
101
+ query driver, and runs a non-evidentiary probe. Host prerequisites are Git and
102
+ Python 3.12 or 3.11; Singularity-EOS also needs `g++`, and M-ANEOS needs
103
+ `gfortran` and `make`.
104
+
105
+ ```bash
106
+ uv run simjecture install atomec
107
+ uv run simjecture install singularity-eos
108
+ uv run simjecture install m-aneos
109
+ ```
110
+
111
+ Repeating a command against a healthy runtime performs no installation. It will
112
+ not overwrite an unhealthy existing directory; `--repair` is accepted only for
113
+ an installer-managed prefix. `--source` may supply an already cloned tree at
114
+ the pinned revision. The generic procedure is documented in
115
+ `skills/eos/references/local-deployment.md`. A campaign must still commission
116
+ the named model, composition, units, and estimator.
117
+
118
+ ## Opacity tables
119
+
120
+ Optab is optional and GPL-3.0 licensed. The installer clones the pinned
121
+ revision, builds the MPI/HDF5 executable, fetches the Gaunt-factor and NIST
122
+ databases required by the doctor probe, and writes a one-zone continuum
123
+ hydrogen input. Host prerequisites are Git, Python 3.12 or 3.11, `h5pfc`, and
124
+ an MPI launcher.
125
+
126
+ ```bash
127
+ uv run simjecture install optab
128
+ ```
129
+
130
+ The probe copies the prepared input tree, launches Optab, and reads HDF5. It
131
+ does not qualify a production opacity table. Optab consumes an external
132
+ abundance file; it is not an equation-of-state solver. See
133
+ `skills/opacity/references/local-deployment.md`.
134
+
84
135
  ## Inspect without installing
85
136
 
86
137
  ```bash
@@ -88,10 +139,12 @@ uv run simjecture doctor
88
139
  uv run simjecture doctor --profile warpx-cpu
89
140
  uv run simjecture doctor --profile warpx-cuda --json
90
141
  uv run simjecture doctor --profile flash --json
142
+ uv run simjecture doctor --profile atomec --json
143
+ uv run simjecture doctor --profile optab --json
91
144
  uv run simjecture install warpx-cpu --dry-run
92
145
  ```
93
146
 
94
- The default doctor treats missing WarpX profiles as optional warnings and fails
147
+ The default doctor treats missing optional profiles as warnings and fails
95
148
  only when the core is unusable. Selecting a profile makes that capability
96
149
  required. `--skip-probes` checks files, manifests, devices, and runtime identity
97
150
  without executing the declared smoke programs.
@@ -28,7 +28,8 @@ hypothesis solving or empirical closure.
28
28
  - **Tool author:** start with [Add a capability](how-to/add-a-capability.md) and
29
29
  [Guided commissioning](how-to/guided-commissioning.md).
30
30
  - **Operator:** use [Deploy runtime profiles](how-to/deploy-runtimes.md) to
31
- provision and verify the core, WarpX CPU, or WarpX CUDA environment.
31
+ provision and verify the core, WarpX, FLASH, equation-of-state, or opacity
32
+ environment.
32
33
  - **DSH operator:** use [Run a Simjecture campaign under DSH](how-to/deepseek-harness.md)
33
34
  to install the native MCP profile and verify its tool boundary.
34
35
  - **Reviewer:** inspect [Evaluation status](research/status.md),
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "simjecture"
7
- version = "0.3.0"
7
+ version = "0.3.1"
8
8
  description = "Evidence-governed autonomous experimentation and falsification for computational science"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: eos
3
+ description: Commission, run, and assess user-installed equation-of-state generators and evaluators. Use when an installed EOS capability may provide thermodynamic or ionization evidence; do not treat an EOS evaluation as radiation-transport or opacity evidence.
4
+ ---
5
+
6
+ # Equation of state
7
+
8
+ Use this skill to operate an equation-of-state executable that the operator
9
+ obtained and registered under an advertised capability. The skill describes the
10
+ instruments; it does not select the scientific hypothesis, material, state
11
+ points, acceptance thresholds, or conclusion.
12
+
13
+ Equation of state and opacity are different instruments. An EOS returns
14
+ thermodynamic state and, when the model includes it, ionization. It does not
15
+ return frequency-dependent absorption, emission, or scattering. Do not use this
16
+ skill as a substitute for an opacity-table capability.
17
+
18
+ ## Execution contract
19
+
20
+ - Use an EOS package only when the campaign advertises an installed capability
21
+ whose manifest names this skill. Do not invent a capability name or assume
22
+ that this skill includes an executable.
23
+ - Keep programs, inputs, analysis, and outputs in the writable workspace.
24
+ Capability action paths are workspace-relative.
25
+ - Treat the exact executable identity, model name, material or composition
26
+ input, units, and analysis source as provenance.
27
+ - Use `stage=workbench` while repairing inputs or checking the interface.
28
+ Workbench artifacts are permanently non-evidentiary. Use `stage=evidence`
29
+ only with a frozen, prospectively commissioned program and command set.
30
+ - Treat a zero process exit status as execution success only. It does not
31
+ establish physical validity, numerical convergence, or support for a claim.
32
+
33
+ ## Installed capabilities
34
+
35
+ Each capability is a different code. Name the model that actually ran.
36
+
37
+ | Capability | Package | What it evaluates |
38
+ |---|---|---|
39
+ | `atomec-1.4.0` | atoMEC 1.4.x | Finite-temperature Kohn–Sham average-atom electron structure for one element |
40
+ | `singularity-eos-1.12.1` | Singularity-EOS 1.12.x | Named analytic or tabulated closures through a query driver or Python module |
41
+ | `m-aneos-1.0` | M-ANEOS 1.0.x | Semi-analytic total-material Helmholtz EOS from an operator-supplied parameter set |
42
+
43
+ Execute workspace Python with `run_capability`, selecting the advertised
44
+ capability. The first argv item is the workspace-relative program. There is no
45
+ shell. Ordinary `run_python` does not contain these packages.
46
+
47
+ Read [execution and output](references/execution-output.md) for launch
48
+ variables, units, and the query JSON contract. Read
49
+ [local deployment](references/local-deployment.md) only when registering or
50
+ repairing a runtime; it is not a campaign procedure.
51
+
52
+ ## Limitations
53
+
54
+ ### atoMEC
55
+
56
+ - Solves a **single-element ion-sphere** average-atom problem with
57
+ finite-temperature Kohn–Sham DFT. It is not a multi-species mixture solver
58
+ and does not enforce a common electron chemical potential across elements.
59
+ - Returns electronic structure and electron thermodynamics. It is not a
60
+ complete material EOS: there is no calibrated ion thermal model, cold curve,
61
+ or multi-phase diagram.
62
+ - The published solver is **non-relativistic**. Do not treat deep-shell or
63
+ high-Z states as relativistic without an independent assessment.
64
+ - Mean ionization and pressure depend on the exchange-correlation functional,
65
+ boundary condition, unbound-electron treatment, orbital basis, and radial
66
+ grid. Distinct pressure estimators (thermodynamic finite difference, virial,
67
+ ideal continuum) can disagree; record which estimator was used.
68
+ - A completed SCF is not a converged result. Basis, grid, mixing, and
69
+ estimator step size remain part of the numerical regime.
70
+
71
+ ### Singularity-EOS
72
+
73
+ - This is a **runtime API and interpolator**, not an atomic-physics generator.
74
+ Tabulated models only reproduce the table they were built from.
75
+ - `IdealGas` is a classical \(\gamma\)-law closure. It has no ionization,
76
+ degeneracy, binding, or phase structure.
77
+ - `IdealElectrons` is a classical Boltzmann electron gas,
78
+ \(P_e=\rho\,\bar{Z}\,k_B T/(\bar{A}\,m_p)\) in the library's default CGS
79
+ units. \(\bar{Z}\) is an **input**, not a computed ionization state. The
80
+ model omits Fermi degeneracy, exchange, correlation, and ionic structure.
81
+ - Other shipped closures (Grüneisen, JWL, Davis, Helmholtz, Vinet, stiff gas,
82
+ noble-abel, Carnahan–Starling, Spiner tables, EOSPAC, stellar collapse, and
83
+ modifiers such as scaled/shifted/relativistic) are valid only inside their
84
+ documented constitutive assumptions. EOSPAC additionally requires a
85
+ separately licensed SESAME library and data; do not assume it is present.
86
+ - Default units are CGS unless a unit-system modifier was applied. Do not mix
87
+ unit systems across models or with atoMEC/M-ANEOS outputs without a recorded
88
+ conversion.
89
+
90
+ ### M-ANEOS
91
+
92
+ - Evaluates a **semi-analytic total-material** Helmholtz free energy. The
93
+ result is only as valid as the operator-supplied `ANEOS.INPUT` parameter set.
94
+ - Upstream example materials are geologic calibrations. An input that was not
95
+ calibrated and reviewed for the claimed species and phase region is not a
96
+ predictive material table.
97
+ - The supported public thermodynamic result is total pressure, energy, entropy,
98
+ heat capacity, sound speed, phase flag, and mean ionization. Legacy electron
99
+ common-block fields are not a stable electron-EOS API.
100
+ - The bundled Rosseland-plus-conduction estimate is an old analytic opacity
101
+ surrogate. It is not an opacity table and must not be used as opacity
102
+ evidence.
103
+ - Total M-ANEOS energy already includes ionic contributions. Do not add it to a
104
+ separately evolved ion kinetic energy without a recorded double-counting
105
+ analysis.
106
+
107
+ ## Recommended use
108
+
109
+ 1. Translate the active claim into an EOS observable: pressure, energy, heat
110
+ capacity, ionization, or a comparison of two named models at the same state.
111
+ 2. Confirm that the advertised capability actually implements the named model,
112
+ composition, and unit system. Runtime flags cannot create a model omitted
113
+ from the build or input deck.
114
+ 3. Develop an inexpensive workbench evaluation that writes a compact JSON
115
+ summary with a top-level `checks` object. The capability smokes are
116
+ permanently non-evidentiary interface checks.
117
+ 4. Commission the representation before evidence: model name, composition,
118
+ independent variables, units, estimator, and numerical parameters.
119
+ 5. Freeze the program and command. Generate fresh evidence from that identity.
120
+ Compare independent codes only at a prospectively declared state and
121
+ conversion.
122
+
123
+ Official resources:
124
+
125
+ - atoMEC: <https://github.com/atomec-project/atoMEC>
126
+ - Singularity-EOS: <https://github.com/lanl/singularity-eos>
127
+ - M-ANEOS: <https://github.com/isale-code/M-ANEOS>
128
+
129
+ ## Boundaries
130
+
131
+ Do not infer that one installed EOS package is adequate merely because it is
132
+ available. Do not treat a runtime smoke, a single state point, or agreement
133
+ between two ideal-gas formulas as material qualification. Never take materials,
134
+ state points, expected values, or acceptance thresholds from this skill; derive
135
+ them within the active campaign and preserve their provenance. Do not silently
136
+ change the model, estimator, units, or composition after inspecting results.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Equation of state"
3
+ short_description: "Commission user-installed EOS generators and evaluators"
4
+ default_prompt: "Use $eos to assess and commission an available equation-of-state capability for this hypothesis."