simjecture 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {simjecture-0.3.0 → simjecture-0.3.1}/.gitignore +1 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/CHANGELOG.md +7 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/CITATION.cff +2 -2
- {simjecture-0.3.0 → simjecture-0.3.1}/PKG-INFO +24 -1
- {simjecture-0.3.0 → simjecture-0.3.1}/README.md +23 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/THIRD_PARTY_NOTICES.md +7 -0
- simjecture-0.3.1/capabilities/atomec-1.4.0.json +28 -0
- simjecture-0.3.1/capabilities/m-aneos-1.0.json +34 -0
- simjecture-0.3.1/capabilities/optab-1.3.1.json +41 -0
- simjecture-0.3.1/capabilities/singularity-eos-1.12.1.json +29 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/README.md +38 -15
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/getting-started/installation.md +29 -9
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/how-to/deploy-runtimes.md +54 -1
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/index.md +2 -1
- {simjecture-0.3.0 → simjecture-0.3.1}/pyproject.toml +1 -1
- simjecture-0.3.1/skills/eos/SKILL.md +136 -0
- simjecture-0.3.1/skills/eos/agents/openai.yaml +4 -0
- simjecture-0.3.1/skills/eos/examples/atomec_runtime_smoke.py +82 -0
- simjecture-0.3.1/skills/eos/examples/maneos_runtime_smoke.py +106 -0
- simjecture-0.3.1/skills/eos/examples/singularity_runtime_smoke.py +128 -0
- simjecture-0.3.1/skills/eos/manifest.json +12 -0
- simjecture-0.3.1/skills/eos/references/execution-output.md +88 -0
- simjecture-0.3.1/skills/eos/references/local-deployment.md +78 -0
- simjecture-0.3.1/skills/eos/scripts/bootstrap_atomec.sh +90 -0
- simjecture-0.3.1/skills/eos/scripts/bootstrap_maneos.sh +105 -0
- simjecture-0.3.1/skills/eos/scripts/bootstrap_singularity_eos.sh +102 -0
- simjecture-0.3.1/skills/eos/scripts/maneos_query.f90 +63 -0
- simjecture-0.3.1/skills/eos/scripts/singularity_query.cpp +88 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/SKILL.md +2 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/references/local-deployment.md +12 -0
- simjecture-0.3.1/skills/flash-mhd/references/private-install.md +101 -0
- simjecture-0.3.1/skills/flash-mhd/scripts/bootstrap_flash.sh +149 -0
- simjecture-0.3.1/skills/opacity/SKILL.md +107 -0
- simjecture-0.3.1/skills/opacity/agents/openai.yaml +4 -0
- simjecture-0.3.1/skills/opacity/examples/optab_runtime_smoke.py +168 -0
- simjecture-0.3.1/skills/opacity/manifest.json +10 -0
- simjecture-0.3.1/skills/opacity/references/execution-output.md +52 -0
- simjecture-0.3.1/skills/opacity/references/local-deployment.md +58 -0
- simjecture-0.3.1/skills/opacity/scripts/bootstrap_optab.sh +187 -0
- simjecture-0.3.1/skills/opacity/scripts/write_optab_preflight.py +87 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/cli.py +27 -3
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/deployment.py +403 -54
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_deployment.py +208 -1
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_agent.py +124 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/uv.lock +1 -1
- {simjecture-0.3.0 → simjecture-0.3.1}/.env.example +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/.gitattributes +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/.github/workflows/ci.yml +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/.github/workflows/release.yml +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/.readthedocs.yaml +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/CONTRIBUTING.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/LICENSE +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/NOTICE +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/SECURITY.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/capabilities/flash-island-coalescence-resistive-mhd-4.8.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/capabilities/warpx-cpu-26.07.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/capabilities/warpx-cuda-openpmd-26.07.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/README.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/README.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/campaign_instruction.txt +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/anchor_operator_validation.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/gem_anchor_validation.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/gem_collisionless.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/prior_campaign_0002_audit_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/prior_campaign_0003_audit_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/prior_campaign_audit_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided_commission.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/hypothesis.txt +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/plot_results.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/artifact_provenance.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/claim_summary.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/guided_commissioning.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/hypothesis_ledger.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/literature_searches.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/mvp_manifest.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/mvp_report.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/transcript.jsonl +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000012.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000013.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000019.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000020.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000026.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000027.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000032.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000033.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000037.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000041.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000042.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000043.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000049.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/analyze_ensemble.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/analyze_manifest.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/commission_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/ensemble_result.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/diagnostic_overview.svg +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/final_fields.npz +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/warpx_used_inputs +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/diagnostic_overview.svg +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/final_fields.npz +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/warpx_used_inputs +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260902_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260903_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260904_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260902_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260903_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260904_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260902_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260903_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260904_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260902_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260903_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260904_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/design_pin.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/energy_reader.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fallback_solver_plan.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_manifest.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output_wb.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260902_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260903_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260904_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260902_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260903_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260904_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260902_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260903_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260904_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260902_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260903_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260904_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/gen_fixtures.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/anchor_operator_validation.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_anchor_validation.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_collisionless.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0002_audit_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0003_audit_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_audit_summary.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/verify_record.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/README.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/capture_tui.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/hypothesis.txt +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/plot_results.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/README.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/artifact_provenance.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/claim_summary.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/hypothesis_ledger.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/mvp_manifest.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/mvp_report.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/transcript.jsonl +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/analyze_results.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/calc_growth.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/linear_stability.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/mode_analysis.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/mode_analysis_results.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/pick_regime.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/regime_candidates.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s1.npz +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s10.npz +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s10_dt025.npz +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s1_dt025.npz +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_pattern_results.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p025.npz +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p05.npz +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p025.npz +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p05.npz +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulate_gs.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulate_gs_dt025.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulate_gs_root.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulation_results.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulation_results_dt025.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/turing_diagnostic.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/reproduce.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/gray_scott_counterexample/verify_record.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/.gitignore +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/campaign_audit.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/campaign_instruction.txt +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/README.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/island_coalescence_evolution.png +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/reconnection_layer_physics.png +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/reconnection_microphysics_profiles.png +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/scaling_law_discovery.png +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/figures/simjecture_web_dashboard.png +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/guided/anchor_validation.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/guided/island_coalescence.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/guided/operator_validation.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/guided_commission.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/hypothesis.txt +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/literature_basis.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/demos/resistive_mhd_island_coalescence/plot_results.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/_static/demos/gem-ensemble-result.png +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/_static/demos/gem-reconnection-fields.png +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/_static/demos/gray-scott-completed-tui.svg +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/_static/demos/gray-scott-result.png +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/concepts/architecture.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/concepts/evidence-and-claims.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/conf.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/demos/collisionless-gem.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/demos/gray-scott.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/development/documentation.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/development/releasing.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/getting-started/first-run.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/getting-started/terminal-ui.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/getting-started/web-interface.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/how-to/add-a-capability.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/how-to/deepseek-harness.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/how-to/guided-commissioning.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/reference/cli.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/reference/repository-map.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/requirements.txt +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/research/limitations.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/research/next-steps.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/research/run-0004.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/docs/research/status.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/environments/warpx-cpu.yml +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/README.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/adjudicator.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/context-elider.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/cordis.patch.yml +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/job-waiter.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/package.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/roles.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/integrations/dsh/runner.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/AIStrategyDraft.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ActionExecution.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ActionFailureRecord.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/AttemptRecord.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/BlindedSearchReport.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/BlindedSearchRequest.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignAction.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignActionGraph.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignActionState.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignBudget.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignCheckpoint.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CampaignState.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CandidateEvaluation.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CandidateResult.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CapabilityManifest.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/Claim.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/CollisionalityIntervention.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ControlDirective.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DecisionRecord.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DiscoveryPackage.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DispatchAttempt.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DomainDiagnosisSummary.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DomainEvolutionSummary.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DomainPluginMetadata.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DomainRunSummary.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/DomainTemplateSummary.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ExperimentSpec.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ExternalReceipt.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/FreshSeedIntervention.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/HumanIntervention.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/HypothesisNode.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/KineticSufficiencyDiscoveryPackage.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/KineticSufficiencyHypothesisInput.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/KineticSufficiencyResult.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/KineticSufficiencySolveResult.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/LifecycleEvent.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/MVPGuidedCommissioningSpec.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/MatchedPairFormalPredicate.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ModelCallProvenance.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/MultiActionCampaignReport.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/NormalizedResult.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/NumericalAssessment.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/NumericalDiagnostics.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/NumericalGate.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ObservablePrediction.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/OutboxIntent.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICCaseResult.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICConfig.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICConfirmationAttempt.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICConfirmationDesign.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICConfirmationReport.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICMixtureCaseResult.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICNumericalConfig.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/PICSufficiencyResult.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ParameterSpace.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ParticleStatisticsIntervention.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ProposalDraft.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ProposalRecord.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ProposalRequest.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ProposalValidation.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ProposedToolCall.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/QualifiedWarpXCampaignPackage.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/QualifiedWarpXInstrument.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ReferenceQualification.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchBudget.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchCampaignReport.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchConclusion.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchDecision.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchEvidencePolicy.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchHypothesis.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchObservation.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchProblemContract.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchRelation.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchToolManifest.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/ResearchToolResult.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/RunEvidence.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/RunPlan.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/SearchStrategy.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/SheetThicknessIntervention.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/SubprocessResearchToolConfig.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/SymmetricMixtureCandidate.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXCalibrationPoint.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXCaseSummary.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXCompiledCase.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXConfirmationAttempt.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXConfirmationDesign.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXConfirmationFailure.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXConfirmationReport.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXConfirmationResolution.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXExecutionProfile.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXNumericalConfig.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXPairSummary.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXPhysicalConfig.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXPhysicsQualificationRecord.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXQualificationRecord.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/WarpXQualifiedScope.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/mvp/MVPAgentAction.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/mvp/MVPAgentReport.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/mvp/MVPClaim.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/schemas/mvp/MVPClaimLedger.schema.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/scripts/postprocess_warpx_case.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/scripts/probe_provider.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/scripts/propose_hypothesis.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/scripts/propose_search_strategy.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/scripts/qualify_warpx.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/scripts/qualify_warpx_physics.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/scripts/run_admitted_proposal.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/scripts/run_blinded_search.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/scripts/run_qualified_warpx_campaign.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/scripts/run_warpx_confirmation.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/scripts/run_warpx_pair.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/agents/openai.yaml +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/examples/runtime_smoke.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/manifest.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/references/execution-output.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/flash-mhd/references/model-validity.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/python-experiment/SKILL.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/python-experiment/manifest.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/scientific-markdown/SKILL.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/scientific-markdown/agents/openai.yaml +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/scientific-markdown/manifest.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/SKILL.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/agents/openai.yaml +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/examples/implicit_em_smoke.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/examples/minimal_smoke.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/examples/openpmd_field_smoke.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/examples/openpmd_xz_reader.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/manifest.json +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/2d-xz-commissioning.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/cpu-launch-tuning.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/diagnostics.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/gpu-launch-tuning.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/hybrid-pic.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/local-cuda-deployment.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/numerical-risks.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/picmi-interface.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/resource-scaling.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/references/time-integration.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/benchmark_cpu_threads.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/benchmark_gpu.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/bootstrap_local_cuda.sh +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/probe_local_cuda.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/reduced_energy_budget.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/skills/warpx/scripts/run_local_cuda.sh +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/__init__.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/__main__.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/action_handlers.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/adapters/__init__.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/adapters/base.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/adapters/fake.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/adapters/pic.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/adapters/warpx.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/autonomous_research.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/benchmarks/__init__.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/benchmarks/electrostatic_pic.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/benchmarks/kinetic_sufficiency.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/campaign.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/campaign_jobs.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/campaign_kernel.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/confirmation.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/control.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/corrective_audit.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/discovery.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/domains/__init__.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/domains/base.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/domains/kinetic_sufficiency.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/dsh_engine.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/kernel_worker.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/ledger.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/lifecycle.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/literature.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/llm.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mcp_schemas.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mcp_server.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/models.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_agent.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_claims.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_control.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_guidance.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_launch.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_monitor.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/mvp_skills.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/orchestration.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/outbox.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/parameters.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/presentation.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/proposals.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/research_tools.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/schema_export.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/search.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/semantics.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/tui/__init__.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/tui/app.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/tui/claim_views.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/tui/screens.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/warpx_analysis.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/warpx_campaign.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/warpx_confirmation.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/__init__.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/application.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/server.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/app.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/index.html +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/markdown.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/styles.css +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.dagre.txt +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.dompurify.txt +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.katex.txt +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.marked.txt +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/README.md +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/dagre-2.0.0.min.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/dompurify-3.4.14.min.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/katex-0.18.4.min.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/katex-auto-render-0.18.4.min.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/marked-18.0.10.umd.js +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/__init__.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/fixtures/fake_warpx_runner.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_adapter.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_autonomous_research.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_benchmark.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_campaign.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_campaign_jobs.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_campaign_kernel.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_control.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_corrective_audit.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_domain_plugins.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_dsh_bundle.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_dsh_engine.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_ledger.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_lifecycle.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_literature.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_llm.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mcp_server.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_models.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_claims.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_control.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_monitor.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_pause.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_mvp_status_watch.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_orchestration.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_outbox.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_parameters.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_pic.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_proposals.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_recorded_demo.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_schema_export.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_search.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_semantics.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_tui.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_tui_claim_views.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx_analysis.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx_campaign.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx_openpmd_xz.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx_qualification.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_warpx_reduced_energy.py +0 -0
- {simjecture-0.3.0 → simjecture-0.3.1}/tests/test_web.py +0 -0
|
@@ -4,6 +4,13 @@ This project follows semantic versioning. Dates use ISO 8601.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## 0.3.1 — 2026-08-30
|
|
8
|
+
|
|
9
|
+
- Added equation-of-state capabilities for atoMEC, Singularity-EOS, and M-ANEOS, with a shared `eos` skill that records each code's model limits.
|
|
10
|
+
- Added an Optab opacity-table capability and `opacity` skill. Optab is documented as an abundance-consuming table generator, not an EOS solver.
|
|
11
|
+
- Added `simjecture install` bootstraps for the EOS and opacity profiles, matching the WarpX CPU provisioning path.
|
|
12
|
+
- FLASH install accepts an operator-owned `--repository` Git remote. Simjecture never ships a FLASH URL; a Git-ignored overlay can store local setup defaults.
|
|
13
|
+
|
|
7
14
|
## 0.3.0 — 2026-08-27
|
|
8
15
|
|
|
9
16
|
- Added FLASH 4.8 2D compressible resistive-MHD application capability, commissioning protocol, and rank/timing calibrations.
|
|
@@ -2,8 +2,8 @@ cff-version: 1.2.0
|
|
|
2
2
|
message: "If you use this software, please cite the exact software version and Git commit."
|
|
3
3
|
title: "Simjecture"
|
|
4
4
|
type: software
|
|
5
|
-
version: 0.3.
|
|
6
|
-
date-released: 2026-08-
|
|
5
|
+
version: 0.3.1
|
|
6
|
+
date-released: 2026-08-30
|
|
7
7
|
abstract: >-
|
|
8
8
|
An evidence-governed runtime for autonomous computational experimentation and
|
|
9
9
|
falsification over hypothesis trees.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: simjecture
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Evidence-governed autonomous experimentation and falsification for computational science
|
|
5
5
|
Project-URL: Homepage, https://github.com/tomzhu0225/simjecture
|
|
6
6
|
Project-URL: Documentation, https://github.com/tomzhu0225/simjecture/tree/main/docs
|
|
@@ -447,6 +447,29 @@ revision before invoking the existing build and openPMD probe.
|
|
|
447
447
|
See [`skills/warpx/SKILL.md`](skills/warpx/SKILL.md) and the deployment reference
|
|
448
448
|
in [`skills/warpx/references/local-cuda-deployment.md`](skills/warpx/references/local-cuda-deployment.md).
|
|
449
449
|
|
|
450
|
+
## Optional EOS and opacity capabilities
|
|
451
|
+
|
|
452
|
+
Equation-of-state and opacity-table generators are optional instruments, not
|
|
453
|
+
architectural dependencies. The installer clones and builds pinned upstream
|
|
454
|
+
revisions into Git-ignored runtimes, then runs a non-evidentiary health probe:
|
|
455
|
+
|
|
456
|
+
```bash
|
|
457
|
+
uv run simjecture install atomec
|
|
458
|
+
uv run simjecture install singularity-eos
|
|
459
|
+
uv run simjecture install m-aneos
|
|
460
|
+
uv run simjecture install optab
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
Repeating a command against a healthy runtime performs no installation. Use
|
|
464
|
+
`--dry-run` to inspect the bootstrap command and `--repair` to replace an
|
|
465
|
+
installer-managed prefix. The `eos` and `opacity` skills describe each code's
|
|
466
|
+
interface and validity limits; they do not choose a material or scientific
|
|
467
|
+
claim. An EOS evaluation is not an opacity table, and Optab consumes an
|
|
468
|
+
external abundance table rather than solving an equation of state.
|
|
469
|
+
|
|
470
|
+
See [`skills/eos/SKILL.md`](skills/eos/SKILL.md) and
|
|
471
|
+
[`skills/opacity/SKILL.md`](skills/opacity/SKILL.md).
|
|
472
|
+
|
|
450
473
|
## Documentation
|
|
451
474
|
|
|
452
475
|
The curated documentation uses Sphinx, MyST Markdown, and the PyData Sphinx
|
|
@@ -411,6 +411,29 @@ revision before invoking the existing build and openPMD probe.
|
|
|
411
411
|
See [`skills/warpx/SKILL.md`](skills/warpx/SKILL.md) and the deployment reference
|
|
412
412
|
in [`skills/warpx/references/local-cuda-deployment.md`](skills/warpx/references/local-cuda-deployment.md).
|
|
413
413
|
|
|
414
|
+
## Optional EOS and opacity capabilities
|
|
415
|
+
|
|
416
|
+
Equation-of-state and opacity-table generators are optional instruments, not
|
|
417
|
+
architectural dependencies. The installer clones and builds pinned upstream
|
|
418
|
+
revisions into Git-ignored runtimes, then runs a non-evidentiary health probe:
|
|
419
|
+
|
|
420
|
+
```bash
|
|
421
|
+
uv run simjecture install atomec
|
|
422
|
+
uv run simjecture install singularity-eos
|
|
423
|
+
uv run simjecture install m-aneos
|
|
424
|
+
uv run simjecture install optab
|
|
425
|
+
```
|
|
426
|
+
|
|
427
|
+
Repeating a command against a healthy runtime performs no installation. Use
|
|
428
|
+
`--dry-run` to inspect the bootstrap command and `--repair` to replace an
|
|
429
|
+
installer-managed prefix. The `eos` and `opacity` skills describe each code's
|
|
430
|
+
interface and validity limits; they do not choose a material or scientific
|
|
431
|
+
claim. An EOS evaluation is not an opacity table, and Optab consumes an
|
|
432
|
+
external abundance table rather than solving an equation of state.
|
|
433
|
+
|
|
434
|
+
See [`skills/eos/SKILL.md`](skills/eos/SKILL.md) and
|
|
435
|
+
[`skills/opacity/SKILL.md`](skills/opacity/SKILL.md).
|
|
436
|
+
|
|
414
437
|
## Documentation
|
|
415
438
|
|
|
416
439
|
The curated documentation uses Sphinx, MyST Markdown, and the PyData Sphinx
|
|
@@ -18,6 +18,13 @@ review the current license, and keep acquired source, modified source, and built
|
|
|
18
18
|
binaries outside this source distribution. Simjecture's `flash-mhd` skill and
|
|
19
19
|
capability metadata do not relicense FLASH.
|
|
20
20
|
|
|
21
|
+
Optional equation-of-state and opacity packages (atoMEC, Singularity-EOS,
|
|
22
|
+
M-ANEOS, and Optab) are obtained under their upstream licenses. The
|
|
23
|
+
operator-triggered installer may clone and build pinned revisions into a
|
|
24
|
+
Git-ignored runtime; this repository still does not relicense those packages or
|
|
25
|
+
commit their source, binaries, or atomic databases. Consult each upstream
|
|
26
|
+
distribution for its license and required notices.
|
|
27
|
+
|
|
21
28
|
Model providers, literature services, and externally supplied guided
|
|
22
29
|
commissioning packages are services or inputs rather than sublicensed parts of
|
|
23
30
|
this source distribution. Run artifacts must retain the provenance and license
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"environment": {
|
|
3
|
+
"MPLBACKEND": "Agg",
|
|
4
|
+
"OMP_NUM_THREADS": "1",
|
|
5
|
+
"PYTHONDONTWRITEBYTECODE": "1"
|
|
6
|
+
},
|
|
7
|
+
"executable": "bin/python",
|
|
8
|
+
"identity_files": [
|
|
9
|
+
"share/build-record.json"
|
|
10
|
+
],
|
|
11
|
+
"manifest": {
|
|
12
|
+
"description": "Operator-supplied atoMEC 1.4 finite-temperature Kohn-Sham average-atom runtime",
|
|
13
|
+
"executable_kind": "python-atomec",
|
|
14
|
+
"name": "atomec-1.4.0",
|
|
15
|
+
"preflight_checks": [
|
|
16
|
+
"checks.completed",
|
|
17
|
+
"checks.import_succeeded",
|
|
18
|
+
"checks.energy_finite",
|
|
19
|
+
"checks.mean_ionization_in_range"
|
|
20
|
+
],
|
|
21
|
+
"preflight_resource": "examples/atomec_runtime_smoke.py",
|
|
22
|
+
"preflight_result": "atomec_capability_smoke.json",
|
|
23
|
+
"schema_version": "0.1.0",
|
|
24
|
+
"skill": "eos",
|
|
25
|
+
"version": "1.4.0"
|
|
26
|
+
},
|
|
27
|
+
"runtime_root": "../.runtime/atomec-1.4.0"
|
|
28
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"environment": {
|
|
3
|
+
"MANEOS_PREFLIGHT_INPUT": "/opt/acs-capabilities/m-aneos-1.0/share/preflight/ANEOS.INPUT",
|
|
4
|
+
"MANEOS_QUERY": "/opt/acs-capabilities/m-aneos-1.0/bin/maneos-query",
|
|
5
|
+
"PYTHONDONTWRITEBYTECODE": "1"
|
|
6
|
+
},
|
|
7
|
+
"executable": "bin/python",
|
|
8
|
+
"identity_files": [
|
|
9
|
+
"bin/maneos-query",
|
|
10
|
+
"share/build-record.json",
|
|
11
|
+
"share/preflight/ANEOS.INPUT"
|
|
12
|
+
],
|
|
13
|
+
"manifest": {
|
|
14
|
+
"description": "Operator-supplied M-ANEOS 1.0 total-material analytic EOS query runtime",
|
|
15
|
+
"executable_kind": "python-maneos-query",
|
|
16
|
+
"name": "m-aneos-1.0",
|
|
17
|
+
"preflight_checks": [
|
|
18
|
+
"checks.completed",
|
|
19
|
+
"checks.environment_valid",
|
|
20
|
+
"checks.executable_present",
|
|
21
|
+
"checks.input_present",
|
|
22
|
+
"checks.input_copied",
|
|
23
|
+
"checks.process_completed",
|
|
24
|
+
"checks.return_code_zero",
|
|
25
|
+
"checks.pressure_finite"
|
|
26
|
+
],
|
|
27
|
+
"preflight_resource": "examples/maneos_runtime_smoke.py",
|
|
28
|
+
"preflight_result": "maneos_capability_smoke.json",
|
|
29
|
+
"schema_version": "0.1.0",
|
|
30
|
+
"skill": "eos",
|
|
31
|
+
"version": "1.0"
|
|
32
|
+
},
|
|
33
|
+
"runtime_root": "../.runtime/m-aneos-1.0"
|
|
34
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"environment": {
|
|
3
|
+
"OMPI_MCA_btl": "self,vader",
|
|
4
|
+
"OMPI_MCA_pml": "ob1",
|
|
5
|
+
"OMP_NUM_THREADS": "1",
|
|
6
|
+
"OPTAB_EXECUTABLE": "/opt/acs-capabilities/optab-1.3.1/bin/optab",
|
|
7
|
+
"OPTAB_MPI_LAUNCHER": "/opt/acs-capabilities/optab-1.3.1/bin/mpi-launcher",
|
|
8
|
+
"OPTAB_MPI_RANKS": "1",
|
|
9
|
+
"OPTAB_PREFLIGHT_INPUT": "/opt/acs-capabilities/optab-1.3.1/share/preflight",
|
|
10
|
+
"PYTHONDONTWRITEBYTECODE": "1"
|
|
11
|
+
},
|
|
12
|
+
"executable": "bin/python",
|
|
13
|
+
"identity_files": [
|
|
14
|
+
"bin/optab",
|
|
15
|
+
"bin/mpi-launcher",
|
|
16
|
+
"share/build-record.json"
|
|
17
|
+
],
|
|
18
|
+
"manifest": {
|
|
19
|
+
"description": "Operator-supplied Optab 1.3 MPI/HDF5 opacity-table generator",
|
|
20
|
+
"executable_kind": "python-optab-mpi-hdf5",
|
|
21
|
+
"name": "optab-1.3.1",
|
|
22
|
+
"preflight_checks": [
|
|
23
|
+
"checks.completed",
|
|
24
|
+
"checks.environment_valid",
|
|
25
|
+
"checks.executable_present",
|
|
26
|
+
"checks.mpi_launcher_present",
|
|
27
|
+
"checks.input_present",
|
|
28
|
+
"checks.input_copied",
|
|
29
|
+
"checks.process_completed",
|
|
30
|
+
"checks.return_code_zero",
|
|
31
|
+
"checks.hdf5_output_created",
|
|
32
|
+
"checks.hdf5_output_readable"
|
|
33
|
+
],
|
|
34
|
+
"preflight_resource": "examples/optab_runtime_smoke.py",
|
|
35
|
+
"preflight_result": "optab_capability_smoke.json",
|
|
36
|
+
"schema_version": "0.1.0",
|
|
37
|
+
"skill": "opacity",
|
|
38
|
+
"version": "1.3.1"
|
|
39
|
+
},
|
|
40
|
+
"runtime_root": "../.runtime/optab-1.3.1"
|
|
41
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"environment": {
|
|
3
|
+
"PYTHONDONTWRITEBYTECODE": "1",
|
|
4
|
+
"SINGULARITY_EOS_QUERY": "/opt/acs-capabilities/singularity-eos-1.12.1/bin/eos-query"
|
|
5
|
+
},
|
|
6
|
+
"executable": "bin/python",
|
|
7
|
+
"identity_files": [
|
|
8
|
+
"bin/eos-query",
|
|
9
|
+
"share/build-record.json"
|
|
10
|
+
],
|
|
11
|
+
"manifest": {
|
|
12
|
+
"description": "Operator-supplied Singularity-EOS 1.12 query runtime for named analytic closures",
|
|
13
|
+
"executable_kind": "python-singularity-eos-query",
|
|
14
|
+
"name": "singularity-eos-1.12.1",
|
|
15
|
+
"preflight_checks": [
|
|
16
|
+
"checks.completed",
|
|
17
|
+
"checks.environment_valid",
|
|
18
|
+
"checks.evaluation_completed",
|
|
19
|
+
"checks.pressure_finite",
|
|
20
|
+
"checks.ideal_gas_pressure_matches_formula"
|
|
21
|
+
],
|
|
22
|
+
"preflight_resource": "examples/singularity_runtime_smoke.py",
|
|
23
|
+
"preflight_result": "singularity_eos_capability_smoke.json",
|
|
24
|
+
"schema_version": "0.1.0",
|
|
25
|
+
"skill": "eos",
|
|
26
|
+
"version": "1.12.1"
|
|
27
|
+
},
|
|
28
|
+
"runtime_root": "../.runtime/singularity-eos-1.12.1"
|
|
29
|
+
}
|
|
@@ -129,21 +129,44 @@ open rather than promoting a curve to a verdict.
|
|
|
129
129
|
|
|
130
130
|
## Figures
|
|
131
131
|
|
|
132
|
-
The field and profile figures are generated from the actual guided anchor
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
132
|
+
The field and profile figures are generated from the actual guided anchor and
|
|
133
|
+
are embedded here so that the demo can be inspected without opening each asset
|
|
134
|
+
separately. They remain reproducibility artifacts, not scientific evidence.
|
|
135
|
+
|
|
136
|
+
### Guided-anchor field evolution
|
|
137
|
+
|
|
138
|
+

|
|
139
|
+
|
|
140
|
+
The four panels use the recorded states nearest to `t=0`, `0.35`, `0.70`, and
|
|
141
|
+
the final time. The source asset is
|
|
142
|
+
[`island_coalescence_evolution.png`](figures/island_coalescence_evolution.png).
|
|
143
|
+
|
|
144
|
+
### Reconnection-layer diagnostics
|
|
145
|
+
|
|
146
|
+

|
|
147
|
+
|
|
148
|
+
This view uses the recorded state nearest `t=0.70`. The source asset is
|
|
149
|
+
[`reconnection_layer_physics.png`](figures/reconnection_layer_physics.png).
|
|
150
|
+
|
|
151
|
+
### Centerline profiles and run history
|
|
152
|
+
|
|
153
|
+

|
|
154
|
+
|
|
155
|
+
These profiles and histories are read from the anchor HDF5 output. The source
|
|
156
|
+
asset is
|
|
157
|
+
[`reconnection_microphysics_profiles.png`](figures/reconnection_microphysics_profiles.png).
|
|
158
|
+
|
|
159
|
+
### Campaign audit and interface
|
|
160
|
+
|
|
161
|
+

|
|
162
|
+
|
|
163
|
+
The scaling view uses only the checked-in audit extract. It records the valid
|
|
164
|
+
root falsification and leaves the repair branch open; it is not a portable
|
|
165
|
+
evidence record. The source asset is
|
|
166
|
+
[`scaling_law_discovery.png`](figures/scaling_law_discovery.png).
|
|
167
|
+
|
|
168
|
+
The actual browser capture is embedded at the top of this README and is also
|
|
169
|
+
available as [`simjecture_web_dashboard.png`](figures/simjecture_web_dashboard.png).
|
|
147
170
|
|
|
148
171
|
## Launching a fresh campaign
|
|
149
172
|
|
|
@@ -39,9 +39,9 @@ than the scientific default.
|
|
|
39
39
|
|
|
40
40
|
## Optional simulation runtimes
|
|
41
41
|
|
|
42
|
-
The default Python sandbox supports ordinary numerical work. WarpX
|
|
43
|
-
capabilities are optional local instruments.
|
|
44
|
-
not downloaded by `uv sync`.
|
|
42
|
+
The default Python sandbox supports ordinary numerical work. WarpX, FLASH,
|
|
43
|
+
equation-of-state, and opacity capabilities are optional local instruments.
|
|
44
|
+
They are mounted read-only and are not downloaded by `uv sync`.
|
|
45
45
|
|
|
46
46
|
The CPU profile is provisioned and checked in one command:
|
|
47
47
|
|
|
@@ -85,12 +85,32 @@ verify its exact executable, MPI launch, and HDF5 readback with:
|
|
|
85
85
|
uv run simjecture doctor --profile flash
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
-
`simjecture install flash`
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
88
|
+
`simjecture install flash` does not download FLASH. Follow
|
|
89
|
+
`skills/flash-mhd/references/local-deployment.md` for the local layout. A FLASH
|
|
90
|
+
executable is compiled for a selected application and physics configuration; it
|
|
91
|
+
must not be treated as a universal MHD binary. For a private one-command rebuild of a tree you already obtained, or a clone of
|
|
92
|
+
a remote only you configured, attach an overlay as described in
|
|
93
|
+
`skills/flash-mhd/references/private-install.md`. The public tree still contains
|
|
94
|
+
no FLASH download URL.
|
|
95
|
+
|
|
96
|
+
Equation-of-state and opacity-table generators use the same installer path as
|
|
97
|
+
WarpX CPU. The command clones a pinned upstream revision into `.runtime/` and
|
|
98
|
+
runs a non-evidentiary probe:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
uv run simjecture install atomec
|
|
102
|
+
uv run simjecture install singularity-eos
|
|
103
|
+
uv run simjecture install m-aneos
|
|
104
|
+
uv run simjecture install optab
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Use `--dry-run` to inspect a new provisioning command. An unhealthy
|
|
108
|
+
installer-managed prefix is preserved unless `--repair` is explicit. Follow
|
|
109
|
+
`skills/eos/references/local-deployment.md` and
|
|
110
|
+
`skills/opacity/references/local-deployment.md`. An EOS capability is not an
|
|
111
|
+
opacity table; Optab consumes an external abundance table rather than solving
|
|
112
|
+
thermodynamic closure. FLASH remains operator-supplied because its license
|
|
113
|
+
restricts redistribution.
|
|
94
114
|
|
|
95
115
|
## Local web interface
|
|
96
116
|
|
|
@@ -76,11 +76,62 @@ Once the local runtime exists, verify it without changing it:
|
|
|
76
76
|
uv run simjecture doctor --profile flash
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
+
`simjecture install flash` never contains a FLASH download URL. Pass **your**
|
|
80
|
+
licensed copy:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
uv run simjecture install flash \
|
|
84
|
+
--repository git@github.com:<you>/<your-private-flash>.git \
|
|
85
|
+
--git-ref <tag-or-commit>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
or `--source /absolute/path/to/FLASH`. Set `FLASH_SETUP_ARGS`, `FLASH_OBJDIR`,
|
|
89
|
+
and `FLASH_PREFLIGHT_PARFILE` in the environment. A Git-ignored overlay can
|
|
90
|
+
store those defaults. See `skills/flash-mhd/references/private-install.md`.
|
|
91
|
+
|
|
79
92
|
The cached probe exercises the exact MPI launcher and reads a fresh HDF5 file.
|
|
80
93
|
It is permanently non-evidentiary. The campaign must still commission its
|
|
81
94
|
actual compiled model, initial state, boundaries, diagnostics, and numerical
|
|
82
95
|
regime prospectively.
|
|
83
96
|
|
|
97
|
+
## Equation of state
|
|
98
|
+
|
|
99
|
+
atoMEC, Singularity-EOS, and M-ANEOS are optional instruments. The installer
|
|
100
|
+
clones the pinned upstream revision into a Git-ignored runtime, compiles any
|
|
101
|
+
query driver, and runs a non-evidentiary probe. Host prerequisites are Git and
|
|
102
|
+
Python 3.12 or 3.11; Singularity-EOS also needs `g++`, and M-ANEOS needs
|
|
103
|
+
`gfortran` and `make`.
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
uv run simjecture install atomec
|
|
107
|
+
uv run simjecture install singularity-eos
|
|
108
|
+
uv run simjecture install m-aneos
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Repeating a command against a healthy runtime performs no installation. It will
|
|
112
|
+
not overwrite an unhealthy existing directory; `--repair` is accepted only for
|
|
113
|
+
an installer-managed prefix. `--source` may supply an already cloned tree at
|
|
114
|
+
the pinned revision. The generic procedure is documented in
|
|
115
|
+
`skills/eos/references/local-deployment.md`. A campaign must still commission
|
|
116
|
+
the named model, composition, units, and estimator.
|
|
117
|
+
|
|
118
|
+
## Opacity tables
|
|
119
|
+
|
|
120
|
+
Optab is optional and GPL-3.0 licensed. The installer clones the pinned
|
|
121
|
+
revision, builds the MPI/HDF5 executable, fetches the Gaunt-factor and NIST
|
|
122
|
+
databases required by the doctor probe, and writes a one-zone continuum
|
|
123
|
+
hydrogen input. Host prerequisites are Git, Python 3.12 or 3.11, `h5pfc`, and
|
|
124
|
+
an MPI launcher.
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
uv run simjecture install optab
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
The probe copies the prepared input tree, launches Optab, and reads HDF5. It
|
|
131
|
+
does not qualify a production opacity table. Optab consumes an external
|
|
132
|
+
abundance file; it is not an equation-of-state solver. See
|
|
133
|
+
`skills/opacity/references/local-deployment.md`.
|
|
134
|
+
|
|
84
135
|
## Inspect without installing
|
|
85
136
|
|
|
86
137
|
```bash
|
|
@@ -88,10 +139,12 @@ uv run simjecture doctor
|
|
|
88
139
|
uv run simjecture doctor --profile warpx-cpu
|
|
89
140
|
uv run simjecture doctor --profile warpx-cuda --json
|
|
90
141
|
uv run simjecture doctor --profile flash --json
|
|
142
|
+
uv run simjecture doctor --profile atomec --json
|
|
143
|
+
uv run simjecture doctor --profile optab --json
|
|
91
144
|
uv run simjecture install warpx-cpu --dry-run
|
|
92
145
|
```
|
|
93
146
|
|
|
94
|
-
The default doctor treats missing
|
|
147
|
+
The default doctor treats missing optional profiles as warnings and fails
|
|
95
148
|
only when the core is unusable. Selecting a profile makes that capability
|
|
96
149
|
required. `--skip-probes` checks files, manifests, devices, and runtime identity
|
|
97
150
|
without executing the declared smoke programs.
|
|
@@ -28,7 +28,8 @@ hypothesis solving or empirical closure.
|
|
|
28
28
|
- **Tool author:** start with [Add a capability](how-to/add-a-capability.md) and
|
|
29
29
|
[Guided commissioning](how-to/guided-commissioning.md).
|
|
30
30
|
- **Operator:** use [Deploy runtime profiles](how-to/deploy-runtimes.md) to
|
|
31
|
-
provision and verify the core, WarpX
|
|
31
|
+
provision and verify the core, WarpX, FLASH, equation-of-state, or opacity
|
|
32
|
+
environment.
|
|
32
33
|
- **DSH operator:** use [Run a Simjecture campaign under DSH](how-to/deepseek-harness.md)
|
|
33
34
|
to install the native MCP profile and verify its tool boundary.
|
|
34
35
|
- **Reviewer:** inspect [Evaluation status](research/status.md),
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eos
|
|
3
|
+
description: Commission, run, and assess user-installed equation-of-state generators and evaluators. Use when an installed EOS capability may provide thermodynamic or ionization evidence; do not treat an EOS evaluation as radiation-transport or opacity evidence.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Equation of state
|
|
7
|
+
|
|
8
|
+
Use this skill to operate an equation-of-state executable that the operator
|
|
9
|
+
obtained and registered under an advertised capability. The skill describes the
|
|
10
|
+
instruments; it does not select the scientific hypothesis, material, state
|
|
11
|
+
points, acceptance thresholds, or conclusion.
|
|
12
|
+
|
|
13
|
+
Equation of state and opacity are different instruments. An EOS returns
|
|
14
|
+
thermodynamic state and, when the model includes it, ionization. It does not
|
|
15
|
+
return frequency-dependent absorption, emission, or scattering. Do not use this
|
|
16
|
+
skill as a substitute for an opacity-table capability.
|
|
17
|
+
|
|
18
|
+
## Execution contract
|
|
19
|
+
|
|
20
|
+
- Use an EOS package only when the campaign advertises an installed capability
|
|
21
|
+
whose manifest names this skill. Do not invent a capability name or assume
|
|
22
|
+
that this skill includes an executable.
|
|
23
|
+
- Keep programs, inputs, analysis, and outputs in the writable workspace.
|
|
24
|
+
Capability action paths are workspace-relative.
|
|
25
|
+
- Treat the exact executable identity, model name, material or composition
|
|
26
|
+
input, units, and analysis source as provenance.
|
|
27
|
+
- Use `stage=workbench` while repairing inputs or checking the interface.
|
|
28
|
+
Workbench artifacts are permanently non-evidentiary. Use `stage=evidence`
|
|
29
|
+
only with a frozen, prospectively commissioned program and command set.
|
|
30
|
+
- Treat a zero process exit status as execution success only. It does not
|
|
31
|
+
establish physical validity, numerical convergence, or support for a claim.
|
|
32
|
+
|
|
33
|
+
## Installed capabilities
|
|
34
|
+
|
|
35
|
+
Each capability is a different code. Name the model that actually ran.
|
|
36
|
+
|
|
37
|
+
| Capability | Package | What it evaluates |
|
|
38
|
+
|---|---|---|
|
|
39
|
+
| `atomec-1.4.0` | atoMEC 1.4.x | Finite-temperature Kohn–Sham average-atom electron structure for one element |
|
|
40
|
+
| `singularity-eos-1.12.1` | Singularity-EOS 1.12.x | Named analytic or tabulated closures through a query driver or Python module |
|
|
41
|
+
| `m-aneos-1.0` | M-ANEOS 1.0.x | Semi-analytic total-material Helmholtz EOS from an operator-supplied parameter set |
|
|
42
|
+
|
|
43
|
+
Execute workspace Python with `run_capability`, selecting the advertised
|
|
44
|
+
capability. The first argv item is the workspace-relative program. There is no
|
|
45
|
+
shell. Ordinary `run_python` does not contain these packages.
|
|
46
|
+
|
|
47
|
+
Read [execution and output](references/execution-output.md) for launch
|
|
48
|
+
variables, units, and the query JSON contract. Read
|
|
49
|
+
[local deployment](references/local-deployment.md) only when registering or
|
|
50
|
+
repairing a runtime; it is not a campaign procedure.
|
|
51
|
+
|
|
52
|
+
## Limitations
|
|
53
|
+
|
|
54
|
+
### atoMEC
|
|
55
|
+
|
|
56
|
+
- Solves a **single-element ion-sphere** average-atom problem with
|
|
57
|
+
finite-temperature Kohn–Sham DFT. It is not a multi-species mixture solver
|
|
58
|
+
and does not enforce a common electron chemical potential across elements.
|
|
59
|
+
- Returns electronic structure and electron thermodynamics. It is not a
|
|
60
|
+
complete material EOS: there is no calibrated ion thermal model, cold curve,
|
|
61
|
+
or multi-phase diagram.
|
|
62
|
+
- The published solver is **non-relativistic**. Do not treat deep-shell or
|
|
63
|
+
high-Z states as relativistic without an independent assessment.
|
|
64
|
+
- Mean ionization and pressure depend on the exchange-correlation functional,
|
|
65
|
+
boundary condition, unbound-electron treatment, orbital basis, and radial
|
|
66
|
+
grid. Distinct pressure estimators (thermodynamic finite difference, virial,
|
|
67
|
+
ideal continuum) can disagree; record which estimator was used.
|
|
68
|
+
- A completed SCF is not a converged result. Basis, grid, mixing, and
|
|
69
|
+
estimator step size remain part of the numerical regime.
|
|
70
|
+
|
|
71
|
+
### Singularity-EOS
|
|
72
|
+
|
|
73
|
+
- This is a **runtime API and interpolator**, not an atomic-physics generator.
|
|
74
|
+
Tabulated models only reproduce the table they were built from.
|
|
75
|
+
- `IdealGas` is a classical \(\gamma\)-law closure. It has no ionization,
|
|
76
|
+
degeneracy, binding, or phase structure.
|
|
77
|
+
- `IdealElectrons` is a classical Boltzmann electron gas,
|
|
78
|
+
\(P_e=\rho\,\bar{Z}\,k_B T/(\bar{A}\,m_p)\) in the library's default CGS
|
|
79
|
+
units. \(\bar{Z}\) is an **input**, not a computed ionization state. The
|
|
80
|
+
model omits Fermi degeneracy, exchange, correlation, and ionic structure.
|
|
81
|
+
- Other shipped closures (Grüneisen, JWL, Davis, Helmholtz, Vinet, stiff gas,
|
|
82
|
+
noble-abel, Carnahan–Starling, Spiner tables, EOSPAC, stellar collapse, and
|
|
83
|
+
modifiers such as scaled/shifted/relativistic) are valid only inside their
|
|
84
|
+
documented constitutive assumptions. EOSPAC additionally requires a
|
|
85
|
+
separately licensed SESAME library and data; do not assume it is present.
|
|
86
|
+
- Default units are CGS unless a unit-system modifier was applied. Do not mix
|
|
87
|
+
unit systems across models or with atoMEC/M-ANEOS outputs without a recorded
|
|
88
|
+
conversion.
|
|
89
|
+
|
|
90
|
+
### M-ANEOS
|
|
91
|
+
|
|
92
|
+
- Evaluates a **semi-analytic total-material** Helmholtz free energy. The
|
|
93
|
+
result is only as valid as the operator-supplied `ANEOS.INPUT` parameter set.
|
|
94
|
+
- Upstream example materials are geologic calibrations. An input that was not
|
|
95
|
+
calibrated and reviewed for the claimed species and phase region is not a
|
|
96
|
+
predictive material table.
|
|
97
|
+
- The supported public thermodynamic result is total pressure, energy, entropy,
|
|
98
|
+
heat capacity, sound speed, phase flag, and mean ionization. Legacy electron
|
|
99
|
+
common-block fields are not a stable electron-EOS API.
|
|
100
|
+
- The bundled Rosseland-plus-conduction estimate is an old analytic opacity
|
|
101
|
+
surrogate. It is not an opacity table and must not be used as opacity
|
|
102
|
+
evidence.
|
|
103
|
+
- Total M-ANEOS energy already includes ionic contributions. Do not add it to a
|
|
104
|
+
separately evolved ion kinetic energy without a recorded double-counting
|
|
105
|
+
analysis.
|
|
106
|
+
|
|
107
|
+
## Recommended use
|
|
108
|
+
|
|
109
|
+
1. Translate the active claim into an EOS observable: pressure, energy, heat
|
|
110
|
+
capacity, ionization, or a comparison of two named models at the same state.
|
|
111
|
+
2. Confirm that the advertised capability actually implements the named model,
|
|
112
|
+
composition, and unit system. Runtime flags cannot create a model omitted
|
|
113
|
+
from the build or input deck.
|
|
114
|
+
3. Develop an inexpensive workbench evaluation that writes a compact JSON
|
|
115
|
+
summary with a top-level `checks` object. The capability smokes are
|
|
116
|
+
permanently non-evidentiary interface checks.
|
|
117
|
+
4. Commission the representation before evidence: model name, composition,
|
|
118
|
+
independent variables, units, estimator, and numerical parameters.
|
|
119
|
+
5. Freeze the program and command. Generate fresh evidence from that identity.
|
|
120
|
+
Compare independent codes only at a prospectively declared state and
|
|
121
|
+
conversion.
|
|
122
|
+
|
|
123
|
+
Official resources:
|
|
124
|
+
|
|
125
|
+
- atoMEC: <https://github.com/atomec-project/atoMEC>
|
|
126
|
+
- Singularity-EOS: <https://github.com/lanl/singularity-eos>
|
|
127
|
+
- M-ANEOS: <https://github.com/isale-code/M-ANEOS>
|
|
128
|
+
|
|
129
|
+
## Boundaries
|
|
130
|
+
|
|
131
|
+
Do not infer that one installed EOS package is adequate merely because it is
|
|
132
|
+
available. Do not treat a runtime smoke, a single state point, or agreement
|
|
133
|
+
between two ideal-gas formulas as material qualification. Never take materials,
|
|
134
|
+
state points, expected values, or acceptance thresholds from this skill; derive
|
|
135
|
+
them within the active campaign and preserve their provenance. Do not silently
|
|
136
|
+
change the model, estimator, units, or composition after inspecting results.
|