simjecture 0.2.1__tar.gz → 0.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. {simjecture-0.2.1 → simjecture-0.2.2}/.github/workflows/release.yml +21 -0
  2. {simjecture-0.2.1 → simjecture-0.2.2}/CHANGELOG.md +10 -0
  3. {simjecture-0.2.1 → simjecture-0.2.2}/CITATION.cff +2 -2
  4. {simjecture-0.2.1 → simjecture-0.2.2}/PKG-INFO +2 -2
  5. {simjecture-0.2.1 → simjecture-0.2.2}/README.md +1 -1
  6. {simjecture-0.2.1 → simjecture-0.2.2}/docs/conf.py +1 -1
  7. {simjecture-0.2.1 → simjecture-0.2.2}/docs/how-to/deepseek-harness.md +2 -2
  8. {simjecture-0.2.1 → simjecture-0.2.2}/integrations/dsh/README.md +2 -2
  9. {simjecture-0.2.1 → simjecture-0.2.2}/integrations/dsh/package.json +1 -1
  10. {simjecture-0.2.1 → simjecture-0.2.2}/pyproject.toml +1 -1
  11. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/__init__.py +1 -1
  12. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/campaign_jobs.py +11 -1
  13. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/dsh_engine.py +1 -1
  14. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/server.py +1 -1
  15. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_campaign_jobs.py +2 -1
  16. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_dsh_bundle.py +1 -1
  17. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_dsh_engine.py +1 -1
  18. {simjecture-0.2.1 → simjecture-0.2.2}/uv.lock +1 -1
  19. {simjecture-0.2.1 → simjecture-0.2.2}/.env.example +0 -0
  20. {simjecture-0.2.1 → simjecture-0.2.2}/.gitattributes +0 -0
  21. {simjecture-0.2.1 → simjecture-0.2.2}/.github/workflows/ci.yml +0 -0
  22. {simjecture-0.2.1 → simjecture-0.2.2}/.gitignore +0 -0
  23. {simjecture-0.2.1 → simjecture-0.2.2}/.readthedocs.yaml +0 -0
  24. {simjecture-0.2.1 → simjecture-0.2.2}/CONTRIBUTING.md +0 -0
  25. {simjecture-0.2.1 → simjecture-0.2.2}/LICENSE +0 -0
  26. {simjecture-0.2.1 → simjecture-0.2.2}/NOTICE +0 -0
  27. {simjecture-0.2.1 → simjecture-0.2.2}/SECURITY.md +0 -0
  28. {simjecture-0.2.1 → simjecture-0.2.2}/THIRD_PARTY_NOTICES.md +0 -0
  29. {simjecture-0.2.1 → simjecture-0.2.2}/capabilities/warpx-cpu-26.07.json +0 -0
  30. {simjecture-0.2.1 → simjecture-0.2.2}/capabilities/warpx-cuda-openpmd-26.07.json +0 -0
  31. {simjecture-0.2.1 → simjecture-0.2.2}/demos/README.md +0 -0
  32. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/README.md +0 -0
  33. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/campaign_instruction.txt +0 -0
  34. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/guided/anchor_operator_validation.json +0 -0
  35. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/guided/gem_anchor_validation.json +0 -0
  36. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/guided/gem_collisionless.py +0 -0
  37. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/guided/prior_campaign_0002_audit_summary.json +0 -0
  38. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/guided/prior_campaign_0003_audit_summary.json +0 -0
  39. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/guided/prior_campaign_audit_summary.json +0 -0
  40. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/guided_commission.json +0 -0
  41. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/hypothesis.txt +0 -0
  42. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/plot_results.py +0 -0
  43. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/artifact_provenance.json +0 -0
  44. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/claim_summary.md +0 -0
  45. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/guided_commissioning.json +0 -0
  46. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/hypothesis_ledger.json +0 -0
  47. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/literature_searches.json +0 -0
  48. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/mvp_manifest.json +0 -0
  49. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/mvp_report.json +0 -0
  50. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/transcript.jsonl +0 -0
  51. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000012.py +0 -0
  52. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000013.py +0 -0
  53. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000019.py +0 -0
  54. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000020.py +0 -0
  55. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000026.py +0 -0
  56. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000027.py +0 -0
  57. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000032.py +0 -0
  58. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000033.py +0 -0
  59. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000037.py +0 -0
  60. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000041.py +0 -0
  61. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000042.py +0 -0
  62. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000043.py +0 -0
  63. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000049.py +0 -0
  64. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/analyze_ensemble.py +0 -0
  65. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/analyze_manifest.json +0 -0
  66. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/commission_summary.json +0 -0
  67. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/ensemble_result.json +0 -0
  68. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/diagnostic_overview.svg +0 -0
  69. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/final_fields.npz +0 -0
  70. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/warpx_used_inputs +0 -0
  71. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/diagnostic_overview.svg +0 -0
  72. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/final_fields.npz +0 -0
  73. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/warpx_used_inputs +0 -0
  74. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260902_summary.json +0 -0
  75. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260903_summary.json +0 -0
  76. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260904_summary.json +0 -0
  77. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260902_summary.json +0 -0
  78. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260903_summary.json +0 -0
  79. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260904_summary.json +0 -0
  80. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260902_summary.json +0 -0
  81. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260903_summary.json +0 -0
  82. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260904_summary.json +0 -0
  83. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260902_summary.json +0 -0
  84. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260903_summary.json +0 -0
  85. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260904_summary.json +0 -0
  86. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/design_pin.json +0 -0
  87. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/energy_reader.py +0 -0
  88. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fallback_solver_plan.json +0 -0
  89. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_manifest.json +0 -0
  90. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output.json +0 -0
  91. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output_wb.json +0 -0
  92. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260902_summary.json +0 -0
  93. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260903_summary.json +0 -0
  94. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260904_summary.json +0 -0
  95. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260902_summary.json +0 -0
  96. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260903_summary.json +0 -0
  97. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260904_summary.json +0 -0
  98. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260902_summary.json +0 -0
  99. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260903_summary.json +0 -0
  100. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260904_summary.json +0 -0
  101. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260902_summary.json +0 -0
  102. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260903_summary.json +0 -0
  103. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260904_summary.json +0 -0
  104. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/gen_fixtures.py +0 -0
  105. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/guided/anchor_operator_validation.json +0 -0
  106. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_anchor_validation.json +0 -0
  107. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_collisionless.py +0 -0
  108. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0002_audit_summary.json +0 -0
  109. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0003_audit_summary.json +0 -0
  110. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_audit_summary.json +0 -0
  111. {simjecture-0.2.1 → simjecture-0.2.2}/demos/collisionless_gem_reconnection/verify_record.py +0 -0
  112. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/README.md +0 -0
  113. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/capture_tui.py +0 -0
  114. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/hypothesis.txt +0 -0
  115. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/plot_results.py +0 -0
  116. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/README.md +0 -0
  117. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/artifact_provenance.json +0 -0
  118. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/claim_summary.md +0 -0
  119. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/hypothesis_ledger.json +0 -0
  120. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/mvp_manifest.json +0 -0
  121. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/mvp_report.json +0 -0
  122. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/transcript.jsonl +0 -0
  123. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/analyze_results.py +0 -0
  124. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/calc_growth.py +0 -0
  125. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/linear_stability.py +0 -0
  126. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/mode_analysis.py +0 -0
  127. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/mode_analysis_results.json +0 -0
  128. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/pick_regime.py +0 -0
  129. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/regime_candidates.json +0 -0
  130. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/result_s1.npz +0 -0
  131. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/result_s10.npz +0 -0
  132. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/result_s10_dt025.npz +0 -0
  133. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/result_s1_dt025.npz +0 -0
  134. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/root_pattern_results.json +0 -0
  135. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p025.npz +0 -0
  136. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p05.npz +0 -0
  137. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p025.npz +0 -0
  138. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p05.npz +0 -0
  139. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/simulate_gs.py +0 -0
  140. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/simulate_gs_dt025.py +0 -0
  141. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/simulate_gs_root.py +0 -0
  142. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/simulation_results.json +0 -0
  143. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/simulation_results_dt025.json +0 -0
  144. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/record/workspace/turing_diagnostic.py +0 -0
  145. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/reproduce.py +0 -0
  146. {simjecture-0.2.1 → simjecture-0.2.2}/demos/gray_scott_counterexample/verify_record.py +0 -0
  147. {simjecture-0.2.1 → simjecture-0.2.2}/docs/_static/demos/gem-ensemble-result.png +0 -0
  148. {simjecture-0.2.1 → simjecture-0.2.2}/docs/_static/demos/gem-reconnection-fields.png +0 -0
  149. {simjecture-0.2.1 → simjecture-0.2.2}/docs/_static/demos/gray-scott-completed-tui.svg +0 -0
  150. {simjecture-0.2.1 → simjecture-0.2.2}/docs/_static/demos/gray-scott-result.png +0 -0
  151. {simjecture-0.2.1 → simjecture-0.2.2}/docs/concepts/architecture.md +0 -0
  152. {simjecture-0.2.1 → simjecture-0.2.2}/docs/concepts/evidence-and-claims.md +0 -0
  153. {simjecture-0.2.1 → simjecture-0.2.2}/docs/demos/collisionless-gem.md +0 -0
  154. {simjecture-0.2.1 → simjecture-0.2.2}/docs/demos/gray-scott.md +0 -0
  155. {simjecture-0.2.1 → simjecture-0.2.2}/docs/development/documentation.md +0 -0
  156. {simjecture-0.2.1 → simjecture-0.2.2}/docs/development/releasing.md +0 -0
  157. {simjecture-0.2.1 → simjecture-0.2.2}/docs/getting-started/first-run.md +0 -0
  158. {simjecture-0.2.1 → simjecture-0.2.2}/docs/getting-started/installation.md +0 -0
  159. {simjecture-0.2.1 → simjecture-0.2.2}/docs/getting-started/terminal-ui.md +0 -0
  160. {simjecture-0.2.1 → simjecture-0.2.2}/docs/getting-started/web-interface.md +0 -0
  161. {simjecture-0.2.1 → simjecture-0.2.2}/docs/how-to/add-a-capability.md +0 -0
  162. {simjecture-0.2.1 → simjecture-0.2.2}/docs/how-to/deploy-runtimes.md +0 -0
  163. {simjecture-0.2.1 → simjecture-0.2.2}/docs/how-to/guided-commissioning.md +0 -0
  164. {simjecture-0.2.1 → simjecture-0.2.2}/docs/index.md +0 -0
  165. {simjecture-0.2.1 → simjecture-0.2.2}/docs/reference/cli.md +0 -0
  166. {simjecture-0.2.1 → simjecture-0.2.2}/docs/reference/repository-map.md +0 -0
  167. {simjecture-0.2.1 → simjecture-0.2.2}/docs/requirements.txt +0 -0
  168. {simjecture-0.2.1 → simjecture-0.2.2}/docs/research/limitations.md +0 -0
  169. {simjecture-0.2.1 → simjecture-0.2.2}/docs/research/next-steps.md +0 -0
  170. {simjecture-0.2.1 → simjecture-0.2.2}/docs/research/run-0004.md +0 -0
  171. {simjecture-0.2.1 → simjecture-0.2.2}/docs/research/status.md +0 -0
  172. {simjecture-0.2.1 → simjecture-0.2.2}/environments/warpx-cpu.yml +0 -0
  173. {simjecture-0.2.1 → simjecture-0.2.2}/integrations/dsh/adjudicator.js +0 -0
  174. {simjecture-0.2.1 → simjecture-0.2.2}/integrations/dsh/context-elider.js +0 -0
  175. {simjecture-0.2.1 → simjecture-0.2.2}/integrations/dsh/cordis.patch.yml +0 -0
  176. {simjecture-0.2.1 → simjecture-0.2.2}/integrations/dsh/job-waiter.js +0 -0
  177. {simjecture-0.2.1 → simjecture-0.2.2}/integrations/dsh/roles.js +0 -0
  178. {simjecture-0.2.1 → simjecture-0.2.2}/integrations/dsh/runner.js +0 -0
  179. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/AIStrategyDraft.schema.json +0 -0
  180. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ActionExecution.schema.json +0 -0
  181. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ActionFailureRecord.schema.json +0 -0
  182. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/AttemptRecord.schema.json +0 -0
  183. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/BlindedSearchReport.schema.json +0 -0
  184. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/BlindedSearchRequest.schema.json +0 -0
  185. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/CampaignAction.schema.json +0 -0
  186. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/CampaignActionGraph.schema.json +0 -0
  187. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/CampaignActionState.schema.json +0 -0
  188. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/CampaignBudget.schema.json +0 -0
  189. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/CampaignCheckpoint.schema.json +0 -0
  190. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/CampaignState.schema.json +0 -0
  191. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/CandidateEvaluation.schema.json +0 -0
  192. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/CandidateResult.schema.json +0 -0
  193. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/CapabilityManifest.schema.json +0 -0
  194. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/Claim.schema.json +0 -0
  195. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/CollisionalityIntervention.schema.json +0 -0
  196. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ControlDirective.schema.json +0 -0
  197. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/DecisionRecord.schema.json +0 -0
  198. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/DiscoveryPackage.schema.json +0 -0
  199. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/DispatchAttempt.schema.json +0 -0
  200. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/DomainDiagnosisSummary.schema.json +0 -0
  201. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/DomainEvolutionSummary.schema.json +0 -0
  202. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/DomainPluginMetadata.schema.json +0 -0
  203. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/DomainRunSummary.schema.json +0 -0
  204. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/DomainTemplateSummary.schema.json +0 -0
  205. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ExperimentSpec.schema.json +0 -0
  206. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ExternalReceipt.schema.json +0 -0
  207. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/FreshSeedIntervention.schema.json +0 -0
  208. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/HumanIntervention.schema.json +0 -0
  209. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/HypothesisNode.schema.json +0 -0
  210. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/KineticSufficiencyDiscoveryPackage.schema.json +0 -0
  211. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/KineticSufficiencyHypothesisInput.schema.json +0 -0
  212. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/KineticSufficiencyResult.schema.json +0 -0
  213. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/KineticSufficiencySolveResult.schema.json +0 -0
  214. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/LifecycleEvent.schema.json +0 -0
  215. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/MVPGuidedCommissioningSpec.schema.json +0 -0
  216. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/MatchedPairFormalPredicate.schema.json +0 -0
  217. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ModelCallProvenance.schema.json +0 -0
  218. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/MultiActionCampaignReport.schema.json +0 -0
  219. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/NormalizedResult.schema.json +0 -0
  220. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/NumericalAssessment.schema.json +0 -0
  221. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/NumericalDiagnostics.schema.json +0 -0
  222. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/NumericalGate.schema.json +0 -0
  223. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ObservablePrediction.schema.json +0 -0
  224. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/OutboxIntent.schema.json +0 -0
  225. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/PICCaseResult.schema.json +0 -0
  226. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/PICConfig.schema.json +0 -0
  227. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/PICConfirmationAttempt.schema.json +0 -0
  228. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/PICConfirmationDesign.schema.json +0 -0
  229. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/PICConfirmationReport.schema.json +0 -0
  230. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/PICMixtureCaseResult.schema.json +0 -0
  231. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/PICNumericalConfig.schema.json +0 -0
  232. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/PICSufficiencyResult.schema.json +0 -0
  233. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ParameterSpace.schema.json +0 -0
  234. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ParticleStatisticsIntervention.schema.json +0 -0
  235. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ProposalDraft.schema.json +0 -0
  236. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ProposalRecord.schema.json +0 -0
  237. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ProposalRequest.schema.json +0 -0
  238. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ProposalValidation.schema.json +0 -0
  239. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ProposedToolCall.schema.json +0 -0
  240. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/QualifiedWarpXCampaignPackage.schema.json +0 -0
  241. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/QualifiedWarpXInstrument.schema.json +0 -0
  242. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ReferenceQualification.schema.json +0 -0
  243. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ResearchBudget.schema.json +0 -0
  244. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ResearchCampaignReport.schema.json +0 -0
  245. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ResearchConclusion.schema.json +0 -0
  246. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ResearchDecision.schema.json +0 -0
  247. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ResearchEvidencePolicy.schema.json +0 -0
  248. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ResearchHypothesis.schema.json +0 -0
  249. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ResearchObservation.schema.json +0 -0
  250. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ResearchProblemContract.schema.json +0 -0
  251. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ResearchRelation.schema.json +0 -0
  252. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ResearchToolManifest.schema.json +0 -0
  253. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/ResearchToolResult.schema.json +0 -0
  254. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/RunEvidence.schema.json +0 -0
  255. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/RunPlan.schema.json +0 -0
  256. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/SearchStrategy.schema.json +0 -0
  257. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/SheetThicknessIntervention.schema.json +0 -0
  258. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/SubprocessResearchToolConfig.schema.json +0 -0
  259. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/SymmetricMixtureCandidate.schema.json +0 -0
  260. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXCalibrationPoint.schema.json +0 -0
  261. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXCaseSummary.schema.json +0 -0
  262. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXCompiledCase.schema.json +0 -0
  263. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXConfirmationAttempt.schema.json +0 -0
  264. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXConfirmationDesign.schema.json +0 -0
  265. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXConfirmationFailure.schema.json +0 -0
  266. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXConfirmationReport.schema.json +0 -0
  267. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXConfirmationResolution.schema.json +0 -0
  268. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXExecutionProfile.schema.json +0 -0
  269. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXNumericalConfig.schema.json +0 -0
  270. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXPairSummary.schema.json +0 -0
  271. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXPhysicalConfig.schema.json +0 -0
  272. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXPhysicsQualificationRecord.schema.json +0 -0
  273. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXQualificationRecord.schema.json +0 -0
  274. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/WarpXQualifiedScope.schema.json +0 -0
  275. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/mvp/MVPAgentAction.schema.json +0 -0
  276. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/mvp/MVPAgentReport.schema.json +0 -0
  277. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/mvp/MVPClaim.schema.json +0 -0
  278. {simjecture-0.2.1 → simjecture-0.2.2}/schemas/mvp/MVPClaimLedger.schema.json +0 -0
  279. {simjecture-0.2.1 → simjecture-0.2.2}/scripts/postprocess_warpx_case.py +0 -0
  280. {simjecture-0.2.1 → simjecture-0.2.2}/scripts/probe_provider.py +0 -0
  281. {simjecture-0.2.1 → simjecture-0.2.2}/scripts/propose_hypothesis.py +0 -0
  282. {simjecture-0.2.1 → simjecture-0.2.2}/scripts/propose_search_strategy.py +0 -0
  283. {simjecture-0.2.1 → simjecture-0.2.2}/scripts/qualify_warpx.py +0 -0
  284. {simjecture-0.2.1 → simjecture-0.2.2}/scripts/qualify_warpx_physics.py +0 -0
  285. {simjecture-0.2.1 → simjecture-0.2.2}/scripts/run_admitted_proposal.py +0 -0
  286. {simjecture-0.2.1 → simjecture-0.2.2}/scripts/run_blinded_search.py +0 -0
  287. {simjecture-0.2.1 → simjecture-0.2.2}/scripts/run_qualified_warpx_campaign.py +0 -0
  288. {simjecture-0.2.1 → simjecture-0.2.2}/scripts/run_warpx_confirmation.py +0 -0
  289. {simjecture-0.2.1 → simjecture-0.2.2}/scripts/run_warpx_pair.py +0 -0
  290. {simjecture-0.2.1 → simjecture-0.2.2}/skills/python-experiment/SKILL.md +0 -0
  291. {simjecture-0.2.1 → simjecture-0.2.2}/skills/python-experiment/manifest.json +0 -0
  292. {simjecture-0.2.1 → simjecture-0.2.2}/skills/scientific-markdown/SKILL.md +0 -0
  293. {simjecture-0.2.1 → simjecture-0.2.2}/skills/scientific-markdown/agents/openai.yaml +0 -0
  294. {simjecture-0.2.1 → simjecture-0.2.2}/skills/scientific-markdown/manifest.json +0 -0
  295. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/SKILL.md +0 -0
  296. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/agents/openai.yaml +0 -0
  297. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/examples/implicit_em_smoke.py +0 -0
  298. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/examples/minimal_smoke.py +0 -0
  299. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/examples/openpmd_field_smoke.py +0 -0
  300. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/manifest.json +0 -0
  301. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/references/2d-xz-commissioning.md +0 -0
  302. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/references/cpu-launch-tuning.md +0 -0
  303. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/references/diagnostics.md +0 -0
  304. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/references/gpu-launch-tuning.md +0 -0
  305. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/references/local-cuda-deployment.md +0 -0
  306. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/references/numerical-risks.md +0 -0
  307. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/references/picmi-interface.md +0 -0
  308. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/references/resource-scaling.md +0 -0
  309. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/references/time-integration.md +0 -0
  310. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/scripts/benchmark_cpu_threads.py +0 -0
  311. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/scripts/benchmark_gpu.py +0 -0
  312. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/scripts/bootstrap_local_cuda.sh +0 -0
  313. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/scripts/probe_local_cuda.py +0 -0
  314. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/scripts/reduced_energy_budget.py +0 -0
  315. {simjecture-0.2.1 → simjecture-0.2.2}/skills/warpx/scripts/run_local_cuda.sh +0 -0
  316. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/__main__.py +0 -0
  317. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/action_handlers.py +0 -0
  318. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/adapters/__init__.py +0 -0
  319. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/adapters/base.py +0 -0
  320. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/adapters/fake.py +0 -0
  321. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/adapters/pic.py +0 -0
  322. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/adapters/warpx.py +0 -0
  323. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/autonomous_research.py +0 -0
  324. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/benchmarks/__init__.py +0 -0
  325. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/benchmarks/electrostatic_pic.py +0 -0
  326. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/benchmarks/kinetic_sufficiency.py +0 -0
  327. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/campaign.py +0 -0
  328. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/campaign_kernel.py +0 -0
  329. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/cli.py +0 -0
  330. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/confirmation.py +0 -0
  331. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/control.py +0 -0
  332. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/deployment.py +0 -0
  333. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/discovery.py +0 -0
  334. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/domains/__init__.py +0 -0
  335. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/domains/base.py +0 -0
  336. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/domains/kinetic_sufficiency.py +0 -0
  337. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/kernel_worker.py +0 -0
  338. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/ledger.py +0 -0
  339. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/lifecycle.py +0 -0
  340. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/literature.py +0 -0
  341. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/llm.py +0 -0
  342. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/mcp_schemas.py +0 -0
  343. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/mcp_server.py +0 -0
  344. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/models.py +0 -0
  345. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/mvp_agent.py +0 -0
  346. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/mvp_claims.py +0 -0
  347. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/mvp_control.py +0 -0
  348. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/mvp_guidance.py +0 -0
  349. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/mvp_launch.py +0 -0
  350. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/mvp_monitor.py +0 -0
  351. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/mvp_skills.py +0 -0
  352. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/orchestration.py +0 -0
  353. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/outbox.py +0 -0
  354. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/parameters.py +0 -0
  355. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/presentation.py +0 -0
  356. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/proposals.py +0 -0
  357. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/research_tools.py +0 -0
  358. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/schema_export.py +0 -0
  359. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/search.py +0 -0
  360. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/semantics.py +0 -0
  361. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/tui/__init__.py +0 -0
  362. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/tui/app.py +0 -0
  363. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/tui/claim_views.py +0 -0
  364. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/tui/screens.py +0 -0
  365. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/warpx_analysis.py +0 -0
  366. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/warpx_campaign.py +0 -0
  367. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/warpx_confirmation.py +0 -0
  368. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/__init__.py +0 -0
  369. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/application.py +0 -0
  370. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/app.js +0 -0
  371. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/index.html +0 -0
  372. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/markdown.js +0 -0
  373. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/styles.css +0 -0
  374. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/vendor/LICENSE.dagre.txt +0 -0
  375. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/vendor/LICENSE.dompurify.txt +0 -0
  376. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/vendor/LICENSE.katex.txt +0 -0
  377. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/vendor/LICENSE.marked.txt +0 -0
  378. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/vendor/README.md +0 -0
  379. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/vendor/dagre-2.0.0.min.js +0 -0
  380. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/vendor/dompurify-3.4.14.min.js +0 -0
  381. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/vendor/katex-0.18.4.min.js +0 -0
  382. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/vendor/katex-auto-render-0.18.4.min.js +0 -0
  383. {simjecture-0.2.1 → simjecture-0.2.2}/src/conjecture_solver/web/static/vendor/marked-18.0.10.umd.js +0 -0
  384. {simjecture-0.2.1 → simjecture-0.2.2}/tests/__init__.py +0 -0
  385. {simjecture-0.2.1 → simjecture-0.2.2}/tests/fixtures/fake_warpx_runner.py +0 -0
  386. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_adapter.py +0 -0
  387. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_autonomous_research.py +0 -0
  388. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_benchmark.py +0 -0
  389. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_campaign.py +0 -0
  390. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_campaign_kernel.py +0 -0
  391. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_control.py +0 -0
  392. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_deployment.py +0 -0
  393. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_domain_plugins.py +0 -0
  394. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_ledger.py +0 -0
  395. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_lifecycle.py +0 -0
  396. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_literature.py +0 -0
  397. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_llm.py +0 -0
  398. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_mcp_server.py +0 -0
  399. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_models.py +0 -0
  400. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_mvp_agent.py +0 -0
  401. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_mvp_claims.py +0 -0
  402. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_mvp_control.py +0 -0
  403. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_mvp_monitor.py +0 -0
  404. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_mvp_pause.py +0 -0
  405. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_mvp_status_watch.py +0 -0
  406. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_orchestration.py +0 -0
  407. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_outbox.py +0 -0
  408. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_parameters.py +0 -0
  409. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_pic.py +0 -0
  410. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_proposals.py +0 -0
  411. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_recorded_demo.py +0 -0
  412. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_schema_export.py +0 -0
  413. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_search.py +0 -0
  414. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_semantics.py +0 -0
  415. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_tui.py +0 -0
  416. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_tui_claim_views.py +0 -0
  417. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_warpx.py +0 -0
  418. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_warpx_analysis.py +0 -0
  419. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_warpx_campaign.py +0 -0
  420. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_warpx_qualification.py +0 -0
  421. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_warpx_reduced_energy.py +0 -0
  422. {simjecture-0.2.1 → simjecture-0.2.2}/tests/test_web.py +0 -0
