simjecture 0.2.2__tar.gz → 0.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {simjecture-0.2.2 → simjecture-0.3.0}/CHANGELOG.md +13 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/CITATION.cff +2 -2
- {simjecture-0.2.2 → simjecture-0.3.0}/PKG-INFO +36 -11
- {simjecture-0.2.2 → simjecture-0.3.0}/README.md +33 -10
- {simjecture-0.2.2 → simjecture-0.3.0}/THIRD_PARTY_NOTICES.md +8 -0
- simjecture-0.3.0/capabilities/flash-island-coalescence-resistive-mhd-4.8.json +42 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/README.md +10 -2
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/.gitignore +1 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/README.md +174 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/campaign_audit.json +64 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/campaign_instruction.txt +5 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/figures/README.md +20 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/figures/island_coalescence_evolution.png +0 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/figures/reconnection_layer_physics.png +0 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/figures/reconnection_microphysics_profiles.png +0 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/figures/scaling_law_discovery.png +0 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/figures/simjecture_web_dashboard.png +0 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/guided/anchor_validation.json +270 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/guided/island_coalescence.py +412 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/guided/operator_validation.json +36 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/guided_commission.json +49 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/hypothesis.txt +1 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/literature_basis.md +39 -0
- simjecture-0.3.0/demos/resistive_mhd_island_coalescence/plot_results.py +490 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/concepts/architecture.md +23 -6
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/concepts/evidence-and-claims.md +38 -8
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/conf.py +1 -1
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/getting-started/installation.md +22 -3
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/how-to/add-a-capability.md +6 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/how-to/deepseek-harness.md +21 -8
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/how-to/deploy-runtimes.md +27 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/how-to/guided-commissioning.md +7 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/reference/repository-map.md +1 -1
- {simjecture-0.2.2 → simjecture-0.3.0}/integrations/dsh/README.md +1 -1
- {simjecture-0.2.2 → simjecture-0.3.0}/integrations/dsh/adjudicator.js +79 -14
- {simjecture-0.2.2 → simjecture-0.3.0}/integrations/dsh/cordis.patch.yml +16 -4
- {simjecture-0.2.2 → simjecture-0.3.0}/integrations/dsh/job-waiter.js +42 -3
- {simjecture-0.2.2 → simjecture-0.3.0}/integrations/dsh/roles.js +525 -60
- {simjecture-0.2.2 → simjecture-0.3.0}/integrations/dsh/runner.js +15 -4
- {simjecture-0.2.2 → simjecture-0.3.0}/pyproject.toml +4 -1
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/MVPGuidedCommissioningSpec.schema.json +12 -0
- simjecture-0.3.0/skills/flash-mhd/SKILL.md +89 -0
- simjecture-0.3.0/skills/flash-mhd/agents/openai.yaml +4 -0
- simjecture-0.3.0/skills/flash-mhd/examples/runtime_smoke.py +214 -0
- simjecture-0.3.0/skills/flash-mhd/manifest.json +10 -0
- simjecture-0.3.0/skills/flash-mhd/references/execution-output.md +82 -0
- simjecture-0.3.0/skills/flash-mhd/references/local-deployment.md +59 -0
- simjecture-0.3.0/skills/flash-mhd/references/model-validity.md +63 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/SKILL.md +9 -0
- simjecture-0.3.0/skills/warpx/examples/openpmd_xz_reader.py +288 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/manifest.json +1 -1
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/references/diagnostics.md +58 -0
- simjecture-0.3.0/skills/warpx/references/hybrid-pic.md +117 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/__init__.py +1 -1
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/campaign_kernel.py +733 -116
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/cli.py +34 -3
- simjecture-0.3.0/src/conjecture_solver/corrective_audit.py +145 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/deployment.py +31 -5
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/kernel_worker.py +2 -2
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/mcp_schemas.py +130 -23
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/mcp_server.py +782 -47
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/mvp_agent.py +1329 -265
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/mvp_claims.py +324 -145
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/mvp_guidance.py +13 -2
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/mvp_launch.py +78 -12
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/mvp_monitor.py +167 -59
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/mvp_skills.py +59 -4
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/tui/screens.py +15 -2
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/application.py +1 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/app.js +23 -4
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_campaign_jobs.py +57 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_campaign_kernel.py +542 -24
- simjecture-0.3.0/tests/test_corrective_audit.py +87 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_deployment.py +31 -1
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_dsh_bundle.py +72 -2
- simjecture-0.3.0/tests/test_mcp_server.py +1321 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_mvp_agent.py +1113 -147
- simjecture-0.3.0/tests/test_mvp_claims.py +484 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_mvp_monitor.py +171 -6
- simjecture-0.3.0/tests/test_warpx_openpmd_xz.py +111 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_web.py +4 -2
- {simjecture-0.2.2 → simjecture-0.3.0}/uv.lock +58 -2
- 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.0}/.env.example +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/.gitattributes +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/.github/workflows/ci.yml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/.github/workflows/release.yml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/.gitignore +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/.readthedocs.yaml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/CONTRIBUTING.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/LICENSE +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/NOTICE +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/SECURITY.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/capabilities/warpx-cpu-26.07.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/capabilities/warpx-cuda-openpmd-26.07.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/README.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/campaign_instruction.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/guided/anchor_operator_validation.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/guided/gem_anchor_validation.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/guided/gem_collisionless.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_0002_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_0003_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/guided_commission.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/hypothesis.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/plot_results.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/artifact_provenance.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/claim_summary.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/guided_commissioning.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/hypothesis_ledger.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/literature_searches.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/mvp_manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/mvp_report.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/transcript.jsonl +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000012.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000013.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000019.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000020.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000026.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000027.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000032.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000033.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000037.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000041.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000042.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000043.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000049.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/analyze_ensemble.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/analyze_manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/commission_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/ensemble_result.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/diagnostic_overview.svg +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/final_fields.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/warpx_used_inputs +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/diagnostic_overview.svg +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/final_fields.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/warpx_used_inputs +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/design_pin.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/energy_reader.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fallback_solver_plan.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output_wb.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260902_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260903_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260904_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/gen_fixtures.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/guided/anchor_operator_validation.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_anchor_validation.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_collisionless.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0002_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0003_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_audit_summary.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/collisionless_gem_reconnection/verify_record.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/README.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/capture_tui.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/hypothesis.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/plot_results.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/README.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/artifact_provenance.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/claim_summary.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/hypothesis_ledger.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/mvp_manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/mvp_report.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/transcript.jsonl +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/analyze_results.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/calc_growth.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/linear_stability.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/mode_analysis.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/mode_analysis_results.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/pick_regime.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/regime_candidates.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/result_s1.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/result_s10.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/result_s10_dt025.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/result_s1_dt025.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/root_pattern_results.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p025.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p05.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p025.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p05.npz +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs_dt025.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs_root.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/simulation_results.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/simulation_results_dt025.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/record/workspace/turing_diagnostic.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/reproduce.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/demos/gray_scott_counterexample/verify_record.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/_static/demos/gem-ensemble-result.png +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/_static/demos/gem-reconnection-fields.png +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/_static/demos/gray-scott-completed-tui.svg +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/_static/demos/gray-scott-result.png +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/demos/collisionless-gem.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/demos/gray-scott.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/development/documentation.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/development/releasing.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/getting-started/first-run.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/getting-started/terminal-ui.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/getting-started/web-interface.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/index.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/reference/cli.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/requirements.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/research/limitations.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/research/next-steps.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/research/run-0004.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/docs/research/status.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/environments/warpx-cpu.yml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/integrations/dsh/context-elider.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/integrations/dsh/package.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/AIStrategyDraft.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ActionExecution.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ActionFailureRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/AttemptRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/BlindedSearchReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/BlindedSearchRequest.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/CampaignAction.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/CampaignActionGraph.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/CampaignActionState.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/CampaignBudget.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/CampaignCheckpoint.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/CampaignState.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/CandidateEvaluation.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/CandidateResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/CapabilityManifest.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/Claim.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/CollisionalityIntervention.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ControlDirective.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/DecisionRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/DiscoveryPackage.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/DispatchAttempt.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/DomainDiagnosisSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/DomainEvolutionSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/DomainPluginMetadata.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/DomainRunSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/DomainTemplateSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ExperimentSpec.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ExternalReceipt.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/FreshSeedIntervention.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/HumanIntervention.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/HypothesisNode.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/KineticSufficiencyDiscoveryPackage.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/KineticSufficiencyHypothesisInput.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/KineticSufficiencyResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/KineticSufficiencySolveResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/LifecycleEvent.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/MatchedPairFormalPredicate.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ModelCallProvenance.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/MultiActionCampaignReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/NormalizedResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/NumericalAssessment.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/NumericalDiagnostics.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/NumericalGate.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ObservablePrediction.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/OutboxIntent.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/PICCaseResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/PICConfig.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/PICConfirmationAttempt.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/PICConfirmationDesign.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/PICConfirmationReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/PICMixtureCaseResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/PICNumericalConfig.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/PICSufficiencyResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ParameterSpace.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ParticleStatisticsIntervention.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ProposalDraft.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ProposalRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ProposalRequest.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ProposalValidation.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ProposedToolCall.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/QualifiedWarpXCampaignPackage.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/QualifiedWarpXInstrument.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ReferenceQualification.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ResearchBudget.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ResearchCampaignReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ResearchConclusion.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ResearchDecision.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ResearchEvidencePolicy.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ResearchHypothesis.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ResearchObservation.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ResearchProblemContract.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ResearchRelation.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ResearchToolManifest.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/ResearchToolResult.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/RunEvidence.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/RunPlan.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/SearchStrategy.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/SheetThicknessIntervention.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/SubprocessResearchToolConfig.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/SymmetricMixtureCandidate.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXCalibrationPoint.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXCaseSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXCompiledCase.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXConfirmationAttempt.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXConfirmationDesign.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXConfirmationFailure.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXConfirmationReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXConfirmationResolution.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXExecutionProfile.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXNumericalConfig.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXPairSummary.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXPhysicalConfig.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXPhysicsQualificationRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXQualificationRecord.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/WarpXQualifiedScope.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/mvp/MVPAgentAction.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/mvp/MVPAgentReport.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/mvp/MVPClaim.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/schemas/mvp/MVPClaimLedger.schema.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/scripts/postprocess_warpx_case.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/scripts/probe_provider.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/scripts/propose_hypothesis.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/scripts/propose_search_strategy.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/scripts/qualify_warpx.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/scripts/qualify_warpx_physics.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/scripts/run_admitted_proposal.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/scripts/run_blinded_search.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/scripts/run_qualified_warpx_campaign.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/scripts/run_warpx_confirmation.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/scripts/run_warpx_pair.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/python-experiment/SKILL.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/python-experiment/manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/scientific-markdown/SKILL.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/scientific-markdown/agents/openai.yaml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/scientific-markdown/manifest.json +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/agents/openai.yaml +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/examples/implicit_em_smoke.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/examples/minimal_smoke.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/examples/openpmd_field_smoke.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/references/2d-xz-commissioning.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/references/cpu-launch-tuning.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/references/gpu-launch-tuning.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/references/local-cuda-deployment.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/references/numerical-risks.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/references/picmi-interface.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/references/resource-scaling.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/references/time-integration.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/scripts/benchmark_cpu_threads.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/scripts/benchmark_gpu.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/scripts/bootstrap_local_cuda.sh +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/scripts/probe_local_cuda.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/scripts/reduced_energy_budget.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/skills/warpx/scripts/run_local_cuda.sh +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/__main__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/action_handlers.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/adapters/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/adapters/base.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/adapters/fake.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/adapters/pic.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/adapters/warpx.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/autonomous_research.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/benchmarks/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/benchmarks/electrostatic_pic.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/benchmarks/kinetic_sufficiency.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/campaign.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/campaign_jobs.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/confirmation.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/control.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/discovery.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/domains/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/domains/base.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/domains/kinetic_sufficiency.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/dsh_engine.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/ledger.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/lifecycle.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/literature.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/llm.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/models.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/mvp_control.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/orchestration.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/outbox.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/parameters.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/presentation.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/proposals.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/research_tools.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/schema_export.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/search.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/semantics.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/tui/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/tui/app.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/tui/claim_views.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/warpx_analysis.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/warpx_campaign.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/warpx_confirmation.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/server.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/index.html +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/markdown.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/styles.css +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/vendor/LICENSE.dagre.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/vendor/LICENSE.dompurify.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/vendor/LICENSE.katex.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/vendor/LICENSE.marked.txt +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/vendor/README.md +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/vendor/dagre-2.0.0.min.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/vendor/dompurify-3.4.14.min.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/vendor/katex-0.18.4.min.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/vendor/katex-auto-render-0.18.4.min.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/src/conjecture_solver/web/static/vendor/marked-18.0.10.umd.js +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/__init__.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/fixtures/fake_warpx_runner.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_adapter.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_autonomous_research.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_benchmark.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_campaign.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_control.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_domain_plugins.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_dsh_engine.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_ledger.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_lifecycle.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_literature.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_llm.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_models.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_mvp_control.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_mvp_pause.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_mvp_status_watch.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_orchestration.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_outbox.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_parameters.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_pic.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_proposals.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_recorded_demo.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_schema_export.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_search.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_semantics.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_tui.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_tui_claim_views.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_warpx.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_warpx_analysis.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_warpx_campaign.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_warpx_qualification.py +0 -0
- {simjecture-0.2.2 → simjecture-0.3.0}/tests/test_warpx_reduced_energy.py +0 -0
|
@@ -4,6 +4,19 @@ This project follows semantic versioning. Dates use ISO 8601.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## 0.3.0 — 2026-08-27
|
|
8
|
+
|
|
9
|
+
- Added FLASH 4.8 2D compressible resistive-MHD application capability, commissioning protocol, and rank/timing calibrations.
|
|
10
|
+
- Added sealed directory inputs in execution sandbox with recursive deterministic manifest hashing and read-only container mounting.
|
|
11
|
+
- Clarified child claim evidence lineage and stale scientific execution binding protections.
|
|
12
|
+
- Added a FLASH 2D Resistive-MHD island-coalescence demonstration with figures
|
|
13
|
+
generated from the guided HDF5 anchor, a real Web UI capture, and an
|
|
14
|
+
explicitly labelled campaign audit. The root interval is falsified; the
|
|
15
|
+
repair branch remains open because its evidence lineage did not close.
|
|
16
|
+
- Added the `flash-demo` optional dependency for HDF5-backed figure
|
|
17
|
+
regeneration.
|
|
18
|
+
- Enhanced Web UI test suite with proxy isolation.
|
|
19
|
+
|
|
7
20
|
## 0.2.2 — 2026-08-24
|
|
8
21
|
|
|
9
22
|
- 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.0
|
|
6
|
+
date-released: 2026-08-27
|
|
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.0
|
|
4
4
|
Summary: Evidence-governed autonomous experimentation and falsification for computational science
|
|
5
5
|
Project-URL: Homepage, https://github.com/tomzhu0225/simjecture
|
|
6
6
|
Project-URL: Documentation, https://github.com/tomzhu0225/simjecture/tree/main/docs
|
|
@@ -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
|
|
@@ -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
|
|
@@ -10,6 +10,14 @@ integration guidance and independently authored launch and diagnostic code; it
|
|
|
10
10
|
does not relicense WarpX, its binaries, or its dependencies. Consult the WarpX
|
|
11
11
|
distribution for its license and required notices.
|
|
12
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
|
+
|
|
13
21
|
Model providers, literature services, and externally supplied guided
|
|
14
22
|
commissioning packages are services or inputs rather than sublicensed parts of
|
|
15
23
|
this source distribution. Run artifacts must retain the provenance and license
|
|
@@ -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
|
+
}
|
|
@@ -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/
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# Demonstration: 2D resistive-MHD island coalescence with FLASH
|
|
2
|
+
|
|
3
|
+
This demo has two deliberately separate layers:
|
|
4
|
+
|
|
5
|
+
1. a known-runnable, operator-validated FLASH 4.8 anchor used to commission an
|
|
6
|
+
instrument and make field figures; and
|
|
7
|
+
2. an audit extract from a local Simjecture/DeepSeek campaign that tested a
|
|
8
|
+
scaling hypothesis.
|
|
9
|
+
|
|
10
|
+
The anchor is not scientific evidence, and the campaign extract is not a
|
|
11
|
+
portable completed evidence record. The distinction is part of the demo: a
|
|
12
|
+
plausible simulation and a fitted curve are not, by themselves, a closed
|
|
13
|
+
scientific claim.
|
|
14
|
+
|
|
15
|
+

