simjecture 0.2.2__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.2.2 → simjecture-0.3.1}/.gitignore +1 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/CHANGELOG.md +20 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/CITATION.cff +2 -2
- {simjecture-0.2.2 → simjecture-0.3.1}/PKG-INFO +59 -11
- {simjecture-0.2.2 → simjecture-0.3.1}/README.md +56 -10
- simjecture-0.3.1/THIRD_PARTY_NOTICES.md +31 -0
- simjecture-0.3.1/capabilities/atomec-1.4.0.json +28 -0
- simjecture-0.3.1/capabilities/flash-island-coalescence-resistive-mhd-4.8.json +42 -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.2.2 → simjecture-0.3.1}/demos/README.md +10 -2
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/.gitignore +1 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/README.md +197 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/campaign_audit.json +64 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/campaign_instruction.txt +5 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/figures/README.md +20 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/figures/island_coalescence_evolution.png +0 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/figures/reconnection_layer_physics.png +0 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/figures/reconnection_microphysics_profiles.png +0 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/figures/scaling_law_discovery.png +0 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/figures/simjecture_web_dashboard.png +0 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/guided/anchor_validation.json +270 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/guided/island_coalescence.py +412 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/guided/operator_validation.json +36 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/guided_commission.json +49 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/hypothesis.txt +1 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/literature_basis.md +39 -0
- simjecture-0.3.1/demos/resistive_mhd_island_coalescence/plot_results.py +490 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/concepts/architecture.md +23 -6
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/concepts/evidence-and-claims.md +38 -8
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/conf.py +1 -1
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/getting-started/installation.md +42 -3
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/how-to/add-a-capability.md +6 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/how-to/deepseek-harness.md +21 -8
- simjecture-0.3.1/docs/how-to/deploy-runtimes.md +153 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/how-to/guided-commissioning.md +7 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/index.md +2 -1
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/reference/repository-map.md +1 -1
- {simjecture-0.2.2 → simjecture-0.3.1}/integrations/dsh/README.md +1 -1
- {simjecture-0.2.2 → simjecture-0.3.1}/integrations/dsh/adjudicator.js +79 -14
- {simjecture-0.2.2 → simjecture-0.3.1}/integrations/dsh/cordis.patch.yml +16 -4
- {simjecture-0.2.2 → simjecture-0.3.1}/integrations/dsh/job-waiter.js +42 -3
- {simjecture-0.2.2 → simjecture-0.3.1}/integrations/dsh/roles.js +525 -60
- {simjecture-0.2.2 → simjecture-0.3.1}/integrations/dsh/runner.js +15 -4
- {simjecture-0.2.2 → simjecture-0.3.1}/pyproject.toml +4 -1
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/MVPGuidedCommissioningSpec.schema.json +12 -0
- 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.1/skills/flash-mhd/SKILL.md +91 -0
- simjecture-0.3.1/skills/flash-mhd/agents/openai.yaml +4 -0
- simjecture-0.3.1/skills/flash-mhd/examples/runtime_smoke.py +214 -0
- simjecture-0.3.1/skills/flash-mhd/manifest.json +10 -0
- simjecture-0.3.1/skills/flash-mhd/references/execution-output.md +82 -0
- simjecture-0.3.1/skills/flash-mhd/references/local-deployment.md +71 -0
- simjecture-0.3.1/skills/flash-mhd/references/model-validity.md +63 -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.2.2 → simjecture-0.3.1}/skills/warpx/SKILL.md +9 -0
- simjecture-0.3.1/skills/warpx/examples/openpmd_xz_reader.py +288 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/manifest.json +1 -1
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/references/diagnostics.md +58 -0
- simjecture-0.3.1/skills/warpx/references/hybrid-pic.md +117 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/__init__.py +1 -1
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/campaign_kernel.py +733 -116
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/cli.py +61 -6
- simjecture-0.3.1/src/conjecture_solver/corrective_audit.py +145 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/deployment.py +410 -35
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/kernel_worker.py +2 -2
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/mcp_schemas.py +130 -23
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/mcp_server.py +782 -47
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/mvp_agent.py +1329 -265
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/mvp_claims.py +324 -145
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/mvp_guidance.py +13 -2
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/mvp_launch.py +78 -12
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/mvp_monitor.py +167 -59
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/mvp_skills.py +59 -4
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/tui/screens.py +15 -2
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/application.py +1 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/app.js +23 -4
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_campaign_jobs.py +57 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_campaign_kernel.py +542 -24
- simjecture-0.3.1/tests/test_corrective_audit.py +87 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_deployment.py +238 -1
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_dsh_bundle.py +72 -2
- simjecture-0.3.1/tests/test_mcp_server.py +1321 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_mvp_agent.py +1237 -147
- simjecture-0.3.1/tests/test_mvp_claims.py +484 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_mvp_monitor.py +171 -6
- simjecture-0.3.1/tests/test_warpx_openpmd_xz.py +111 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_web.py +4 -2
- {simjecture-0.2.2 → simjecture-0.3.1}/uv.lock +58 -2
- simjecture-0.2.2/THIRD_PARTY_NOTICES.md +0 -16
- simjecture-0.2.2/docs/how-to/deploy-runtimes.md +0 -73
- simjecture-0.2.2/tests/test_mcp_server.py +0 -624
- simjecture-0.2.2/tests/test_mvp_claims.py +0 -83
- {simjecture-0.2.2 → simjecture-0.3.1}/.env.example +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/.gitattributes +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/.github/workflows/ci.yml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/.github/workflows/release.yml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/.readthedocs.yaml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/CONTRIBUTING.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/LICENSE +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/NOTICE +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/SECURITY.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/capabilities/warpx-cpu-26.07.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/capabilities/warpx-cuda-openpmd-26.07.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/README.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/campaign_instruction.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/anchor_operator_validation.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/gem_anchor_validation.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/gem_collisionless.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/prior_campaign_0002_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/prior_campaign_0003_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided/prior_campaign_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/guided_commission.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/hypothesis.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/plot_results.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/artifact_provenance.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/claim_summary.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/guided_commissioning.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/hypothesis_ledger.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/literature_searches.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/mvp_manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/mvp_report.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/transcript.jsonl +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000012.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000013.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000019.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000020.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000026.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000027.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000032.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000033.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000037.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000041.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000042.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000043.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000049.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/analyze_ensemble.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/analyze_manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/commission_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/ensemble_result.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/diagnostic_overview.svg +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/final_fields.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/warpx_used_inputs +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/diagnostic_overview.svg +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/final_fields.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/warpx_used_inputs +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/design_pin.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/energy_reader.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fallback_solver_plan.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output_wb.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/gen_fixtures.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/anchor_operator_validation.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_anchor_validation.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_collisionless.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0002_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0003_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/collisionless_gem_reconnection/verify_record.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/README.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/capture_tui.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/hypothesis.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/plot_results.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/README.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/artifact_provenance.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/claim_summary.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/hypothesis_ledger.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/mvp_manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/mvp_report.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/transcript.jsonl +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/analyze_results.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/calc_growth.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/linear_stability.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/mode_analysis.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/mode_analysis_results.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/pick_regime.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/regime_candidates.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s1.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s10.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s10_dt025.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/result_s1_dt025.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_pattern_results.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p025.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p05.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p025.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p05.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulate_gs.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulate_gs_dt025.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulate_gs_root.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulation_results.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/simulation_results_dt025.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/record/workspace/turing_diagnostic.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/reproduce.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/demos/gray_scott_counterexample/verify_record.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/_static/demos/gem-ensemble-result.png +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/_static/demos/gem-reconnection-fields.png +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/_static/demos/gray-scott-completed-tui.svg +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/_static/demos/gray-scott-result.png +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/demos/collisionless-gem.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/demos/gray-scott.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/development/documentation.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/development/releasing.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/getting-started/first-run.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/getting-started/terminal-ui.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/getting-started/web-interface.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/reference/cli.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/requirements.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/research/limitations.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/research/next-steps.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/research/run-0004.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/docs/research/status.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/environments/warpx-cpu.yml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/integrations/dsh/context-elider.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/integrations/dsh/package.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/AIStrategyDraft.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ActionExecution.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ActionFailureRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/AttemptRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/BlindedSearchReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/BlindedSearchRequest.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/CampaignAction.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/CampaignActionGraph.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/CampaignActionState.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/CampaignBudget.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/CampaignCheckpoint.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/CampaignState.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/CandidateEvaluation.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/CandidateResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/CapabilityManifest.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/Claim.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/CollisionalityIntervention.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ControlDirective.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/DecisionRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/DiscoveryPackage.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/DispatchAttempt.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/DomainDiagnosisSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/DomainEvolutionSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/DomainPluginMetadata.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/DomainRunSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/DomainTemplateSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ExperimentSpec.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ExternalReceipt.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/FreshSeedIntervention.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/HumanIntervention.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/HypothesisNode.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/KineticSufficiencyDiscoveryPackage.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/KineticSufficiencyHypothesisInput.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/KineticSufficiencyResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/KineticSufficiencySolveResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/LifecycleEvent.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/MatchedPairFormalPredicate.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ModelCallProvenance.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/MultiActionCampaignReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/NormalizedResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/NumericalAssessment.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/NumericalDiagnostics.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/NumericalGate.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ObservablePrediction.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/OutboxIntent.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/PICCaseResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/PICConfig.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/PICConfirmationAttempt.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/PICConfirmationDesign.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/PICConfirmationReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/PICMixtureCaseResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/PICNumericalConfig.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/PICSufficiencyResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ParameterSpace.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ParticleStatisticsIntervention.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ProposalDraft.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ProposalRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ProposalRequest.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ProposalValidation.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ProposedToolCall.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/QualifiedWarpXCampaignPackage.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/QualifiedWarpXInstrument.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ReferenceQualification.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ResearchBudget.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ResearchCampaignReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ResearchConclusion.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ResearchDecision.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ResearchEvidencePolicy.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ResearchHypothesis.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ResearchObservation.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ResearchProblemContract.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ResearchRelation.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ResearchToolManifest.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/ResearchToolResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/RunEvidence.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/RunPlan.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/SearchStrategy.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/SheetThicknessIntervention.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/SubprocessResearchToolConfig.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/SymmetricMixtureCandidate.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXCalibrationPoint.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXCaseSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXCompiledCase.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXConfirmationAttempt.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXConfirmationDesign.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXConfirmationFailure.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXConfirmationReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXConfirmationResolution.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXExecutionProfile.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXNumericalConfig.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXPairSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXPhysicalConfig.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXPhysicsQualificationRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXQualificationRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/WarpXQualifiedScope.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/mvp/MVPAgentAction.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/mvp/MVPAgentReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/mvp/MVPClaim.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/schemas/mvp/MVPClaimLedger.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/scripts/postprocess_warpx_case.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/scripts/probe_provider.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/scripts/propose_hypothesis.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/scripts/propose_search_strategy.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/scripts/qualify_warpx.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/scripts/qualify_warpx_physics.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/scripts/run_admitted_proposal.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/scripts/run_blinded_search.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/scripts/run_qualified_warpx_campaign.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/scripts/run_warpx_confirmation.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/scripts/run_warpx_pair.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/python-experiment/SKILL.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/python-experiment/manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/scientific-markdown/SKILL.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/scientific-markdown/agents/openai.yaml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/scientific-markdown/manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/agents/openai.yaml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/examples/implicit_em_smoke.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/examples/minimal_smoke.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/examples/openpmd_field_smoke.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/references/2d-xz-commissioning.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/references/cpu-launch-tuning.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/references/gpu-launch-tuning.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/references/local-cuda-deployment.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/references/numerical-risks.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/references/picmi-interface.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/references/resource-scaling.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/references/time-integration.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/scripts/benchmark_cpu_threads.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/scripts/benchmark_gpu.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/scripts/bootstrap_local_cuda.sh +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/scripts/probe_local_cuda.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/scripts/reduced_energy_budget.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/skills/warpx/scripts/run_local_cuda.sh +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/__main__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/action_handlers.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/adapters/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/adapters/base.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/adapters/fake.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/adapters/pic.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/adapters/warpx.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/autonomous_research.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/benchmarks/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/benchmarks/electrostatic_pic.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/benchmarks/kinetic_sufficiency.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/campaign.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/campaign_jobs.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/confirmation.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/control.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/discovery.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/domains/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/domains/base.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/domains/kinetic_sufficiency.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/dsh_engine.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/ledger.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/lifecycle.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/literature.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/llm.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/models.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/mvp_control.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/orchestration.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/outbox.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/parameters.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/presentation.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/proposals.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/research_tools.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/schema_export.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/search.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/semantics.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/tui/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/tui/app.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/tui/claim_views.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/warpx_analysis.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/warpx_campaign.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/warpx_confirmation.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/server.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/index.html +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/markdown.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/styles.css +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.dagre.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.dompurify.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.katex.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/LICENSE.marked.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/README.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/dagre-2.0.0.min.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/dompurify-3.4.14.min.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/katex-0.18.4.min.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/katex-auto-render-0.18.4.min.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/src/conjecture_solver/web/static/vendor/marked-18.0.10.umd.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/fixtures/fake_warpx_runner.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_adapter.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_autonomous_research.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_benchmark.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_campaign.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_control.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_domain_plugins.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_dsh_engine.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_ledger.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_lifecycle.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_literature.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_llm.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_models.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_mvp_control.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_mvp_pause.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_mvp_status_watch.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_orchestration.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_outbox.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_parameters.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_pic.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_proposals.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_recorded_demo.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_schema_export.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_search.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_semantics.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_tui.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_tui_claim_views.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_warpx.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_warpx_analysis.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_warpx_campaign.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_warpx_qualification.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.1}/tests/test_warpx_reduced_energy.py +0 -0
|
@@ -4,6 +4,26 @@ 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
|
+
|
|
14
|
+
## 0.3.0 — 2026-08-27
|
|
15
|
+
|
|
16
|
+
- Added FLASH 4.8 2D compressible resistive-MHD application capability, commissioning protocol, and rank/timing calibrations.
|
|
17
|
+
- Added sealed directory inputs in execution sandbox with recursive deterministic manifest hashing and read-only container mounting.
|
|
18
|
+
- Clarified child claim evidence lineage and stale scientific execution binding protections.
|
|
19
|
+
- Added a FLASH 2D Resistive-MHD island-coalescence demonstration with figures
|
|
20
|
+
generated from the guided HDF5 anchor, a real Web UI capture, and an
|
|
21
|
+
explicitly labelled campaign audit. The root interval is falsified; the
|
|
22
|
+
repair branch remains open because its evidence lineage did not close.
|
|
23
|
+
- Added the `flash-demo` optional dependency for HDF5-backed figure
|
|
24
|
+
regeneration.
|
|
25
|
+
- Enhanced Web UI test suite with proxy isolation.
|
|
26
|
+
|
|
7
27
|
## 0.2.2 — 2026-08-24
|
|
8
28
|
|
|
9
29
|
- Fixed a process-lifecycle race where the supervisor that launched a short
|
|
@@ -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.
|
|
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
|
+
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
|
|
@@ -28,6 +28,8 @@ Requires-Dist: pydantic<3,>=2.9
|
|
|
28
28
|
Requires-Dist: scipy<2,>=1.12
|
|
29
29
|
Provides-Extra: dsh
|
|
30
30
|
Requires-Dist: mcp<3,>=2; extra == 'dsh'
|
|
31
|
+
Provides-Extra: flash-demo
|
|
32
|
+
Requires-Dist: h5py<4,>=3.10; extra == 'flash-demo'
|
|
31
33
|
Provides-Extra: tui
|
|
32
34
|
Requires-Dist: textual<9,>=2.0; extra == 'tui'
|
|
33
35
|
Description-Content-Type: text/markdown
|
|
@@ -47,16 +49,18 @@ writes its own experiments and diagnostics, and searches deliberately for the
|
|
|
47
49
|
simplest result that survives independent verification. The harness controls
|
|
48
50
|
what may count as evidence.
|
|
49
51
|
|
|
50
|
-
> **Research preview:** version 0.
|
|
51
|
-
>
|
|
52
|
+
> **Research preview:** version 0.3 extends the infrastructure with a
|
|
53
|
+
> license-safe FLASH resistive-MHD capability and an explicitly bounded
|
|
54
|
+
> island-coalescence audit. It does not claim to solve arbitrary
|
|
52
55
|
> scientific prose, establish truth about nature from one simulator, or replace
|
|
53
56
|
> independent scientific review.
|
|
54
57
|
|
|
55
58
|
The project began as an autonomous conjecture-solving harness for computational
|
|
56
59
|
plasma physics. The same claim ledger, sandbox, commissioning rules, and
|
|
57
60
|
capability framework are now ready to extend to other simulation-gated fields
|
|
58
|
-
that have a sharp question and a checkable instrument.
|
|
59
|
-
both the origin domain and that generalization
|
|
61
|
+
that have a sharp question and a checkable instrument. The 0.3 preview records
|
|
62
|
+
both the origin domain and that generalization, and adds a fluid-MHD campaign
|
|
63
|
+
whose unresolved repair state is preserved rather than hidden.
|
|
60
64
|
|
|
61
65
|
## The core idea: AI low-hanging fruit
|
|
62
66
|
|
|
@@ -288,9 +292,9 @@ the human-first projection.
|
|
|
288
292
|
The v0.2.2 integration moves the model-facing research loop to DeepSeek Harness
|
|
289
293
|
without moving scientific authority out of Simjecture. DSH owns the provider,
|
|
290
294
|
conversation, retry policy, compaction, and resumable session. A native MCP
|
|
291
|
-
boundary implements
|
|
292
|
-
sees
|
|
293
|
-
Falsifier/Experimenter and Repair Scientist sessions. A separate fresh,
|
|
295
|
+
boundary implements 22 typed endpoints. A compact persistent Lead Scientist
|
|
296
|
+
sees seven coordination tools and delegates claim work to fresh, scoped
|
|
297
|
+
Falsifier/Experimenter, Blocker Resolver, and Repair Scientist sessions. A separate fresh,
|
|
294
298
|
tool-free Judge reviews surviving claims. The Python campaign kernel continues to own hypotheses,
|
|
295
299
|
evidence contracts, commissioning, skills, simulation capabilities, sandboxing,
|
|
296
300
|
provenance, and guarded claim closure. Existing WarpX CPU/CUDA capabilities use
|
|
@@ -341,6 +345,7 @@ process state or charging stopped-process downtime.
|
|
|
341
345
|
| Magnetic mirror and nonlinear Landau MVPs | Completed plasma research runs | Natural-language operation on origin-domain problems |
|
|
342
346
|
| Gray–Scott MVP | Completed research run | Same harness on a non-plasma, agent-authored instrument |
|
|
343
347
|
| [Collisionless GEM held-out campaign 0004](demos/collisionless_gem_reconnection/) | 12 fresh CUDA runs completed | Guided autonomous commissioning, execution, analysis, and guarded claim handling |
|
|
348
|
+
| [FLASH resistive-MHD island-coalescence audit](demos/resistive_mhd_island_coalescence/) | Root interval falsified; repair branch open | Actual guided FLASH fields, bounded root counterexample, and an honest unresolved child state |
|
|
344
349
|
|
|
345
350
|
Run 0004 produced a finite-sample point-estimate falsification of its operational
|
|
346
351
|
child claim, while its three-seed uncertainty interval still crossed the proposed
|
|
@@ -348,7 +353,7 @@ population threshold. The immutable root remained open. This is documented as a
|
|
|
348
353
|
real autonomous run and an example of why machine provenance does not remove the
|
|
349
354
|
need for independent scientific audit.
|
|
350
355
|
|
|
351
|
-
|
|
356
|
+
The 0.3 preview ships that harness. The next step is to use it: apply the same
|
|
352
357
|
claim ledger, sandbox, commissioning rules, and capability framework to more
|
|
353
358
|
simulation-gated problems, and hunt independently confirmed new results — a
|
|
354
359
|
compact law, a matched counterexample, or a scoped impossibility — in the
|
|
@@ -356,8 +361,10 @@ origin domain and beyond.
|
|
|
356
361
|
|
|
357
362
|
## Recorded autonomous demos
|
|
358
363
|
|
|
359
|
-
The repository includes
|
|
360
|
-
descriptions of past runs.
|
|
364
|
+
The repository includes three inspectable release demonstrations rather than
|
|
365
|
+
only descriptions of past runs. Gray–Scott and GEM are portable recorded
|
|
366
|
+
campaigns; the FLASH demo is an operator-dependent anchor plus a clearly
|
|
367
|
+
labelled audit extract because its repair branch did not close.
|
|
361
368
|
|
|
362
369
|
### Gray–Scott finite-domain counterexample
|
|
363
370
|
|
|
@@ -394,6 +401,24 @@ summaries, hash-addressed provenance for 482 original artifacts, and
|
|
|
394
401
|
representative final fields. See
|
|
395
402
|
[`demos/collisionless_gem_reconnection/`](demos/collisionless_gem_reconnection/).
|
|
396
403
|
|
|
404
|
+
### FLASH resistive-MHD island-coalescence audit
|
|
405
|
+
|
|
406
|
+
The FLASH demo starts from one natural-language Sweet–Parker-like scaling
|
|
407
|
+
hypothesis. Its actual guided anchor produces the HDF5 field states and
|
|
408
|
+
reconnection diagnostics used in the figures. A local six-hour autonomous
|
|
409
|
+
campaign falsified the specified root exponent interval (`p = -0.406453`,
|
|
410
|
+
95% CI `[-0.423266, -0.389641]`), then ran out of budget while a repaired
|
|
411
|
+
child remained open. The high-resolution child output and analyzer lineage did
|
|
412
|
+
not satisfy the final closure-eligibility rules, so the repository does not
|
|
413
|
+
call that branch verified.
|
|
414
|
+
|
|
415
|
+