@@ -24,6 +24,27 @@ jobs:
24
24
  python-version: "3.12"
25
25
  - name: Install build frontend
26
26
  run: python -m pip install uv
27
+ - name: Install sandbox runtime
28
+ run: |
29
+ sudo apt-get update
30
+ sudo apt-get install --yes bubblewrap
31
+ if sysctl kernel.unprivileged_userns_clone > /dev/null 2>&1; then
32
+ sudo sysctl -w kernel.unprivileged_userns_clone=1
33
+ fi
34
+ if sysctl kernel.apparmor_restrict_unprivileged_userns > /dev/null 2>&1; then
35
+ sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0
36
+ fi
37
+ bwrap --unshare-all --die-with-parent \
38
+ --ro-bind /usr /usr \
39
+ --ro-bind /lib /lib \
40
+ --ro-bind /lib64 /lib64 \
41
+ /usr/bin/true
42
+ - name: Install locked test environment
43
+ run: uv sync --frozen --extra tui
44
+ - name: Lint release source
45
+ run: uv run ruff check .
46
+ - name: Test release source
47
+ run: uv run pytest --cov=conjecture_solver --cov-report=term-missing
27
48
  - name: Require the release tag to match the package version
28
49
  run: |
29
50
  python - <<'PY'
@@ -4,6 +4,16 @@ This project follows semantic versioning. Dates use ISO 8601.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 0.2.2 — 2026-08-24
8
+
9
+ - Fixed a process-lifecycle race where the supervisor that launched a short
10
+ durable job could observe the child after exit but before `Popen.poll()`
11
+ receipted it, incorrectly recording `outcome_unknown` instead of the known
12
+ terminal result.
13
+ - Made the release workflow install the sandbox runtime and locked test
14
+ environment, then run lint and the full deterministic test suite before any
15
+ distribution can be uploaded to PyPI.
16
+
7
17
  ## 0.2.1 — 2026-08-23