|
|
16
|
+
|
|
17
|
+
*Actual read-only browser capture of the local campaign after its six-hour
|
|
18
|
+
budget was exhausted. This is a UI projection, not scientific evidence.*
|
|
19
|
+
|
|
20
|
+
## Scientific question
|
|
21
|
+
|
|
22
|
+
The supplied root hypothesis asks whether the two-dimensional,
|
|
23
|
+
uniform-resistivity, compressible single-fluid MHD island-coalescence model
|
|
24
|
+
has one pre-plasmoid Sweet–Parker-like branch over the nominal control range
|
|
25
|
+
|
|
26
|
+
\[
|
|
27
|
+
S_\eta = 1/\eta \in [250,4000], \qquad
|
|
28
|
+
R \propto S_\eta^p, \qquad -0.60 \le p \le -0.40,
|
|
29
|
+
\]
|
|
30
|
+
|
|
31
|
+
with the inferred exponent persisting under a spatial-resolution refinement.
|
|
32
|
+
Here `S_eta` is a normalized inverse-resistivity control, not a dimensional
|
|
33
|
+
Lundquist number. The observable is the normalized reconnection rate defined
|
|
34
|
+
in the frozen campaign protocol; the fit uses only cases that reach the flux
|
|
35
|
+
window, resolve the sheet, remain pre-plasmoid, and pass the linearity check.
|
|
36
|
+
|
|
37
|
+
This is a statement about one explicitly bounded numerical model. A result
|
|
38
|
+
here is not a universal disproof of Sweet–Parker theory, and this FLASH
|
|
39
|
+
single-fluid capability cannot answer kinetic electron-scale questions.
|
|
40
|
+
|
|
41
|
+
## What is in the repository
|
|
42
|
+
|
|
43
|
+
| Path | Purpose |
|
|
44
|
+
| --- | --- |
|
|
45
|
+
| [`hypothesis.txt`](hypothesis.txt) | Exact natural-language root hypothesis |
|
|
46
|
+
| [`campaign_instruction.txt`](campaign_instruction.txt) | Operational constraints given to the autonomous campaign |
|
|
47
|
+
| [`guided/island_coalescence.py`](guided/island_coalescence.py) | Contained launcher and validator for the operator-supplied FLASH executable |
|
|
48
|
+
| [`guided_commission.json`](guided_commission.json) | Frozen guided-commission manifest and limitations |
|
|
49
|
+
| [`guided/anchor_validation.json`](guided/anchor_validation.json) | Checked-in validation summary; permanently non-evidentiary |
|
|
50
|
+
| [`guided/operator_validation.json`](guided/operator_validation.json) | Separate manufactured-solution/operator check; permanently non-evidentiary |
|
|
51
|
+
| [`campaign_audit.json`](campaign_audit.json) | Small, explicitly labelled extract of the local campaign results |
|
|
52
|
+
| [`plot_results.py`](plot_results.py) | Generates the field, profile, and scaling figures from real inputs |
|
|
53
|
+
| [`figures/README.md`](figures/README.md) | Figure provenance and capture notes |
|
|
54
|
+
|
|
55
|
+
The raw `guided/anchor_run/` directory is ignored by Git because FLASH output
|
|
56
|
+
is large and depends on the operator's installation. Run the anchor locally,
|
|
57
|
+
then run `plot_results.py` to regenerate the first three figures. The
|
|
58
|
+
dashboard image is a captured view of the actual local record; it is not a
|
|
59
|
+
mock-up.
|
|
60
|
+
|
|
61
|
+
## Guided FLASH anchor
|
|
62
|
+
|
|
63
|
+
The bundled manifest records the exact validated starting command. In its
|
|
64
|
+
realized run it used:
|
|
65
|
+
|
|
66
|
+
| Quantity | Realized value |
|
|
67
|
+
| --- | --- |
|
|
68
|
+
| Model | 2D compressible single-fluid resistive MHD |
|
|
69
|
+
| Resistivity | explicit, uniform, `eta = 0.001` |
|
|
70
|
+
| Nominal control | `S_eta = 1000` |
|
|
71
|
+
| Grid | `128 x 128` |
|
|
72
|
+
| MPI layout | 4 ranks (`2 x 2`) |
|
|
73
|
+
| End time | `tmax = 1.2` |
|
|
74
|
+
| Plot states | 24 HDF5 files |
|
|
75
|
+
| Flux window | `psi_rec = 0.01` to `0.05` reached |
|
|
76
|
+
| Maximum recorded `|div B|` | `9.36e-13` |
|
|
77
|
+
| Anchor status | `permanently_non_evidentiary` |
|
|
78
|
+
|
|
79
|
+
The anchor demonstrates that the supplied capability can run, write readable
|
|
80
|
+
states, expose the requested resistive path, and produce the declared
|
|
81
|
+
diagnostics. It does not establish a scaling, convergence, or physical law.
|
|
82
|
+
|
|
83
|
+
The operator must obtain and build FLASH under its upstream license. No FLASH
|
|
84
|
+
source, binary, or modification is redistributed here. Set the launcher and
|
|
85
|
+
executable explicitly, then run the contained program from the repository
|
|
86
|
+
root:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
uv sync --extra flash-demo
|
|
90
|
+
|
|
91
|
+
export FLASH_EXECUTABLE=/path/to/flash4
|
|
92
|
+
export FLASH_MPI_LAUNCHER=/path/to/orterun
|
|
93
|
+
|
|
94
|
+
uv run python demos/resistive_mhd_island_coalescence/guided/island_coalescence.py \
|
|
95
|
+
--eta 0.001 --nx 128 --ny 128 --alpha 20 --tmax 1.2 \
|
|
96
|
+
--plot-interval 0.05 --ranks 4 --iprocs 2 --jprocs 2 \
|
|
97
|
+
--output demos/resistive_mhd_island_coalescence/guided/anchor_run \
|
|
98
|
+
--summary demos/resistive_mhd_island_coalescence/guided/anchor_validation.json \
|
|
99
|
+
--overwrite
|
|
100
|
+
|
|
101
|
+
uv run python demos/resistive_mhd_island_coalescence/plot_results.py
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
The command rewrites only the marked anchor directory. The validation summary
|
|
105
|
+
records the executable and parameter-file hashes so the operator can audit
|
|
106
|
+
which local FLASH build produced the states.
|
|
107
|
+
|
|
108
|
+
## What the autonomous campaign actually established
|
|
109
|
+
|
|
110
|
+
The local campaign record is
|
|
111
|
+
`artifacts/resistive-mhd-island-coalescence-dsh-0001`. It ended with
|
|
112
|
+
`status=budget_exhausted` after six hours and 328 model turns. The durable
|
|
113
|
+
claim ledger, rather than the model's prose, is authoritative.
|
|
114
|
+
|
|
115
|
+
| Branch | Fresh-data result | Durable disposition |
|
|
116
|
+
| --- | --- | --- |
|
|
117
|
+
| `claim_root` | Six `256²` cases gave `p = -0.406453`; 95% CI `[-0.423266, -0.389641]`, whose upper edge is above `-0.40` | **Falsified** for the stated bounded root claim |
|
|
118
|
+
| Root refinement | The `S_eta=250`, `512²` context point gave a refined fit `p = -0.396338`; CI `[-0.403641, -0.389034]` | Context for the root branch; not evidence for the repair |
|
|
119
|
+
| `claim_repair_root_v1` | Audit fit over five `256²` cases plus the actual `S_eta=350`, `512²` run gave `p = -0.390961`; CI `[-0.408482, -0.373440]` | **Open**, not supported or falsified |
|
|
120
|
+
|
|
121
|
+
The root counterexample is meaningful: it rejects the particular exponent
|
|
122
|
+
interval in the particular model and protocol. The repair line is shown so a
|
|
123
|
+
reader can see what the campaign explored, not to claim a second discovery.
|
|
124
|
+
The original child contract requested a `S_eta=2000` refinement; the executed
|
|
125
|
+
high-resolution run was instead `S_eta=350`. In addition, the analyzer/fit
|
|
126
|
+
inputs did not pass the final sealed-input coverage check. Because the evidence
|
|
127
|
+
lineage was not closure-eligible, the harness correctly left the repair claim
|
|
128
|
+
open rather than promoting a curve to a verdict.
|
|
129
|
+
|
|
130
|
+
## Figures
|
|
131
|
+
|
|
132
|
+
The field and profile figures are generated from the actual guided anchor:
|
|
133
|
+
|
|
134
|
+
- [`island_coalescence_evolution.png`](figures/island_coalescence_evolution.png)
|
|
135
|
+
shows four HDF5 states at the nearest recorded times to `0`, `0.35`, `0.70`,
|
|
136
|
+
and the final state, with `J_z`, magnetic-flux contours, and field lines.
|
|
137
|
+
- [`reconnection_layer_physics.png`](figures/reconnection_layer_physics.png)
|
|
138
|
+
shows `J_z`, density/pressure contours, and velocity at the recorded state
|
|
139
|
+
nearest `t=0.70`.
|
|
140
|
+
- [`reconnection_microphysics_profiles.png`](figures/reconnection_microphysics_profiles.png)
|
|
141
|
+
shows centerline cuts and the recorded flux-window/divergence history.
|
|
142
|
+
|
|
143
|
+
[`scaling_law_discovery.png`](figures/scaling_law_discovery.png) uses only the
|
|
144
|
+
checked-in audit extract. It is labelled as an audit view and leaves the
|
|
145
|
+
repair branch open. [`simjecture_web_dashboard.png`](figures/simjecture_web_dashboard.png)
|
|
146
|
+
is the actual browser capture described above.
|
|
147
|
+
|
|
148
|
+
## Launching a fresh campaign
|
|
149
|
+
|
|
150
|
+
After installing and commissioning FLASH on the local machine, a fresh
|
|
151
|
+
campaign can start from the same natural-language inputs:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
uv run simjecture mvp \
|
|
155
|
+
--hypothesis-file demos/resistive_mhd_island_coalescence/hypothesis.txt \
|
|
156
|
+
--instruction-file demos/resistive_mhd_island_coalescence/campaign_instruction.txt \
|
|
157
|
+
--guided-commission demos/resistive_mhd_island_coalescence/guided_commission.json \
|
|
158
|
+
--output artifacts/my-resistive-mhd-campaign
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Do not reuse the audit extract as evidence. Let the new campaign register and
|
|
162
|
+
commission its simulator and analyzer prospectively, freeze its contracts,
|
|
163
|
+
collect fresh outputs, and leave any unresolved branch explicitly open.
|
|
164
|
+
|
|
165
|
+
To inspect the local campaign shown in the screenshot without starting work:
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
uv run simjecture status artifacts/resistive-mhd-island-coalescence-dsh-0001
|
|
169
|
+
uv run simjecture web artifacts/resistive-mhd-island-coalescence-dsh-0001 \
|
|
170
|
+
--read-only --port 8080
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
The web page is a projection of the durable ledger and activity record. It
|
|
174
|
+
does not turn the anchor, a plot, or model prose into scientific evidence.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "0.1.0",
|
|
3
|
+
"source_campaign": "artifacts/resistive-mhd-island-coalescence-dsh-0001",
|
|
4
|
+
"captured": "2026-08-27",
|
|
5
|
+
"evidence_scope": "Local campaign audit extract. The source campaign is not bundled as a portable evidence record; these values must not be presented as a completed repair-claim verdict.",
|
|
6
|
+
"root": {
|
|
7
|
+
"claim_id": "claim_root",
|
|
8
|
+
"status": "falsified",
|
|
9
|
+
"target_interval": [-0.6, -0.4],
|
|
10
|
+
"fit": {
|
|
11
|
+
"p_hat": -0.4064533957316092,
|
|
12
|
+
"se_p": 0.006055359125627794,
|
|
13
|
+
"ci_95": [-0.4232657679361733, -0.3896410235270451],
|
|
14
|
+
"r2": 0.9991129810655915,
|
|
15
|
+
"intercept": 0.9697318186784727,
|
|
16
|
+
"n_admissible": 6,
|
|
17
|
+
"monotone_decreasing": true
|
|
18
|
+
},
|
|
19
|
+
"points": [
|
|
20
|
+
{"S_eta": 250.0, "R": 1.0055860377519663, "grid": "256^2"},
|
|
21
|
+
{"S_eta": 500.0, "R": 0.7335448454536055, "grid": "256^2"},
|
|
22
|
+
{"S_eta": 1000.0, "R": 0.5554766682737228, "grid": "256^2"},
|
|
23
|
+
{"S_eta": 2000.0, "R": 0.4269267651466941, "grid": "256^2"},
|
|
24
|
+
{"S_eta": 3000.0, "R": 0.3633705282435853, "grid": "256^2"},
|
|
25
|
+
{"S_eta": 4000.0, "R": 0.3199539126743645, "grid": "256^2"}
|
|
26
|
+
],
|
|
27
|
+
"interpretation": "The specified root interval is falsified because the reported 95% CI upper edge is above -0.40. This does not falsify Sweet-Parker theory in every model or regime."
|
|
28
|
+
},
|
|
29
|
+
"root_refinement": {
|
|
30
|
+
"claim_id": "claim_root",
|
|
31
|
+
"point": {"S_eta": 250.0, "R": 0.9686217845871428, "grid": "512^2"},
|
|
32
|
+
"fit": {
|
|
33
|
+
"p_hat": -0.39633754634829954,
|
|
34
|
+
"ci_95": [-0.40364136057113054, -0.38903373212546855],
|
|
35
|
+
"r2": 0.9998238128264716,
|
|
36
|
+
"intercept": 0.9358690223291068
|
|
37
|
+
},
|
|
38
|
+
"status": "context_only"
|
|
39
|
+
},
|
|
40
|
+
"repair": {
|
|
41
|
+
"claim_id": "claim_repair_root_v1",
|
|
42
|
+
"status": "open",
|
|
43
|
+
"target_interval": [-0.45, -0.38],
|
|
44
|
+
"fit": {
|
|
45
|
+
"p_hat": -0.39096097505035926,
|
|
46
|
+
"se_p": 0.006310481006347127,
|
|
47
|
+
"ci_95": [-0.4084816791518754, -0.37344027094884313],
|
|
48
|
+
"r2": 0.9989589639973915,
|
|
49
|
+
"intercept": 0.9190215471081571,
|
|
50
|
+
"n_admissible": 6,
|
|
51
|
+
"monotone_decreasing": true
|
|
52
|
+
},
|
|
53
|
+
"points": [
|
|
54
|
+
{"S_eta": 350.0, "R": 0.8564877202380711, "grid": "256^2"},
|
|
55
|
+
{"S_eta": 700.0, "R": 0.6387669908427052, "grid": "256^2"},
|
|
56
|
+
{"S_eta": 1500.0, "R": 0.47600759335915516, "grid": "256^2"},
|
|
57
|
+
{"S_eta": 2500.0, "R": 0.3921255150893602, "grid": "256^2"},
|
|
58
|
+
{"S_eta": 3500.0, "R": 0.33977281131345066, "grid": "256^2"},
|
|
59
|
+
{"S_eta": 350.0, "R": 0.8250326717167455, "grid": "512^2", "label": "actual refinement run"}
|
|
60
|
+
],
|
|
61
|
+
"evidence_eligible": false,
|
|
62
|
+
"reason": "The executed 512^2 run was S_eta=350 rather than the original S_eta=2000 child contract, and the downstream analyzer/fit lineage did not pass the sealed-input coverage check. The durable campaign therefore stopped at budget exhaustion without a repair verdict."
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
Begin from the supplied guided FLASH commissioning package. Search the primary literature when network search is available, then decide the prospective scientific protocol autonomously. The supplied anchor, manufactured-solution record, literature notes, and every reported number in them are permanently non-evidentiary context; they may establish that an instrument is usable but cannot support or falsify the root hypothesis.
|
|
2
|
+
|
|
3
|
+
Before collecting claim-bearing outputs, define the actual observable, normalization, fit rule, admissible current-sheet regime, plasmoid or topology diagnostic, refinement policy, and decision thresholds. Register and commission every simulator and downstream analyzer as an instrument claim under the scientific claim it serves. Freeze exact commands and analysis before fresh outcomes. Use enough distinct resistivities to identify a scaling rather than a two-point contrast, and distinguish a physical/model boundary from numerical under-resolution or an insufficient observation window.
|
|
4
|
+
|
|
5
|
+
The FLASH capability is a two-dimensional compressible single-fluid resistive-MHD application. It is appropriate for testing the classical collisional branch but cannot decide kinetic electron-scale physics. Other installed capabilities, including WarpX, are lateral instruments rather than mandatory steps: select one only when the active claim requires its closure and it can be commissioned prospectively. If the root is falsified, formulate the smallest scientifically meaningful sub-hypothesis whose domain or mechanism contains the counterexample, state a new falsifiable prediction, and challenge it with fresh evidence. Continue without asking the operator to choose parameters, and finish with a bounded supported, falsified, or honestly unresolved conclusion.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Figure provenance
|
|
2
|
+
|
|
3
|
+
The field and profile figures are generated by
|
|
4
|
+
[`../plot_results.py`](../plot_results.py) from the HDF5 states produced by
|
|
5
|
+
the guided FLASH anchor in `guided/anchor_run/` and the checked-in
|
|
6
|
+
`guided/anchor_validation.json`. That output is intentionally ignored by Git
|
|
7
|
+
and is permanently non-evidentiary; users can recreate it after running the
|
|
8
|
+
guided command in the demo README.
|
|
9
|
+
|
|
10
|
+
`scaling_law_discovery.png` is generated from the checked-in
|
|
11
|
+
[`../campaign_audit.json`](../campaign_audit.json). It is an audit extract of
|
|
12
|
+
the local campaign, not a portable evidence record. It shows the valid root
|
|
13
|
+
falsification and explicitly leaves the repair branch open.
|
|
14
|
+
|
|
15
|
+
`simjecture_web_dashboard.png` is an actual read-only browser capture of the
|
|
16
|
+
local campaign record at
|
|
17
|
+
`artifacts/resistive-mhd-island-coalescence-dsh-0001`, captured on 2026-08-27
|
|
18
|
+
from `simjecture web ... --read-only`. It is a UI view, not scientific
|
|
19
|
+
evidence. The capture includes the durable claim graph, execution monitor, and
|
|
20
|
+
budget-exhausted state visible at capture time.
|
simjecture-0.3.0/demos/resistive_mhd_island_coalescence/figures/island_coalescence_evolution.png
ADDED
|
Binary file
|
simjecture-0.3.0/demos/resistive_mhd_island_coalescence/figures/reconnection_layer_physics.png
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|