simjecture 0.3.1__tar.gz → 0.4.0__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 (518) hide show
  1. {simjecture-0.3.1 → simjecture-0.4.0}/.github/workflows/ci.yml +11 -1
  2. {simjecture-0.3.1 → simjecture-0.4.0}/.github/workflows/release.yml +10 -1
  3. {simjecture-0.3.1 → simjecture-0.4.0}/.gitignore +5 -0
  4. {simjecture-0.3.1 → simjecture-0.4.0}/CHANGELOG.md +41 -0
  5. {simjecture-0.3.1 → simjecture-0.4.0}/CITATION.cff +2 -2
  6. {simjecture-0.3.1 → simjecture-0.4.0}/PKG-INFO +12 -5
  7. {simjecture-0.3.1 → simjecture-0.4.0}/README.md +10 -4
  8. simjecture-0.4.0/demos/agent_roles_validation/README.md +44 -0
  9. simjecture-0.4.0/demos/agent_roles_validation/record/artifact_provenance.json +295 -0
  10. simjecture-0.4.0/demos/agent_roles_validation/record/hypothesis_ledger.json +837 -0
  11. simjecture-0.4.0/demos/agent_roles_validation/record/mvp_manifest.json +47 -0
  12. simjecture-0.4.0/demos/agent_roles_validation/record/mvp_report.json +1203 -0
  13. simjecture-0.4.0/demos/agent_roles_validation/record/workspace/artifacts/commission_binary64_ops.json +23 -0
  14. simjecture-0.4.0/demos/agent_roles_validation/record/workspace/artifacts/commission_series_round_002.json +31 -0
  15. simjecture-0.4.0/demos/agent_roles_validation/record/workspace/artifacts/commission_series_round_003.json +33 -0
  16. simjecture-0.4.0/demos/agent_roles_validation/record/workspace/artifacts/euler_bound_002_prospective.json +53 -0
  17. simjecture-0.4.0/demos/agent_roles_validation/record/workspace/artifacts/euler_ten_step_error.json +26 -0
  18. simjecture-0.4.0/demos/agent_roles_validation/record/workspace/scripts/commission_binary64_ops.py +94 -0
  19. simjecture-0.4.0/demos/agent_roles_validation/record/workspace/scripts/commission_series_round_002.py +174 -0
  20. simjecture-0.4.0/demos/agent_roles_validation/record/workspace/scripts/commission_series_round_003.py +205 -0
  21. simjecture-0.4.0/demos/agent_roles_validation/record/workspace/scripts/euler_bound_002_prospective.py +152 -0
  22. simjecture-0.4.0/demos/agent_roles_validation/record/workspace/scripts/euler_ten_step_error.py +53 -0
  23. simjecture-0.4.0/demos/agent_roles_validation/sha256.json +17 -0
  24. simjecture-0.4.0/demos/agent_roles_validation/validation.json +35 -0
  25. simjecture-0.4.0/demos/agent_roles_validation/verify_record.py +38 -0
  26. {simjecture-0.3.1 → simjecture-0.4.0}/docs/conf.py +1 -1
  27. {simjecture-0.3.1 → simjecture-0.4.0}/docs/how-to/deepseek-harness.md +91 -21
  28. simjecture-0.4.0/docs/how-to/dsh-upgrade-assessment.md +73 -0
  29. simjecture-0.4.0/docs/how-to/simote-agent-roles.md +131 -0
  30. {simjecture-0.3.1 → simjecture-0.4.0}/docs/index.md +5 -1
  31. {simjecture-0.3.1 → simjecture-0.4.0}/integrations/dsh/README.md +35 -19
  32. {simjecture-0.3.1 → simjecture-0.4.0}/integrations/dsh/adjudicator.js +9 -22
  33. {simjecture-0.3.1 → simjecture-0.4.0}/integrations/dsh/context-elider.js +3 -3
  34. {simjecture-0.3.1 → simjecture-0.4.0}/integrations/dsh/cordis.patch.yml +16 -67
  35. {simjecture-0.3.1 → simjecture-0.4.0}/integrations/dsh/job-waiter.js +2 -2
  36. simjecture-0.4.0/integrations/dsh/package-lock.json +8976 -0
  37. simjecture-0.4.0/integrations/dsh/package.json +48 -0
  38. simjecture-0.4.0/integrations/dsh/research-tools.js +19 -0
  39. {simjecture-0.3.1 → simjecture-0.4.0}/integrations/dsh/roles.js +33 -13
  40. {simjecture-0.3.1 → simjecture-0.4.0}/integrations/dsh/runner.js +29 -10
  41. simjecture-0.4.0/integrations/dsh/tests/jobs.test.js +77 -0
  42. simjecture-0.4.0/integrations/dsh/tests/profile-model.js +31 -0
  43. simjecture-0.4.0/integrations/dsh/tests/profile.test.js +75 -0
  44. simjecture-0.4.0/integrations/dsh/tests/roles.test.js +141 -0
  45. simjecture-0.4.0/integrations/dsh/tests/runtime.js +61 -0
  46. simjecture-0.4.0/integrations/dsh/tests/session.test.js +114 -0
  47. simjecture-0.4.0/packaging/launch/INSTALL.md +49 -0
  48. simjecture-0.4.0/packaging/launch/launch.sh +12 -0
  49. simjecture-0.4.0/packaging/launch/setup.sh +17 -0
  50. {simjecture-0.3.1 → simjecture-0.4.0}/pyproject.toml +14 -2
  51. simjecture-0.4.0/scripts/build_launch_package.py +64 -0
  52. {simjecture-0.3.1 → simjecture-0.4.0}/skills/python-experiment/SKILL.md +6 -0
  53. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/__init__.py +1 -1
  54. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/campaign_kernel.py +6 -0
  55. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/mcp_schemas.py +7 -0
  56. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/mcp_server.py +20 -2
  57. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/mvp_skills.py +7 -1
  58. simjecture-0.4.0/src/conjecture_solver/oneshot.py +235 -0
  59. simjecture-0.4.0/src/conjecture_solver/role_assignments.py +287 -0
  60. simjecture-0.4.0/src/conjecture_solver/workspace_images.py +47 -0
  61. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_dsh_bundle.py +12 -36
  62. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_dsh_engine.py +1 -1
  63. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_mcp_server.py +2 -1
  64. simjecture-0.4.0/tests/test_oneshot.py +165 -0
  65. simjecture-0.4.0/tests/test_role_assignments.py +112 -0
  66. simjecture-0.4.0/tests/test_workspace_images.py +51 -0
  67. {simjecture-0.3.1 → simjecture-0.4.0}/uv.lock +3 -1
  68. simjecture-0.3.1/integrations/dsh/package.json +0 -40
  69. {simjecture-0.3.1 → simjecture-0.4.0}/.env.example +0 -0
  70. {simjecture-0.3.1 → simjecture-0.4.0}/.gitattributes +0 -0
  71. {simjecture-0.3.1 → simjecture-0.4.0}/.readthedocs.yaml +0 -0
  72. {simjecture-0.3.1 → simjecture-0.4.0}/CONTRIBUTING.md +0 -0
  73. {simjecture-0.3.1 → simjecture-0.4.0}/LICENSE +0 -0
  74. {simjecture-0.3.1 → simjecture-0.4.0}/NOTICE +0 -0
  75. {simjecture-0.3.1 → simjecture-0.4.0}/SECURITY.md +0 -0
  76. {simjecture-0.3.1 → simjecture-0.4.0}/THIRD_PARTY_NOTICES.md +0 -0
  77. {simjecture-0.3.1 → simjecture-0.4.0}/capabilities/atomec-1.4.0.json +0 -0
  78. {simjecture-0.3.1 → simjecture-0.4.0}/capabilities/flash-island-coalescence-resistive-mhd-4.8.json +0 -0
  79. {simjecture-0.3.1 → simjecture-0.4.0}/capabilities/m-aneos-1.0.json +0 -0
  80. {simjecture-0.3.1 → simjecture-0.4.0}/capabilities/optab-1.3.1.json +0 -0
  81. {simjecture-0.3.1 → simjecture-0.4.0}/capabilities/singularity-eos-1.12.1.json +0 -0
  82. {simjecture-0.3.1 → simjecture-0.4.0}/capabilities/warpx-cpu-26.07.json +0 -0
  83. {simjecture-0.3.1 → simjecture-0.4.0}/capabilities/warpx-cuda-openpmd-26.07.json +0 -0
  84. {simjecture-0.3.1 → simjecture-0.4.0}/demos/README.md +0 -0
  85. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/README.md +0 -0
  86. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/campaign_instruction.txt +0 -0
  87. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/guided/anchor_operator_validation.json +0 -0
  88. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/guided/gem_anchor_validation.json +0 -0
  89. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/guided/gem_collisionless.py +0 -0
  90. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_0002_audit_summary.json +0 -0
  91. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_0003_audit_summary.json +0 -0
  92. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_audit_summary.json +0 -0
  93. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/guided_commission.json +0 -0
  94. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/hypothesis.txt +0 -0
  95. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/plot_results.py +0 -0
  96. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/artifact_provenance.json +0 -0
  97. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/claim_summary.md +0 -0
  98. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/guided_commissioning.json +0 -0
  99. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/hypothesis_ledger.json +0 -0
  100. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/literature_searches.json +0 -0
  101. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/mvp_manifest.json +0 -0
  102. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/mvp_report.json +0 -0
  103. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/transcript.jsonl +0 -0
  104. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000012.py +0 -0
  105. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000013.py +0 -0
  106. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000019.py +0 -0
  107. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000020.py +0 -0
  108. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000026.py +0 -0
  109. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000027.py +0 -0
  110. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000032.py +0 -0
  111. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000033.py +0 -0
  112. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000037.py +0 -0
  113. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000041.py +0 -0
  114. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000042.py +0 -0
  115. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000043.py +0 -0
  116. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000049.py +0 -0
  117. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/analyze_ensemble.py +0 -0
  118. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/analyze_manifest.json +0 -0
  119. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/commission_summary.json +0 -0
  120. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/ensemble_result.json +0 -0
  121. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/diagnostic_overview.svg +0 -0
  122. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/final_fields.npz +0 -0
  123. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/warpx_used_inputs +0 -0
  124. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/diagnostic_overview.svg +0 -0
  125. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/final_fields.npz +0 -0
  126. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/warpx_used_inputs +0 -0
  127. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260902_summary.json +0 -0
  128. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260903_summary.json +0 -0
  129. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260904_summary.json +0 -0
  130. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260902_summary.json +0 -0
  131. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260903_summary.json +0 -0
  132. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260904_summary.json +0 -0
  133. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260902_summary.json +0 -0
  134. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260903_summary.json +0 -0
  135. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260904_summary.json +0 -0
  136. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260902_summary.json +0 -0
  137. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260903_summary.json +0 -0
  138. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260904_summary.json +0 -0
  139. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/design_pin.json +0 -0
  140. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/energy_reader.py +0 -0
  141. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fallback_solver_plan.json +0 -0
  142. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_manifest.json +0 -0
  143. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output.json +0 -0
  144. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output_wb.json +0 -0
  145. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260902_summary.json +0 -0
  146. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260903_summary.json +0 -0
  147. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260904_summary.json +0 -0
  148. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260902_summary.json +0 -0
  149. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260903_summary.json +0 -0
  150. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260904_summary.json +0 -0
  151. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260902_summary.json +0 -0
  152. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260903_summary.json +0 -0
  153. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260904_summary.json +0 -0
  154. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260902_summary.json +0 -0
  155. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260903_summary.json +0 -0
  156. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260904_summary.json +0 -0
  157. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/gen_fixtures.py +0 -0
  158. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/guided/anchor_operator_validation.json +0 -0
  159. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_anchor_validation.json +0 -0
  160. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_collisionless.py +0 -0
  161. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0002_audit_summary.json +0 -0
  162. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0003_audit_summary.json +0 -0
  163. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_audit_summary.json +0 -0
  164. {simjecture-0.3.1 → simjecture-0.4.0}/demos/collisionless_gem_reconnection/verify_record.py +0 -0
  165. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/README.md +0 -0
  166. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/capture_tui.py +0 -0
  167. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/hypothesis.txt +0 -0
  168. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/plot_results.py +0 -0
  169. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/README.md +0 -0
  170. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/artifact_provenance.json +0 -0
  171. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/claim_summary.md +0 -0
  172. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/hypothesis_ledger.json +0 -0
  173. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/mvp_manifest.json +0 -0
  174. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/mvp_report.json +0 -0
  175. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/transcript.jsonl +0 -0
  176. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/analyze_results.py +0 -0
  177. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/calc_growth.py +0 -0
  178. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/linear_stability.py +0 -0
  179. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/mode_analysis.py +0 -0
  180. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/mode_analysis_results.json +0 -0
  181. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/pick_regime.py +0 -0
  182. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/regime_candidates.json +0 -0
  183. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/result_s1.npz +0 -0
  184. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/result_s10.npz +0 -0
  185. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/result_s10_dt025.npz +0 -0
  186. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/result_s1_dt025.npz +0 -0
  187. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/root_pattern_results.json +0 -0
  188. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p025.npz +0 -0
  189. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p05.npz +0 -0
  190. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p025.npz +0 -0
  191. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p05.npz +0 -0
  192. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs.py +0 -0
  193. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs_dt025.py +0 -0
  194. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs_root.py +0 -0
  195. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/simulation_results.json +0 -0
  196. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/simulation_results_dt025.json +0 -0
  197. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/record/workspace/turing_diagnostic.py +0 -0
  198. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/reproduce.py +0 -0
  199. {simjecture-0.3.1 → simjecture-0.4.0}/demos/gray_scott_counterexample/verify_record.py +0 -0
  200. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/.gitignore +0 -0
  201. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/README.md +0 -0
  202. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/campaign_audit.json +0 -0
  203. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/campaign_instruction.txt +0 -0
  204. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/figures/README.md +0 -0
  205. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/figures/island_coalescence_evolution.png +0 -0
  206. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/figures/reconnection_layer_physics.png +0 -0
  207. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/figures/reconnection_microphysics_profiles.png +0 -0
  208. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/figures/scaling_law_discovery.png +0 -0
  209. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/figures/simjecture_web_dashboard.png +0 -0
  210. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/guided/anchor_validation.json +0 -0
  211. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/guided/island_coalescence.py +0 -0
  212. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/guided/operator_validation.json +0 -0
  213. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/guided_commission.json +0 -0
  214. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/hypothesis.txt +0 -0
  215. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/literature_basis.md +0 -0
  216. {simjecture-0.3.1 → simjecture-0.4.0}/demos/resistive_mhd_island_coalescence/plot_results.py +0 -0
  217. {simjecture-0.3.1 → simjecture-0.4.0}/docs/_static/demos/gem-ensemble-result.png +0 -0
  218. {simjecture-0.3.1 → simjecture-0.4.0}/docs/_static/demos/gem-reconnection-fields.png +0 -0
  219. {simjecture-0.3.1 → simjecture-0.4.0}/docs/_static/demos/gray-scott-completed-tui.svg +0 -0
  220. {simjecture-0.3.1 → simjecture-0.4.0}/docs/_static/demos/gray-scott-result.png +0 -0
  221. {simjecture-0.3.1 → simjecture-0.4.0}/docs/concepts/architecture.md +0 -0
  222. {simjecture-0.3.1 → simjecture-0.4.0}/docs/concepts/evidence-and-claims.md +0 -0
  223. {simjecture-0.3.1 → simjecture-0.4.0}/docs/demos/collisionless-gem.md +0 -0
  224. {simjecture-0.3.1 → simjecture-0.4.0}/docs/demos/gray-scott.md +0 -0
  225. {simjecture-0.3.1 → simjecture-0.4.0}/docs/development/documentation.md +0 -0
  226. {simjecture-0.3.1 → simjecture-0.4.0}/docs/development/releasing.md +0 -0
  227. {simjecture-0.3.1 → simjecture-0.4.0}/docs/getting-started/first-run.md +0 -0
  228. {simjecture-0.3.1 → simjecture-0.4.0}/docs/getting-started/installation.md +0 -0
  229. {simjecture-0.3.1 → simjecture-0.4.0}/docs/getting-started/terminal-ui.md +0 -0
  230. {simjecture-0.3.1 → simjecture-0.4.0}/docs/getting-started/web-interface.md +0 -0
  231. {simjecture-0.3.1 → simjecture-0.4.0}/docs/how-to/add-a-capability.md +0 -0
  232. {simjecture-0.3.1 → simjecture-0.4.0}/docs/how-to/deploy-runtimes.md +0 -0
  233. {simjecture-0.3.1 → simjecture-0.4.0}/docs/how-to/guided-commissioning.md +0 -0
  234. {simjecture-0.3.1 → simjecture-0.4.0}/docs/reference/cli.md +0 -0
  235. {simjecture-0.3.1 → simjecture-0.4.0}/docs/reference/repository-map.md +0 -0
  236. {simjecture-0.3.1 → simjecture-0.4.0}/docs/requirements.txt +0 -0
  237. {simjecture-0.3.1 → simjecture-0.4.0}/docs/research/limitations.md +0 -0
  238. {simjecture-0.3.1 → simjecture-0.4.0}/docs/research/next-steps.md +0 -0
  239. {simjecture-0.3.1 → simjecture-0.4.0}/docs/research/run-0004.md +0 -0
  240. {simjecture-0.3.1 → simjecture-0.4.0}/docs/research/status.md +0 -0
  241. {simjecture-0.3.1 → simjecture-0.4.0}/environments/warpx-cpu.yml +0 -0
  242. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/AIStrategyDraft.schema.json +0 -0
  243. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ActionExecution.schema.json +0 -0
  244. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ActionFailureRecord.schema.json +0 -0
  245. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/AttemptRecord.schema.json +0 -0
  246. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/BlindedSearchReport.schema.json +0 -0
  247. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/BlindedSearchRequest.schema.json +0 -0
  248. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/CampaignAction.schema.json +0 -0
  249. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/CampaignActionGraph.schema.json +0 -0
  250. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/CampaignActionState.schema.json +0 -0
  251. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/CampaignBudget.schema.json +0 -0
  252. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/CampaignCheckpoint.schema.json +0 -0
  253. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/CampaignState.schema.json +0 -0
  254. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/CandidateEvaluation.schema.json +0 -0
  255. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/CandidateResult.schema.json +0 -0
  256. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/CapabilityManifest.schema.json +0 -0
  257. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/Claim.schema.json +0 -0
  258. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/CollisionalityIntervention.schema.json +0 -0
  259. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ControlDirective.schema.json +0 -0
  260. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/DecisionRecord.schema.json +0 -0
  261. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/DiscoveryPackage.schema.json +0 -0
  262. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/DispatchAttempt.schema.json +0 -0
  263. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/DomainDiagnosisSummary.schema.json +0 -0
  264. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/DomainEvolutionSummary.schema.json +0 -0
  265. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/DomainPluginMetadata.schema.json +0 -0
  266. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/DomainRunSummary.schema.json +0 -0
  267. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/DomainTemplateSummary.schema.json +0 -0
  268. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ExperimentSpec.schema.json +0 -0
  269. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ExternalReceipt.schema.json +0 -0
  270. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/FreshSeedIntervention.schema.json +0 -0
  271. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/HumanIntervention.schema.json +0 -0
  272. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/HypothesisNode.schema.json +0 -0
  273. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/KineticSufficiencyDiscoveryPackage.schema.json +0 -0
  274. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/KineticSufficiencyHypothesisInput.schema.json +0 -0
  275. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/KineticSufficiencyResult.schema.json +0 -0
  276. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/KineticSufficiencySolveResult.schema.json +0 -0
  277. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/LifecycleEvent.schema.json +0 -0
  278. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/MVPGuidedCommissioningSpec.schema.json +0 -0
  279. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/MatchedPairFormalPredicate.schema.json +0 -0
  280. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ModelCallProvenance.schema.json +0 -0
  281. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/MultiActionCampaignReport.schema.json +0 -0
  282. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/NormalizedResult.schema.json +0 -0
  283. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/NumericalAssessment.schema.json +0 -0
  284. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/NumericalDiagnostics.schema.json +0 -0
  285. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/NumericalGate.schema.json +0 -0
  286. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ObservablePrediction.schema.json +0 -0
  287. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/OutboxIntent.schema.json +0 -0
  288. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/PICCaseResult.schema.json +0 -0
  289. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/PICConfig.schema.json +0 -0
  290. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/PICConfirmationAttempt.schema.json +0 -0
  291. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/PICConfirmationDesign.schema.json +0 -0
  292. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/PICConfirmationReport.schema.json +0 -0
  293. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/PICMixtureCaseResult.schema.json +0 -0
  294. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/PICNumericalConfig.schema.json +0 -0
  295. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/PICSufficiencyResult.schema.json +0 -0
  296. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ParameterSpace.schema.json +0 -0
  297. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ParticleStatisticsIntervention.schema.json +0 -0
  298. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ProposalDraft.schema.json +0 -0
  299. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ProposalRecord.schema.json +0 -0
  300. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ProposalRequest.schema.json +0 -0
  301. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ProposalValidation.schema.json +0 -0
  302. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ProposedToolCall.schema.json +0 -0
  303. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/QualifiedWarpXCampaignPackage.schema.json +0 -0
  304. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/QualifiedWarpXInstrument.schema.json +0 -0
  305. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ReferenceQualification.schema.json +0 -0
  306. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ResearchBudget.schema.json +0 -0
  307. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ResearchCampaignReport.schema.json +0 -0
  308. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ResearchConclusion.schema.json +0 -0
  309. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ResearchDecision.schema.json +0 -0
  310. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ResearchEvidencePolicy.schema.json +0 -0
  311. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ResearchHypothesis.schema.json +0 -0
  312. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ResearchObservation.schema.json +0 -0
  313. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ResearchProblemContract.schema.json +0 -0
  314. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ResearchRelation.schema.json +0 -0
  315. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ResearchToolManifest.schema.json +0 -0
  316. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/ResearchToolResult.schema.json +0 -0
  317. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/RunEvidence.schema.json +0 -0
  318. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/RunPlan.schema.json +0 -0
  319. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/SearchStrategy.schema.json +0 -0
  320. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/SheetThicknessIntervention.schema.json +0 -0
  321. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/SubprocessResearchToolConfig.schema.json +0 -0
  322. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/SymmetricMixtureCandidate.schema.json +0 -0
  323. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXCalibrationPoint.schema.json +0 -0
  324. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXCaseSummary.schema.json +0 -0
  325. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXCompiledCase.schema.json +0 -0
  326. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXConfirmationAttempt.schema.json +0 -0
  327. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXConfirmationDesign.schema.json +0 -0
  328. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXConfirmationFailure.schema.json +0 -0
  329. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXConfirmationReport.schema.json +0 -0
  330. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXConfirmationResolution.schema.json +0 -0
  331. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXExecutionProfile.schema.json +0 -0
  332. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXNumericalConfig.schema.json +0 -0
  333. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXPairSummary.schema.json +0 -0
  334. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXPhysicalConfig.schema.json +0 -0
  335. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXPhysicsQualificationRecord.schema.json +0 -0
  336. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXQualificationRecord.schema.json +0 -0
  337. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/WarpXQualifiedScope.schema.json +0 -0
  338. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/mvp/MVPAgentAction.schema.json +0 -0
  339. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/mvp/MVPAgentReport.schema.json +0 -0
  340. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/mvp/MVPClaim.schema.json +0 -0
  341. {simjecture-0.3.1 → simjecture-0.4.0}/schemas/mvp/MVPClaimLedger.schema.json +0 -0
  342. {simjecture-0.3.1 → simjecture-0.4.0}/scripts/postprocess_warpx_case.py +0 -0
  343. {simjecture-0.3.1 → simjecture-0.4.0}/scripts/probe_provider.py +0 -0
  344. {simjecture-0.3.1 → simjecture-0.4.0}/scripts/propose_hypothesis.py +0 -0
  345. {simjecture-0.3.1 → simjecture-0.4.0}/scripts/propose_search_strategy.py +0 -0
  346. {simjecture-0.3.1 → simjecture-0.4.0}/scripts/qualify_warpx.py +0 -0
  347. {simjecture-0.3.1 → simjecture-0.4.0}/scripts/qualify_warpx_physics.py +0 -0
  348. {simjecture-0.3.1 → simjecture-0.4.0}/scripts/run_admitted_proposal.py +0 -0
  349. {simjecture-0.3.1 → simjecture-0.4.0}/scripts/run_blinded_search.py +0 -0
  350. {simjecture-0.3.1 → simjecture-0.4.0}/scripts/run_qualified_warpx_campaign.py +0 -0
  351. {simjecture-0.3.1 → simjecture-0.4.0}/scripts/run_warpx_confirmation.py +0 -0
  352. {simjecture-0.3.1 → simjecture-0.4.0}/scripts/run_warpx_pair.py +0 -0
  353. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/SKILL.md +0 -0
  354. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/agents/openai.yaml +0 -0
  355. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/examples/atomec_runtime_smoke.py +0 -0
  356. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/examples/maneos_runtime_smoke.py +0 -0
  357. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/examples/singularity_runtime_smoke.py +0 -0
  358. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/manifest.json +0 -0
  359. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/references/execution-output.md +0 -0
  360. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/references/local-deployment.md +0 -0
  361. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/scripts/bootstrap_atomec.sh +0 -0
  362. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/scripts/bootstrap_maneos.sh +0 -0
  363. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/scripts/bootstrap_singularity_eos.sh +0 -0
  364. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/scripts/maneos_query.f90 +0 -0
  365. {simjecture-0.3.1 → simjecture-0.4.0}/skills/eos/scripts/singularity_query.cpp +0 -0
  366. {simjecture-0.3.1 → simjecture-0.4.0}/skills/flash-mhd/SKILL.md +0 -0
  367. {simjecture-0.3.1 → simjecture-0.4.0}/skills/flash-mhd/agents/openai.yaml +0 -0
  368. {simjecture-0.3.1 → simjecture-0.4.0}/skills/flash-mhd/examples/runtime_smoke.py +0 -0
  369. {simjecture-0.3.1 → simjecture-0.4.0}/skills/flash-mhd/manifest.json +0 -0
  370. {simjecture-0.3.1 → simjecture-0.4.0}/skills/flash-mhd/references/execution-output.md +0 -0
  371. {simjecture-0.3.1 → simjecture-0.4.0}/skills/flash-mhd/references/local-deployment.md +0 -0
  372. {simjecture-0.3.1 → simjecture-0.4.0}/skills/flash-mhd/references/model-validity.md +0 -0
  373. {simjecture-0.3.1 → simjecture-0.4.0}/skills/flash-mhd/references/private-install.md +0 -0
  374. {simjecture-0.3.1 → simjecture-0.4.0}/skills/flash-mhd/scripts/bootstrap_flash.sh +0 -0
  375. {simjecture-0.3.1 → simjecture-0.4.0}/skills/opacity/SKILL.md +0 -0
  376. {simjecture-0.3.1 → simjecture-0.4.0}/skills/opacity/agents/openai.yaml +0 -0
  377. {simjecture-0.3.1 → simjecture-0.4.0}/skills/opacity/examples/optab_runtime_smoke.py +0 -0
  378. {simjecture-0.3.1 → simjecture-0.4.0}/skills/opacity/manifest.json +0 -0
  379. {simjecture-0.3.1 → simjecture-0.4.0}/skills/opacity/references/execution-output.md +0 -0
  380. {simjecture-0.3.1 → simjecture-0.4.0}/skills/opacity/references/local-deployment.md +0 -0
  381. {simjecture-0.3.1 → simjecture-0.4.0}/skills/opacity/scripts/bootstrap_optab.sh +0 -0
  382. {simjecture-0.3.1 → simjecture-0.4.0}/skills/opacity/scripts/write_optab_preflight.py +0 -0
  383. {simjecture-0.3.1 → simjecture-0.4.0}/skills/python-experiment/manifest.json +0 -0
  384. {simjecture-0.3.1 → simjecture-0.4.0}/skills/scientific-markdown/SKILL.md +0 -0
  385. {simjecture-0.3.1 → simjecture-0.4.0}/skills/scientific-markdown/agents/openai.yaml +0 -0
  386. {simjecture-0.3.1 → simjecture-0.4.0}/skills/scientific-markdown/manifest.json +0 -0
  387. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/SKILL.md +0 -0
  388. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/agents/openai.yaml +0 -0
  389. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/examples/implicit_em_smoke.py +0 -0
  390. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/examples/minimal_smoke.py +0 -0
  391. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/examples/openpmd_field_smoke.py +0 -0
  392. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/examples/openpmd_xz_reader.py +0 -0
  393. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/manifest.json +0 -0
  394. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/references/2d-xz-commissioning.md +0 -0
  395. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/references/cpu-launch-tuning.md +0 -0
  396. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/references/diagnostics.md +0 -0
  397. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/references/gpu-launch-tuning.md +0 -0
  398. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/references/hybrid-pic.md +0 -0
  399. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/references/local-cuda-deployment.md +0 -0
  400. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/references/numerical-risks.md +0 -0
  401. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/references/picmi-interface.md +0 -0
  402. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/references/resource-scaling.md +0 -0
  403. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/references/time-integration.md +0 -0
  404. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/scripts/benchmark_cpu_threads.py +0 -0
  405. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/scripts/benchmark_gpu.py +0 -0
  406. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/scripts/bootstrap_local_cuda.sh +0 -0
  407. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/scripts/probe_local_cuda.py +0 -0
  408. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/scripts/reduced_energy_budget.py +0 -0
  409. {simjecture-0.3.1 → simjecture-0.4.0}/skills/warpx/scripts/run_local_cuda.sh +0 -0
  410. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/__main__.py +0 -0
  411. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/action_handlers.py +0 -0
  412. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/adapters/__init__.py +0 -0
  413. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/adapters/base.py +0 -0
  414. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/adapters/fake.py +0 -0
  415. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/adapters/pic.py +0 -0
  416. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/adapters/warpx.py +0 -0
  417. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/autonomous_research.py +0 -0
  418. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/benchmarks/__init__.py +0 -0
  419. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/benchmarks/electrostatic_pic.py +0 -0
  420. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/benchmarks/kinetic_sufficiency.py +0 -0
  421. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/campaign.py +0 -0
  422. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/campaign_jobs.py +0 -0
  423. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/cli.py +0 -0
  424. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/confirmation.py +0 -0
  425. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/control.py +0 -0
  426. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/corrective_audit.py +0 -0
  427. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/deployment.py +0 -0
  428. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/discovery.py +0 -0
  429. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/domains/__init__.py +0 -0
  430. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/domains/base.py +0 -0
  431. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/domains/kinetic_sufficiency.py +0 -0
  432. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/dsh_engine.py +0 -0
  433. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/kernel_worker.py +0 -0
  434. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/ledger.py +0 -0
  435. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/lifecycle.py +0 -0
  436. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/literature.py +0 -0
  437. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/llm.py +0 -0
  438. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/models.py +0 -0
  439. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/mvp_agent.py +0 -0
  440. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/mvp_claims.py +0 -0
  441. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/mvp_control.py +0 -0
  442. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/mvp_guidance.py +0 -0
  443. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/mvp_launch.py +0 -0
  444. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/mvp_monitor.py +0 -0
  445. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/orchestration.py +0 -0
  446. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/outbox.py +0 -0
  447. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/parameters.py +0 -0
  448. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/presentation.py +0 -0
  449. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/proposals.py +0 -0
  450. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/research_tools.py +0 -0
  451. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/schema_export.py +0 -0
  452. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/search.py +0 -0
  453. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/semantics.py +0 -0
  454. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/tui/__init__.py +0 -0
  455. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/tui/app.py +0 -0
  456. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/tui/claim_views.py +0 -0
  457. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/tui/screens.py +0 -0
  458. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/warpx_analysis.py +0 -0
  459. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/warpx_campaign.py +0 -0
  460. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/warpx_confirmation.py +0 -0
  461. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/__init__.py +0 -0
  462. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/application.py +0 -0
  463. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/server.py +0 -0
  464. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/app.js +0 -0
  465. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/index.html +0 -0
  466. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/markdown.js +0 -0
  467. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/styles.css +0 -0
  468. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/vendor/LICENSE.dagre.txt +0 -0
  469. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/vendor/LICENSE.dompurify.txt +0 -0
  470. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/vendor/LICENSE.katex.txt +0 -0
  471. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/vendor/LICENSE.marked.txt +0 -0
  472. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/vendor/README.md +0 -0
  473. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/vendor/dagre-2.0.0.min.js +0 -0
  474. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/vendor/dompurify-3.4.14.min.js +0 -0
  475. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/vendor/katex-0.18.4.min.js +0 -0
  476. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/vendor/katex-auto-render-0.18.4.min.js +0 -0
  477. {simjecture-0.3.1 → simjecture-0.4.0}/src/conjecture_solver/web/static/vendor/marked-18.0.10.umd.js +0 -0
  478. {simjecture-0.3.1 → simjecture-0.4.0}/tests/__init__.py +0 -0
  479. {simjecture-0.3.1 → simjecture-0.4.0}/tests/fixtures/fake_warpx_runner.py +0 -0
  480. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_adapter.py +0 -0
  481. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_autonomous_research.py +0 -0
  482. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_benchmark.py +0 -0
  483. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_campaign.py +0 -0
  484. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_campaign_jobs.py +0 -0
  485. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_campaign_kernel.py +0 -0
  486. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_control.py +0 -0
  487. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_corrective_audit.py +0 -0
  488. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_deployment.py +0 -0
  489. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_domain_plugins.py +0 -0
  490. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_ledger.py +0 -0
  491. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_lifecycle.py +0 -0
  492. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_literature.py +0 -0
  493. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_llm.py +0 -0
  494. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_models.py +0 -0
  495. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_mvp_agent.py +0 -0
  496. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_mvp_claims.py +0 -0
  497. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_mvp_control.py +0 -0
  498. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_mvp_monitor.py +0 -0
  499. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_mvp_pause.py +0 -0
  500. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_mvp_status_watch.py +0 -0
  501. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_orchestration.py +0 -0
  502. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_outbox.py +0 -0
  503. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_parameters.py +0 -0
  504. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_pic.py +0 -0
  505. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_proposals.py +0 -0
  506. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_recorded_demo.py +0 -0
  507. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_schema_export.py +0 -0
  508. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_search.py +0 -0
  509. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_semantics.py +0 -0
  510. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_tui.py +0 -0
  511. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_tui_claim_views.py +0 -0
  512. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_warpx.py +0 -0
  513. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_warpx_analysis.py +0 -0
  514. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_warpx_campaign.py +0 -0
  515. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_warpx_openpmd_xz.py +0 -0
  516. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_warpx_qualification.py +0 -0
  517. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_warpx_reduced_energy.py +0 -0
  518. {simjecture-0.3.1 → simjecture-0.4.0}/tests/test_web.py +0 -0