8
18
 
9
19
  - Extracted a model-independent campaign kernel while preserving the existing
@@ -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.2.1
6
- date-released: 2026-08-23
5
+ version: 0.2.2
6
+ date-released: 2026-08-24
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.2.1
3
+ Version: 0.2.2
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
@@ -285,7 +285,7 @@ the human-first projection.
285
285
 
286
286
  ## DeepSeek Harness integration
287
287
 
288
- The v0.2.1 integration moves the model-facing research loop to DeepSeek Harness
288
+ The v0.2.2 integration moves the model-facing research loop to DeepSeek Harness
289
289
  without moving scientific authority out of Simjecture. DSH owns the provider,
290
290
  conversation, retry policy, compaction, and resumable session. A native MCP
291
291
  boundary implements 21 typed endpoints. A compact persistent Lead Scientist
@@ -251,7 +251,7 @@ the human-first projection.
251
251
 
252
252
  ## DeepSeek Harness integration
253
253
 
254
- The v0.2.1 integration moves the model-facing research loop to DeepSeek Harness
254
+ The v0.2.2 integration moves the model-facing research loop to DeepSeek Harness
255
255
  without moving scientific authority out of Simjecture. DSH owns the provider,
256
256
  conversation, retry policy, compaction, and resumable session. A native MCP