|
|
416
|
+
|
|
417
|
+
See [`demos/resistive_mhd_island_coalescence/`](demos/resistive_mhd_island_coalescence/)
|
|
418
|
+
for the exact hypothesis, guided commissioning manifest, audit extract,
|
|
419
|
+
actual web capture, limitations, and figure-generation script. FLASH itself is
|
|
420
|
+
operator-supplied and is not redistributed.
|
|
421
|
+
|
|
397
422
|
Every campaign also exposes the built-in
|
|
398
423
|
[`scientific-markdown`](skills/scientific-markdown/SKILL.md) skill. It gives the
|
|
399
424
|
agent a common notation for equations, code identifiers, contracts, evidence
|
|
@@ -422,6 +447,29 @@ revision before invoking the existing build and openPMD probe.
|
|
|
422
447
|
See [`skills/warpx/SKILL.md`](skills/warpx/SKILL.md) and the deployment reference
|
|
423
448
|
in [`skills/warpx/references/local-cuda-deployment.md`](skills/warpx/references/local-cuda-deployment.md).
|
|
424
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
|
+
|
|
425
473
|
## Documentation
|
|
426
474
|
|
|
427
475
|
The curated documentation uses Sphinx, MyST Markdown, and the PyData Sphinx
|
|
@@ -13,16 +13,18 @@ writes its own experiments and diagnostics, and searches deliberately for the
|
|
|
13
13
|
simplest result that survives independent verification. The harness controls
|
|
14
14
|
what may count as evidence.
|
|
15
15
|
|
|
16
|
-
> **Research preview:** version 0.
|
|
17
|
-
>
|
|
16
|
+
> **Research preview:** version 0.3 extends the infrastructure with a
|
|
17
|
+
> license-safe FLASH resistive-MHD capability and an explicitly bounded
|
|
18
|
+
> island-coalescence audit. It does not claim to solve arbitrary
|
|
18
19
|
> scientific prose, establish truth about nature from one simulator, or replace
|
|
19
20
|
> independent scientific review.
|
|
20
21
|
|
|
21
22
|
The project began as an autonomous conjecture-solving harness for computational
|
|
22
23
|
plasma physics. The same claim ledger, sandbox, commissioning rules, and
|
|
23
24
|
capability framework are now ready to extend to other simulation-gated fields
|
|
24
|
-
that have a sharp question and a checkable instrument.
|
|
25
|
-
both the origin domain and that generalization
|
|
25
|
+
that have a sharp question and a checkable instrument. The 0.3 preview records
|
|
26
|
+
both the origin domain and that generalization, and adds a fluid-MHD campaign
|
|
27
|
+
whose unresolved repair state is preserved rather than hidden.
|
|
26
28
|
|
|
27
29
|
## The core idea: AI low-hanging fruit
|
|
28
30
|
|
|
@@ -254,9 +256,9 @@ the human-first projection.
|
|
|
254
256
|
The v0.2.2 integration moves the model-facing research loop to DeepSeek Harness
|
|
255
257
|
without moving scientific authority out of Simjecture. DSH owns the provider,
|
|
256
258
|
conversation, retry policy, compaction, and resumable session. A native MCP
|
|
257
|
-
boundary implements
|
|
258
|
-
sees
|
|
259
|
-
Falsifier/Experimenter and Repair Scientist sessions. A separate fresh,
|
|
259
|
+
boundary implements 22 typed endpoints. A compact persistent Lead Scientist
|
|
260
|
+
sees seven coordination tools and delegates claim work to fresh, scoped
|
|
261
|
+
Falsifier/Experimenter, Blocker Resolver, and Repair Scientist sessions. A separate fresh,
|
|
260
262
|
tool-free Judge reviews surviving claims. The Python campaign kernel continues to own hypotheses,
|
|
261
263
|
evidence contracts, commissioning, skills, simulation capabilities, sandboxing,
|
|
262
264
|
provenance, and guarded claim closure. Existing WarpX CPU/CUDA capabilities use
|
|
@@ -307,6 +309,7 @@ process state or charging stopped-process downtime.
|
|
|
307
309
|
| Magnetic mirror and nonlinear Landau MVPs | Completed plasma research runs | Natural-language operation on origin-domain problems |
|
|
308
310
|
| Gray–Scott MVP | Completed research run | Same harness on a non-plasma, agent-authored instrument |
|
|
309
311
|
| [Collisionless GEM held-out campaign 0004](demos/collisionless_gem_reconnection/) | 12 fresh CUDA runs completed | Guided autonomous commissioning, execution, analysis, and guarded claim handling |
|
|
312
|
+
| [FLASH resistive-MHD island-coalescence audit](demos/resistive_mhd_island_coalescence/) | Root interval falsified; repair branch open | Actual guided FLASH fields, bounded root counterexample, and an honest unresolved child state |
|
|
310
313
|
|
|
311
314
|
Run 0004 produced a finite-sample point-estimate falsification of its operational
|
|
312
315
|
child claim, while its three-seed uncertainty interval still crossed the proposed
|
|
@@ -314,7 +317,7 @@ population threshold. The immutable root remained open. This is documented as a
|
|
|
314
317
|
real autonomous run and an example of why machine provenance does not remove the
|
|
315
318
|
need for independent scientific audit.
|
|
316
319
|
|
|
317
|
-
|
|
320
|
+
The 0.3 preview ships that harness. The next step is to use it: apply the same
|
|
318
321
|
claim ledger, sandbox, commissioning rules, and capability framework to more
|
|
319
322
|
simulation-gated problems, and hunt independently confirmed new results — a
|
|
320
323
|
compact law, a matched counterexample, or a scoped impossibility — in the
|
|
@@ -322,8 +325,10 @@ origin domain and beyond.
|
|
|
322
325
|
|
|
323
326
|
## Recorded autonomous demos
|
|
324
327
|
|
|
325
|
-
The repository includes
|
|
326
|
-
descriptions of past runs.
|
|
328
|
+
The repository includes three inspectable release demonstrations rather than
|
|
329
|
+
only descriptions of past runs. Gray–Scott and GEM are portable recorded
|
|
330
|
+
campaigns; the FLASH demo is an operator-dependent anchor plus a clearly
|
|
331
|
+
labelled audit extract because its repair branch did not close.
|
|
327
332
|
|
|
328
333
|
### Gray–Scott finite-domain counterexample
|
|
329
334
|
|
|
@@ -360,6 +365,24 @@ summaries, hash-addressed provenance for 482 original artifacts, and
|
|
|
360
365
|
representative final fields. See
|
|
361
366
|
[`demos/collisionless_gem_reconnection/`](demos/collisionless_gem_reconnection/).
|
|
362
367
|
|
|
368
|
+
### FLASH resistive-MHD island-coalescence audit
|
|
369
|
+
|
|
370
|
+
The FLASH demo starts from one natural-language Sweet–Parker-like scaling
|
|
371
|
+
hypothesis. Its actual guided anchor produces the HDF5 field states and
|
|
372
|
+
reconnection diagnostics used in the figures. A local six-hour autonomous
|
|
373
|
+
campaign falsified the specified root exponent interval (`p = -0.406453`,
|
|
374
|
+
95% CI `[-0.423266, -0.389641]`), then ran out of budget while a repaired
|
|
375
|
+
child remained open. The high-resolution child output and analyzer lineage did
|
|
376
|
+
not satisfy the final closure-eligibility rules, so the repository does not
|
|
377
|
+
call that branch verified.
|
|
378
|
+
|
|
379
|
+