@@ -50,7 +50,16 @@ 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
53
+ run: uv sync --frozen --extra tui --extra dsh
54
+ - uses: actions/setup-node@v4
55
+ with:
56
+ node-version: "22.23.1"
57
+ cache: npm
58
+ cache-dependency-path: integrations/dsh/package-lock.json
59
+ - name: Install pinned DSH test runtime
60
+ run: npm ci --prefix integrations/dsh
61
+ - name: Test DSH adapter and real MCP profile
62
+ run: SIMJECTURE_MCP_EXECUTABLE="$PWD/.venv/bin/simjecture-mcp" npm test --prefix integrations/dsh
54
63
  - name: Lint
55
64
  run: uv run ruff check .
56
65
  - name: Test
@@ -83,6 +92,7 @@ jobs:
83
92
  run: |
84
93
  uv run python demos/gray_scott_counterexample/verify_record.py
85
94
  uv run python demos/collisionless_gem_reconnection/verify_record.py
95
+ uv run python demos/agent_roles_validation/verify_record.py
86
96
 
87
97
  warpx-instrument:
88
98
  runs-on: ubuntu-latest
@@ -40,7 +40,16 @@ 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
43
+ run: uv sync --frozen --extra tui --extra dsh
44
+ - uses: actions/setup-node@v4
45
+ with:
46
+ node-version: "22.23.1"
47
+ cache: npm
48
+ cache-dependency-path: integrations/dsh/package-lock.json
49
+ - name: Install pinned DSH test runtime
50
+ run: npm ci --prefix integrations/dsh
51
+ - name: Test DSH adapter and real MCP profile
52
+ run: SIMJECTURE_MCP_EXECUTABLE="$PWD/.venv/bin/simjecture-mcp" npm test --prefix integrations/dsh
44
53
  - name: Lint release source