257
257
  boundary implements 21 typed endpoints. A compact persistent Lead Scientist
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  project = "Simjecture"
4
4
  author = "Bowen Zhu"
5
5
  copyright = "2026, Bowen Zhu and contributors"
6
- release = "0.2.1"
6
+ release = "0.2.2"
7
7
 
8
8
  extensions = [
9
9
  "myst_parser",
@@ -1,7 +1,7 @@
1
1
  # Run a Simjecture campaign under DSH
2
2
 
3
3
  The DSH integration is a native-tool profile plus a small resumable driver for
4
- a durable Simjecture campaign. Version 0.2.1 uses a persistent Lead Scientist
4
+ a durable Simjecture campaign. Version 0.2.2 uses a persistent Lead Scientist
5
5
  and fresh, claim-scoped Falsifier, Repair Scientist, and tool-free Judge
6
6
  sessions. Fresh workers see bounded kernel state rather than inherited chat.
7
7
  The Python MCP process is the only scientific tool surface: it exposes campaign
@@ -60,7 +60,7 @@ resulting local bundle into the isolated harness profile:
60
60
  SIMJECTURE_DSH_PROFILE="$(simjecture dsh-profile)"
61
61
  npm pack "$SIMJECTURE_DSH_PROFILE" --pack-destination /tmp
62
62
  dsh plugin --profile simjecture add @deepseek-ai/dsh-headless@0.1.1-rc.2
63
- dsh plugin --profile simjecture add /tmp/simjecture-dsh-bundle-0.2.1.tgz
63
+ dsh plugin --profile simjecture add /tmp/simjecture-dsh-bundle-0.2.2.tgz
64
64
  ```
65
65
 
66
66
  For a checkout-only development install, use the directory directly when the
@@ -7,7 +7,7 @@ final response. Simjecture remains authoritative for the hypothesis DAG,
7
7
  evidence contracts, commissioning, provenance, sandbox, and durable simulation
8
8
  jobs.
9
9
 
10
- Version 0.2.1 separates scientific work into four scopes:
10
+ Version 0.2.2 separates scientific work into four scopes:
11
11
 
12
12
  - a persistent, compact **Lead Scientist** reads durable state and delegates;
13
13
  - a fresh **Falsifier/Experimenter** commissions and tests exactly one open
@@ -60,7 +60,7 @@ outside the repository or remove the generated tarball after installation:
60
60
  SIMJECTURE_DSH_PROFILE="$(simjecture dsh-profile)"
61
61
  npm pack "$SIMJECTURE_DSH_PROFILE" --pack-destination /tmp
62
62
  dsh plugin --profile simjecture add @deepseek-ai/dsh-headless@0.1.1-rc.2
63
- dsh plugin --profile simjecture add /tmp/simjecture-dsh-bundle-0.2.1.tgz
63
+ dsh plugin --profile simjecture add /tmp/simjecture-dsh-bundle-0.2.2.tgz
64
64
  ```
65
65
 
66
66
  The dedicated profile is important: its base/headless composition lets this
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simjecture/dsh-bundle",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Strict DeepSeek Harness profile for Simjecture campaigns",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "simjecture"
7
- version = "0.2.1"
7
+ version = "0.2.2"
8
8
  description = "Evidence-governed autonomous experimentation and falsification for computational science"
9
9
  readme = "README.md"
10
10
  license = "Apache-2.0"
@@ -5,6 +5,6 @@ from importlib.metadata import PackageNotFoundError, version
5
5
  try:
6
6
  __version__ = version("simjecture")
7
7
  except PackageNotFoundError:
8
- __version__ = "0.2.1"
8
+ __version__ = "0.2.2"
9
9
 
10
10
  __all__ = ["__version__"]
@@ -461,7 +461,6 @@ class CampaignJobSupervisor:
461
461
  return self._mark_unknown(state, "missing supervisor receipt")
462
462
 
463
463
  process = self._processes.get(job_id)
464
- verified = process_identity_matches(supervisor.identity)
465
464
  if process is not None:
466
465
  returncode = self._poll(process)
467
466
  if returncode is not None:
@@ -477,6 +476,17 @@ class CampaignJobSupervisor:
477
476
  supervisor,
478
477
  returncode,
479
478
  )