|
|
380
|
+
|
|
381
|
+
See [`demos/resistive_mhd_island_coalescence/`](demos/resistive_mhd_island_coalescence/)
|
|
382
|
+
for the exact hypothesis, guided commissioning manifest, audit extract,
|
|
383
|
+
actual web capture, limitations, and figure-generation script. FLASH itself is
|
|
384
|
+
operator-supplied and is not redistributed.
|
|
385
|
+
|
|
363
386
|
Every campaign also exposes the built-in
|
|
364
387
|
[`scientific-markdown`](skills/scientific-markdown/SKILL.md) skill. It gives the
|
|
365
388
|
agent a common notation for equations, code identifiers, contracts, evidence
|
|
@@ -388,6 +411,29 @@ revision before invoking the existing build and openPMD probe.
|
|
|
388
411
|
See [`skills/warpx/SKILL.md`](skills/warpx/SKILL.md) and the deployment reference
|
|
389
412
|
in [`skills/warpx/references/local-cuda-deployment.md`](skills/warpx/references/local-cuda-deployment.md).
|
|
390
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
|
+
|
|
391
437
|
## Documentation
|
|
392
438
|
|
|
393
439
|
The curated documentation uses Sphinx, MyST Markdown, and the PyData Sphinx
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Third-party notices
|
|
2
|
+
|
|
3
|
+
Simjecture depends on separately distributed open-source
|
|
4
|
+
packages, including HTTPX, NumPy, Pydantic, and SciPy. Their licenses are
|
|
5
|
+
reported by the installed Python distributions and are not replaced by this
|
|
6
|
+
repository's Apache-2.0 license.
|
|
7
|
+
|
|
8
|
+
WarpX is an optional external simulation capability. The repository contains
|
|
9
|
+
integration guidance and independently authored launch and diagnostic code; it
|
|
10
|
+
does not relicense WarpX, its binaries, or its dependencies. Consult the WarpX
|
|
11
|
+
distribution for its license and required notices.
|
|
12
|
+
|
|
13
|
+
FLASH is an optional, separately obtained simulation capability. FLASH is not
|
|
14
|
+
distributed by this repository. Its upstream terms restrict redistribution and
|
|
15
|
+
describe separate commercial-use requirements. Operators must obtain FLASH
|
|
16
|
+
from the [official code-request page](https://flash.rochester.edu/site/flashcode/coderequest.html),
|
|
17
|
+
review the current license, and keep acquired source, modified source, and built
|
|
18
|
+
binaries outside this source distribution. Simjecture's `flash-mhd` skill and
|
|
19
|
+
capability metadata do not relicense FLASH.
|
|
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
|
+
|
|
28
|
+
Model providers, literature services, and externally supplied guided
|
|
29
|
+
commissioning packages are services or inputs rather than sublicensed parts of
|
|
30
|
+
this source distribution. Run artifacts must retain the provenance and license
|
|
31
|
+
information supplied by their generators.
|
|
@@ -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,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"environment": {
|
|
3
|
+
"FLASH_EXECUTABLE": "/opt/acs-capabilities/flash-island-coalescence-resistive-mhd-4.8/bin/flash4",
|
|
4
|
+
"FLASH_MPI_LAUNCHER": "/usr/bin/orterun",
|
|
5
|
+
"FLASH_MPI_RANKS": "4",
|
|
6
|
+
"FLASH_PREFLIGHT_PARFILE": "/opt/acs-capabilities/flash-island-coalescence-resistive-mhd-4.8/share/preflight/flash.par",
|
|
7
|
+
"OMPI_MCA_btl": "self,vader",
|
|
8
|
+
"OMPI_MCA_pml": "ob1",
|
|
9
|
+
"OMP_NUM_THREADS": "1",
|
|
10
|
+
"PYTHONDONTWRITEBYTECODE": "1",
|
|
11
|
+
"PYTHONPATH": "/opt/acs-capabilities/flash-island-coalescence-resistive-mhd-4.8/lib/python3.12/site-packages"
|
|
12
|
+
},
|
|
13
|
+
"executable": "bin/flash-python",
|
|
14
|
+
"identity_files": [
|
|
15
|
+
"bin/flash4",
|
|
16
|
+
"share/build-record.json",
|
|
17
|
+
"share/preflight/flash.par"
|
|
18
|
+
],
|
|
19
|
+
"manifest": {
|
|
20
|
+
"description": "Operator-supplied FLASH 4.8 MPI/HDF5 runtime compiled for a 2D compressible resistive-MHD island-coalescence application",
|
|
21
|
+
"executable_kind": "python-flash-application-mpi-hdf5",
|
|
22
|
+
"name": "flash-island-coalescence-resistive-mhd-4.8",
|
|
23
|
+
"preflight_checks": [
|
|
24
|
+
"checks.completed",
|
|
25
|
+
"checks.environment_valid",
|
|
26
|
+
"checks.executable_present",
|
|
27
|
+
"checks.mpi_launcher_present",
|
|
28
|
+
"checks.parameter_file_present",
|
|
29
|
+
"checks.parameter_file_copied",
|
|
30
|
+
"checks.process_completed",
|
|
31
|
+
"checks.return_code_zero",
|
|
32
|
+
"checks.hdf5_output_created",
|
|
33
|
+
"checks.hdf5_output_readable"
|
|
34
|
+
],
|
|
35
|
+
"preflight_resource": "examples/runtime_smoke.py",
|
|
36
|
+
"preflight_result": "flash_mhd_capability_smoke.json",
|
|
37
|
+
"schema_version": "0.1.0",
|
|
38
|
+
"skill": "flash-mhd",
|
|
39
|
+
"version": "4.8.local.1"
|
|
40
|
+
},
|
|
41
|
+
"runtime_root": "../.runtime/flash-island-coalescence-resistive-mhd-4.8"
|
|
42
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# Demonstrations
|
|
2
2
|
|
|
3
3
|
Release demonstrations are recorded scientific runs, not hand-written examples
|
|
4
|
-
that merely exercise an API.
|
|
4
|
+
that merely exercise an API. Portable recorded runs include the exact natural-
|
|
5
5
|
language input, durable claim ledger, transcript, final report, generated
|
|
6
6
|
programs, numerical outputs, provenance, and figures made from those outputs.
|
|
7
|
+
Operator-dependent demos state clearly which inputs are local and which claims
|
|
8
|
+
remain unresolved.
|
|
7
9
|
|
|
8
10
|
## Recorded autonomous runs
|
|
9
11
|
|
|
@@ -12,7 +14,13 @@ programs, numerical outputs, provenance, and figures made from those outputs.
|
|
|
12
14
|
campaign instruction, the agent authored a reaction-diffusion solver and
|
|
13
15
|
found a finite-domain counterexample in 23.8 minutes.
|
|
14
16
|
- [`collisionless_gem_reconnection/`](collisionless_gem_reconnection/) is the
|
|
15
|
-
primary plasma demo. From a validated non-evidentiary GEM starting instrument,
|
|
17
|
+
primary kinetic plasma demo. From a validated non-evidentiary GEM starting instrument,
|
|
16
18
|
the agent designed and executed a held-out 12-run CUDA ensemble, falsified its
|
|
17
19
|
operational child under a frozen rule, and correctly left the population root
|
|
18
20
|
open.
|
|
21
|
+
- [`resistive_mhd_island_coalescence/`](resistive_mhd_island_coalescence/) is the
|
|
22
|
+
fluid-plasma MHD demo. It bundles an operator-validated, non-evidentiary
|
|
23
|
+
FLASH anchor and an audit extract from a six-hour autonomous campaign. The
|
|
24
|
+
campaign falsified the specified root interval ($p \approx -0.406$), while
|
|
25
|
+
its repair branch remains explicitly open because the final analyzer lineage
|
|
26
|
+
was not closure-eligible.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
guided/anchor_run/
|