45
54
  run: uv run ruff check .
46
55
  - name: Test release source
@@ -7,6 +7,7 @@ __pycache__/
7
7
  .ruff_cache/
8
8
  .hypothesis/
9
9
  .coverage
10
+ .coverage.*
10
11
  htmlcov/
11
12
  docs/_build/
12
13
  build/
@@ -16,5 +17,9 @@ dist/
16
17
  *.sqlite3-shm
17
18
  *.sqlite3-wal
18
19
  artifacts/
20
+ !demos/agent_roles_validation/record/workspace/artifacts/
21
+ !demos/agent_roles_validation/record/workspace/artifacts/*.json
19
22
  data/
20
23
  .private/
24
+
25
+ integrations/dsh/node_modules/
@@ -4,6 +4,47 @@ This project follows semantic versioning. Dates use ISO 8601.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.4.0 — 2026-09-20
8
+
9
+ - Updated the bundled DSH integration to the tested `0.1.5-rc.2` runtime,
10
+ including current session, tool-call, prompt and structured-output APIs.
11
+ The Python release and DSH bundle now share version `0.4.0`.
12
+ - Enabled native web search, page retrieval, shell, filesystem, skills,
13
+ workflows and configured plugins for research agents. Scientific calls retain
14
+ role restrictions; independent judges retain their frozen-case isolation.
15
+ - Separated the native research workspace from authoritative campaign files.
16
+ Upgrades start a fresh `.research-v1` conversation, reconcile existing kernel
17
+ state, and preserve older conversations. Built-in DSH file/shell policies
18
+ protect records; arbitrary installed plugins remain trusted process code.
19
+ - Added `read_workspace_image` for bounded PNG, JPEG and WebP image inspection
20
+ through MCP, with dimensions and content hashes. Inspection is not evidence
21
+ acceptance and requires a vision-capable model.
22
+ - Extended the Simote scientific tool catalog for image reads. Matching Simote
23
+ changes add AGY workers and judges; Simote remains a separate optional app.
24
+ - Added real-runtime DSH tests for role isolation, context pruning, V2/V3 log
25
+ migration, durable-job recovery and complete CLI/MCP pause/resume behavior.
26
+ - Verified native search, fetch, file writing and image inspection with real
27
+ DeepSeek API calls on non-simulation research tasks.
28
+ - Added a Linux launch bundle containing the wheel, source distribution,
29
+ matching DSH profile, setup/launch scripts and SHA-256 checksums.
30
+
31
+ ## 0.3.2 — 2026-09-09
32
+
33
+ - Added `simjecture-call`, a one-shot JSON transport for trusted supervisors,
34
+ including Simote's SSH bridge, with sandbox readiness probing and durable
35
+ campaign recovery.
36
+ - Added persistent, claim-scoped scientific role assignments with tool filters,
37
+ operation budgets, idempotent retries, session tracking, and validated handoffs.
38
+ Independent adjudication continues to use the existing evidence and claim gates.
39
+ - Documented the optional Simote campaign workspace and Codex/Grok role workflow.
40
+ - Included a hashed audit extract and offline verifier for a live Codex/Grok
41
+ integration campaign. This validates the transport and scientific role workflow
42
+ on a finite Euler error-bound claim; it is not a new scientific discovery.
43
+ - Bundled built-in capability descriptors in wheels and discover them alongside
44
+ packaged skills, so installed deployments can use the same resource catalog.
45
+ - Clarified the distinction between authored Python source and upstream
46
+ observation data when declaring experiment inputs.
47
+
7
48
  ## 0.3.1 — 2026-08-30
8
49
 
9
50
  - Added equation-of-state capabilities for atoMEC, Singularity-EOS, and M-ANEOS, with a shared `eos` skill that records each code's model limits.
@@ -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.1
6
- date-released: 2026-08-30
5
+ version: 0.4.0
6
+ date-released: 2026-09-20
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.1
3
+ Version: 0.4.0
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
@@ -24,6 +24,7 @@ Requires-Dist: httpx<1,>=0.27
24
24
  Requires-Dist: matplotlib<4,>=3.8
25
25
  Requires-Dist: numpy<3,>=1.26
26
26
  Requires-Dist: pandas<4,>=2.2
27
+ Requires-Dist: pillow<13,>=10
27
28
  Requires-Dist: pydantic<3,>=2.9
28
29
  Requires-Dist: scipy<2,>=1.12
29
30
  Provides-Extra: dsh
@@ -49,7 +50,7 @@ writes its own experiments and diagnostics, and searches deliberately for the
49
50
  simplest result that survives independent verification. The harness controls
50
51
  what may count as evidence.
51
52
 
52
- > **Research preview:** version 0.3 extends the infrastructure with a
53
+ > **Research preview:** version 0.4 extends the infrastructure with a
53
54
  > license-safe FLASH resistive-MHD capability and an explicitly bounded
54
55
  > island-coalescence audit. It does not claim to solve arbitrary
55
56
  > scientific prose, establish truth about nature from one simulator, or replace
@@ -289,11 +290,11 @@ the human-first projection.
289
290
 
290
291
  ## DeepSeek Harness integration
291
292
 
292
- The v0.2.2 integration moves the model-facing research loop to DeepSeek Harness
293
+ The v0.4.0 integration moves the model-facing research loop to DeepSeek Harness
293
294
  without moving scientific authority out of Simjecture. DSH owns the provider,
294
295
  conversation, retry policy, compaction, and resumable session. A native MCP
295
- boundary implements 22 typed endpoints. A compact persistent Lead Scientist
296
- sees seven coordination tools and delegates claim work to fresh, scoped
296
+ boundary implements 23 typed endpoints. A compact persistent Lead Scientist
297
+ sees eight scientific coordination/inspection tools plus native research tools and delegates claim work to fresh, scoped
297
298
  Falsifier/Experimenter, Blocker Resolver, and Repair Scientist sessions. A separate fresh,
298
299
  tool-free Judge reviews surviving claims. The Python campaign kernel continues to own hypotheses,
299
300
  evidence contracts, commissioning, skills, simulation capabilities, sandboxing,
@@ -326,6 +327,12 @@ process state or charging stopped-process downtime.
326
327
 
327
328
  ## Core safeguards
328
329
 
330
+ Codex and Grok CLI agents can also work on a shared campaign through Simote's
331
+ claim-scoped role tasks. See [Simote agent roles](docs/how-to/simote-agent-roles.md)
332
+ for assignment, independent judging, and restart recovery.
333
+ The [completed live Codex/Grok validation](demos/agent_roles_validation/) includes
334
+ a hashed audit extract and an offline numerical verifier.
335
+
329
336
  - Network-isolated writable agent workspace with no provider credentials.
330
337
  - Typed, single-action model protocol and bounded tool outputs.
331
338
  - Prospective evidence contracts with machine-checkable JSON assertions.
@@ -13,7 +13,7 @@ writes its own experiments and diagnostics, and searches deliberately for the
13
13
  simplest result that survives independent verification. The harness controls
14
14
  what may count as evidence.
15
15
 
16
- > **Research preview:** version 0.3 extends the infrastructure with a
16
+ > **Research preview:** version 0.4 extends the infrastructure with a
17
17
  > license-safe FLASH resistive-MHD capability and an explicitly bounded
18
18
  > island-coalescence audit. It does not claim to solve arbitrary
19
19
  > scientific prose, establish truth about nature from one simulator, or replace
@@ -253,11 +253,11 @@ the human-first projection.
253
253
 
254
254
  ## DeepSeek Harness integration
255
255
 
256
- The v0.2.2 integration moves the model-facing research loop to DeepSeek Harness
256
+ The v0.4.0 integration moves the model-facing research loop to DeepSeek Harness
257
257
  without moving scientific authority out of Simjecture. DSH owns the provider,
258
258
  conversation, retry policy, compaction, and resumable session. A native MCP
259
- boundary implements 22 typed endpoints. A compact persistent Lead Scientist
260
- sees seven coordination tools and delegates claim work to fresh, scoped
259
+ boundary implements 23 typed endpoints. A compact persistent Lead Scientist
260
+ sees eight scientific coordination/inspection tools plus native research tools and delegates claim work to fresh, scoped
261
261
  Falsifier/Experimenter, Blocker Resolver, and Repair Scientist sessions. A separate fresh,
262
262
  tool-free Judge reviews surviving claims. The Python campaign kernel continues to own hypotheses,
263
263
  evidence contracts, commissioning, skills, simulation capabilities, sandboxing,
@@ -290,6 +290,12 @@ process state or charging stopped-process downtime.
290
290
 
291
291
  ## Core safeguards
292
292
 
293
+ Codex and Grok CLI agents can also work on a shared campaign through Simote's
294
+ claim-scoped role tasks. See [Simote agent roles](docs/how-to/simote-agent-roles.md)
295
+ for assignment, independent judging, and restart recovery.
296
+ The [completed live Codex/Grok validation](demos/agent_roles_validation/) includes
297
+ a hashed audit extract and an offline numerical verifier.
298
+
293
299
  - Network-isolated writable agent workspace with no provider credentials.
294
300
  - Typed, single-action model protocol and bounded tool outputs.
295
301
  - Prospective evidence contracts with machine-checkable JSON assertions.
@@ -0,0 +1,44 @@
1
+ # Live Codex/Grok role validation
2
+
3
+ This is an actual subscription-CLI integration run, using Simote's Codex and
4
+ Grok drivers, its role-filtered MCP tools, a real loopback SSH connection, and
5
+ Simjecture's Bubblewrap execution/evidence kernel. No model or scientific
6
+ execution was mocked. It deliberately tests a simple false claim, not a new
7
+ scientific discovery.
8
+
9
+ - Grok falsified the original 0.001 error bound for ten binary64 Euler steps.
10
+ - A fresh Codex Repair Scientist changed only the bound to 0.02 and registered
11
+ a prospective contract without running an experiment.
12
+ - A fresh Grok Falsifier generated new evidence. An intentionally dropped
13
+ contract-registration response was recovered by retrying identical arguments
14
+ and the same operation ID; the durable result did not change.
15
+ - A fresh, tool-free Codex judge accepted the evidence for the repaired finite
16
+ claim. Simjecture then finalized the record with all five claims closed.
17
+
18
+ The supervisor was reopened between phases, and the first Falsifier's session
19
+ was also resumed during integration debugging. Failed commissioning controls
20
+ remain in the record alongside their corrected successors. The worker models
21
+ were Grok 4.6 and GPT-6 Astra, using Grok CLI 1.0.13 and Codex CLI 0.153.4.
22
+
23
+ The original binary64 reference subtraction reports an error of
24
+ 0.01920100107144218. The refined enclosure against mathematical exp(-1) is
25
+ [0.019201001071442167, 0.01920100107144217]. Both reject 0.001 and lie below
26
+ 0.02. The verifier independently checks the refined interval at 80-digit
27
+ precision:
28
+
29
+ ```bash
30
+ python3 demos/agent_roles_validation/verify_record.py
31
+ ```
32
+
33
+ The configured GPU containers denied Bubblewrap namespaces. Their attempted
34
+ runs remained non-evidence; successful validation used the local Linux CPU
35
+ through SSH instead. Campaign creation now probes this prerequisite first.
36
+
37
+ `record/` is an explicit audit extract with agent-authored programs, numerical
38
+ artifacts, provenance, claims, and the final report. It omits provider logs,
39
+ native session cursors, worker authentication material, and runtime resource
40
+ caches, and is not a resumable backup. `sha256.json` binds the extract's files.
41
+ The original finalizer report is preserved byte-for-byte; its elapsed time
42
+ describes finalization, not the full external CLI workflow.
43
+ The opt-in reproduction scripts live in the sibling Simote checkout under
44
+ `scripts/live-scientific-campaign.ts` and `scripts/export-scientific-validation.py`.
@@ -0,0 +1,295 @@
1
+ {
2
+ "artifacts": {
3
+ "artifacts/commission_binary64_ops.json": {
4
+ "action": "run_python",
5
+ "action_sha256": "12f3a6d2e52563bc2e2f30017354f912558c5df2a9ce5366f4cd8c4ada7f3b5b",
6
+ "active_claim_id": "claim_instrument_binary64_euler",
7
+ "argv_input_coverage_eligible": true,
8
+ "argv_input_coverage_issues": [],
9
+ "bytes": 732,
10
+ "capability": null,
11
+ "command_argv": [
12
+ "scripts/commission_binary64_ops.py"
13
+ ],
14
+ "evidence_candidate": true,
15
+ "evidence_eligible": true,
16
+ "execution_returncode": 0,
17
+ "execution_stage": null,
18
+ "execution_succeeded": true,
19
+ "execution_timed_out": false,
20
+ "execution_workspace_exceeded": false,
21
+ "generated_iteration": 11,
22
+ "input_artifacts": [],
23
+ "input_artifacts_declared": true,
24
+ "input_lineage_eligible": true,
25
+ "input_lineage_issues": [],
26
+ "job_id": "job_91c7ce244416797b436e49c478ca1e21",
27
+ "job_status": "succeeded",
28
+ "mtime_ns": 1788827527587926014,
29
+ "operation_id": "falsify-1:run-commission-selfcontained",
30
+ "program_path": "scripts/commission_binary64_ops.py",
31
+ "program_sha256": "5d0c9bafbfc77eff322f173d2891fea9ce21f7cc0c51956550ca4bebe04163ca"
32
+ },
33
+ "artifacts/commission_series_round_002.json": {
34
+ "action": "run_python",
35
+ "action_sha256": "d97be630374e7c2c7661f41241e2a66c0fb3a34f74f1a50cfa0379dbac00ae25",
36
+ "active_claim_id": "claim_instrument_exp_series_round_002",
37
+ "argv_input_coverage_eligible": true,
38
+ "argv_input_coverage_issues": [],
39
+ "bytes": 1404,
40
+ "capability": null,
41
+ "command_argv": [
42
+ "scripts/commission_series_round_002.py"
43
+ ],
44
+ "evidence_candidate": true,
45
+ "evidence_eligible": true,
46
+ "execution_returncode": 0,
47
+ "execution_stage": null,
48
+ "execution_succeeded": true,
49
+ "execution_timed_out": false,
50
+ "execution_workspace_exceeded": false,
51
+ "generated_iteration": 24,
52
+ "input_artifacts": [],
53
+ "input_artifacts_declared": true,
54
+ "input_lineage_eligible": true,
55
+ "input_lineage_issues": [],
56
+ "job_id": "job_962a1f549ce362bb9954c0220a2d7df5",
57
+ "job_status": "succeeded",
58
+ "mtime_ns": 1788828352023105674,
59
+ "operation_id": "confirm-1:run-commission-series-round",
60
+ "program_path": "scripts/commission_series_round_002.py",
61
+ "program_sha256": "8b8c9af02d5d9a6182f0514ff5eddc1a91af96a8b131b61e6799cd371381a9a6"
62
+ },
63
+ "artifacts/commission_series_round_003.json": {
64
+ "action": "run_python",
65
+ "action_sha256": "7a9984b2680cb27ecfb51a2eba1020081ab14707b08e79a68b9f39fc272259b3",
66
+ "active_claim_id": "claim_instrument_exp_series_round_003",
67
+ "argv_input_coverage_eligible": true,
68
+ "argv_input_coverage_issues": [],
69
+ "bytes": 1526,
70
+ "capability": null,
71
+ "command_argv": [
72
+ "scripts/commission_series_round_003.py"
73
+ ],
74
+ "evidence_candidate": true,
75
+ "evidence_eligible": true,
76
+ "execution_returncode": 0,
77
+ "execution_stage": null,
78
+ "execution_succeeded": true,
79
+ "execution_timed_out": false,
80
+ "execution_workspace_exceeded": false,
81
+ "generated_iteration": 32,
82
+ "input_artifacts": [],
83
+ "input_artifacts_declared": true,
84
+ "input_lineage_eligible": true,
85
+ "input_lineage_issues": [],
86
+ "job_id": "job_7f79819c8e13ba3cd1352938cfed77d3",
87
+ "job_status": "succeeded",
88
+ "mtime_ns": 1788828573825176942,
89
+ "operation_id": "confirm-1:run-commission-series-round-003",
90
+ "program_path": "scripts/commission_series_round_003.py",
91
+ "program_sha256": "0b72f46fb4fe67cea09584cb627127ccafa835558d133359ec3a4562083127a8"
92
+ },
93
+ "artifacts/euler_bound_002_prospective.json": {
94
+ "action": "run_python",
95
+ "action_sha256": "62f8a11febadba6ed0e7454bd8c53a5740aacee8f91fa02677444d0f1ad7781a",
96
+ "active_claim_id": "claim_repair_euler_bound_002",
97
+ "argv_input_coverage_eligible": true,
98
+ "argv_input_coverage_issues": [],
99
+ "bytes": 1813,
100
+ "capability": null,
101
+ "command_argv": [
102
+ "scripts/euler_bound_002_prospective.py"
103
+ ],
104
+ "evidence_candidate": true,
105
+ "evidence_eligible": true,
106
+ "execution_returncode": 0,
107
+ "execution_stage": null,
108
+ "execution_succeeded": true,
109
+ "execution_timed_out": false,
110
+ "execution_workspace_exceeded": false,
111
+ "generated_iteration": 35,
112
+ "input_artifacts": [],
113
+ "input_artifacts_declared": true,
114
+ "input_lineage_eligible": true,
115
+ "input_lineage_issues": [],
116
+ "job_id": "job_f6e6b3124589bd84968dc6393cb4dd8b",
117
+ "job_status": "succeeded",
118
+ "mtime_ns": 1788828618468492097,
119
+ "operation_id": "confirm-1:run-euler-bound-002-prospective",
120
+ "program_path": "scripts/euler_bound_002_prospective.py",
121
+ "program_sha256": "db23372bc313ea46d00362fc004883009d18c098f083b72ef8cce34cb34824e1"
122
+ },
123
+ "artifacts/euler_ten_step_error.json": {
124
+ "action": "run_python",
125
+ "action_sha256": "626830457356fadce8c511d2eb43a0b782a10a1485dc6d795610e1bfe0f60e13",
126
+ "active_claim_id": "claim_root",
127
+ "argv_input_coverage_eligible": true,
128
+ "argv_input_coverage_issues": [],
129
+ "bytes": 586,
130
+ "capability": null,
131
+ "command_argv": [
132
+ "scripts/euler_ten_step_error.py"
133
+ ],
134
+ "evidence_candidate": true,
135
+ "evidence_eligible": true,
136
+ "execution_returncode": 0,
137
+ "execution_stage": null,
138
+ "execution_succeeded": true,
139
+ "execution_timed_out": false,
140
+ "execution_workspace_exceeded": false,
141
+ "generated_iteration": 15,
142
+ "input_artifacts": [],
143
+ "input_artifacts_declared": true,
144
+ "input_lineage_eligible": true,
145
+ "input_lineage_issues": [],
146
+ "job_id": "job_505e300d5731b62fb2baadbd4d0a50cd",
147
+ "job_status": "succeeded",
148
+ "mtime_ns": 1788827571509552217,
149
+ "operation_id": "falsify-1:run-euler-ten-step",
150
+ "program_path": "scripts/euler_ten_step_error.py",
151
+ "program_sha256": "bbb727b065c2c71fdf79242eb2acae124ad0277b968f8685b676c391b98461e4"
152
+ },
153
+ "scripts/commission_binary64_ops.py": {
154
+ "action": "write_file",
155
+ "action_sha256": "a4cb5e51cbedd9e6c9019b884d05ae15820bbaf425dd54f62dad8de867f90bf2",
156
+ "active_claim_id": null,
157
+ "argv_input_coverage_eligible": true,
158
+ "argv_input_coverage_issues": [],
159
+ "bytes": 2892,
160
+ "capability": null,
161
+ "command_argv": [],
162
+ "evidence_candidate": false,
163
+ "evidence_eligible": false,
164
+ "execution_returncode": null,
165
+ "execution_stage": null,
166
+ "execution_succeeded": null,
167
+ "execution_timed_out": null,
168
+ "execution_workspace_exceeded": null,
169
+ "generated_iteration": 3,
170
+ "input_artifacts": [],
171
+ "input_artifacts_declared": false,
172
+ "input_lineage_eligible": true,
173
+ "input_lineage_issues": [],
174
+ "job_id": null,
175
+ "job_status": "succeeded",
176
+ "mtime_ns": 1788827284965955688,
177
+ "operation_id": "falsify-1:write-commission-script",
178
+ "program_path": null,
179
+ "program_sha256": null
180
+ },
181
+ "scripts/commission_series_round_002.py": {
182
+ "action": "write_file",
183
+ "action_sha256": "72db565feb5d5eca8de8fda4245d13ff7cc98d7a32f11c39ed2300ddb32f505c",
184
+ "active_claim_id": null,
185
+ "argv_input_coverage_eligible": true,
186
+ "argv_input_coverage_issues": [],
187
+ "bytes": 5825,
188
+ "capability": null,
189
+ "command_argv": [],
190
+ "evidence_candidate": false,
191
+ "evidence_eligible": false,
192
+ "execution_returncode": null,
193
+ "execution_stage": null,
194
+ "execution_succeeded": null,
195
+ "execution_timed_out": null,
196
+ "execution_workspace_exceeded": null,
197
+ "generated_iteration": 22,
198
+ "input_artifacts": [],
199
+ "input_artifacts_declared": false,
200
+ "input_lineage_eligible": true,
201
+ "input_lineage_issues": [],
202
+ "job_id": null,
203
+ "job_status": "succeeded",
204
+ "mtime_ns": 1788828313825265392,
205
+ "operation_id": "confirm-1:write-commission-script",
206
+ "program_path": null,
207
+ "program_sha256": null
208
+ },
209
+ "scripts/commission_series_round_003.py": {
210
+ "action": "write_file",
211
+ "action_sha256": "6b3457cb2fa10d1316575f7716c5d480b4b0e87dcfdebafd598639bd56e64df9",
212
+ "active_claim_id": null,
213
+ "argv_input_coverage_eligible": true,
214
+ "argv_input_coverage_issues": [],
215
+ "bytes": 6815,
216
+ "capability": null,
217
+ "command_argv": [],
218
+ "evidence_candidate": false,
219
+ "evidence_eligible": false,
220
+ "execution_returncode": null,
221
+ "execution_stage": null,
222
+ "execution_succeeded": null,
223
+ "execution_timed_out": null,
224
+ "execution_workspace_exceeded": null,
225
+ "generated_iteration": 30,
226
+ "input_artifacts": [],
227
+ "input_artifacts_declared": false,
228
+ "input_lineage_eligible": true,
229
+ "input_lineage_issues": [],
230
+ "job_id": null,
231
+ "job_status": "succeeded",
232
+ "mtime_ns": 1788828542844750204,
233
+ "operation_id": "confirm-1:write-commission-script-003",
234
+ "program_path": null,
235
+ "program_sha256": null
236
+ },
237
+ "scripts/euler_bound_002_prospective.py": {
238
+ "action": "write_file",
239
+ "action_sha256": "46ba99148167766198cd9afe30e6d36b1ef4b3b7716a97c26b30dc6c7e209842",
240
+ "active_claim_id": null,
241
+ "argv_input_coverage_eligible": true,
242
+ "argv_input_coverage_issues": [],
243
+ "bytes": 4971,
244
+ "capability": null,
245
+ "command_argv": [],
246
+ "evidence_candidate": false,
247
+ "evidence_eligible": false,
248
+ "execution_returncode": null,
249
+ "execution_stage": null,
250
+ "execution_succeeded": null,
251
+ "execution_timed_out": null,
252
+ "execution_workspace_exceeded": null,
253
+ "generated_iteration": 25,
254
+ "input_artifacts": [],
255
+ "input_artifacts_declared": false,
256
+ "input_lineage_eligible": true,
257
+ "input_lineage_issues": [],
258
+ "job_id": null,
259
+ "job_status": "succeeded",
260
+ "mtime_ns": 1788828383368273892,
261
+ "operation_id": "confirm-1:write-euler-prospective-script",
262
+ "program_path": null,
263
+ "program_sha256": null
264
+ },
265
+ "scripts/euler_ten_step_error.py": {
266
+ "action": "write_file",
267
+ "action_sha256": "a29436a6a00d93f270201ad4c324d3a29e597e47f8a263c43493faa9e4cfc02b",
268
+ "active_claim_id": null,
269
+ "argv_input_coverage_eligible": true,
270
+ "argv_input_coverage_issues": [],
271
+ "bytes": 1406,
272
+ "capability": null,
273
+ "command_argv": [],
274
+ "evidence_candidate": false,
275
+ "evidence_eligible": false,
276
+ "execution_returncode": null,
277
+ "execution_stage": null,
278
+ "execution_succeeded": null,
279
+ "execution_timed_out": null,
280
+ "execution_workspace_exceeded": null,
281
+ "generated_iteration": 10,
282
+ "input_artifacts": [],
283
+ "input_artifacts_declared": false,
284
+ "input_lineage_eligible": true,
285
+ "input_lineage_issues": [],
286
+ "job_id": null,
287
+ "job_status": "succeeded",
288
+ "mtime_ns": 1788827509929971511,
289
+ "operation_id": "falsify-1:write-euler-script",
290
+ "program_path": null,
291
+ "program_sha256": null
292
+ }
293
+ },
294
+ "schema_version": "0.1.0"
295
+ }