479
+ if state.status not in {
480
+ CampaignJobStatus.RUNNING,
481
+ CampaignJobStatus.CANCEL_REQUESTED,
482
+ }:
483
+ state = state.model_copy(
484
+ update={"status": CampaignJobStatus.RUNNING, "updated_at": utc_now()}
485
+ )
486
+ self._write_state(state)
487
+ return state
488
+
489
+ verified = process_identity_matches(supervisor.identity)
480
490
  if not verified:
481
491
  return self._mark_unknown(
482
492
  state,
@@ -71,7 +71,7 @@ def bundled_profile_path() -> Path:
71
71
  if (candidate.is_dir() and (candidate / "package.json").is_file()):
72
72
  return candidate
73
73
  raise DshEngineError(
74
- "the Simjecture DSH profile is missing; reinstall the complete v0.2.1 package"
74
+ "the Simjecture DSH profile is missing; reinstall the complete v0.2.2 package"
75
75
  )
76
76
 
77
77
 
@@ -77,7 +77,7 @@ class SimjectureRequestHandler(BaseHTTPRequestHandler):
77
77
 
78
78
  server: SimjectureHTTPServer
79
79
  protocol_version = "HTTP/1.1"
80
- server_version = "Simjecture/0.2.1"
80
+ server_version = "Simjecture/0.2.2"
81
81
 
82
82
  def do_GET(self) -> None: # noqa: N802 - stdlib handler contract
83
83
  parsed = urlsplit(self.path)
@@ -87,7 +87,8 @@ def test_reopen_marks_dead_unreceipted_job_outcome_unknown(tmp_path: Path) -> No
87
87
  )
88
88
  # Do not ask the creating supervisor for status: the durable result was
89
89
  # intentionally never receipted before this simulated restart.
90
- time.sleep(0.2)
90
+ process = supervisor._processes[initial.job_id]
91
+ process.wait(timeout=5)
91
92
  reopened = CampaignJobSupervisor(tmp_path)
92
93
  state = reopened.status(initial.job_id)
93
94
  assert state.status is CampaignJobStatus.OUTCOME_UNKNOWN
@@ -10,7 +10,7 @@ BUNDLE = Path(__file__).parents[1] / "integrations" / "dsh"
10
10
  def test_dsh_bundle_pins_the_resumable_driver_and_native_mcp_client() -> None:
11
11
  package = json.loads((BUNDLE / "package.json").read_text())
12
12
  assert package["name"] == "@simjecture/dsh-bundle"
13
- assert package["version"] == "0.2.1"
13
+ assert package["version"] == "0.2.2"
14
14
  assert package["engines"]["node"] == ">=22.19.0"
15
15
  assert package["peerDependencies"] == {"@deepseek-ai/dsh": "0.1.1-rc.2"}
16
16
  assert package["dependencies"] == {
@@ -70,7 +70,7 @@ def test_bundled_dsh_profile_is_discoverable() -> None:
70
70
  profile = bundled_profile_path()
71
71
  package = json.loads((profile / "package.json").read_text())
72
72
  assert package["name"] == "@simjecture/dsh-bundle"
73
- assert package["version"] == "0.2.1"
73
+ assert package["version"] == "0.2.2"
74
74
  assert (profile / "cordis.patch.yml").is_file()
75
75
 
76
76
 
@@ -2219,7 +2219,7 @@ wheels = [
2219
2219
 
2220
2220
  [[package]]
2221
2221
  name = "simjecture"
2222
- version = "0.2.1"
2222
+ version = "0.2.2"
2223
2223
  source = { editable = "." }
2224
2224
  dependencies = [
2225
2225
  { name = "httpx" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes