simjecture 0.4.0__tar.gz → 0.5.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.4.0 → simjecture-0.5.0}/CHANGELOG.md +16 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/CITATION.cff +2 -2
- {simjecture-0.4.0 → simjecture-0.5.0}/PKG-INFO +21 -4
- {simjecture-0.4.0 → simjecture-0.5.0}/README.md +20 -3
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/conf.py +1 -1
- simjecture-0.5.0/docs/getting-started/first-run.md +68 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/getting-started/installation.md +9 -1
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/getting-started/web-interface.md +9 -1
- simjecture-0.5.0/docs/how-to/research-service.md +138 -0
- simjecture-0.5.0/docs/how-to/simote-agent-roles.md +279 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/index.md +2 -1
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/reference/cli.md +13 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/cordis.patch.yml +4 -3
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/package-lock.json +2 -2
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/package.json +1 -1
- simjecture-0.5.0/packaging/launch/INSTALL.md +66 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/packaging/launch/launch.sh +1 -1
- {simjecture-0.4.0 → simjecture-0.5.0}/packaging/launch/setup.sh +10 -4
- {simjecture-0.4.0 → simjecture-0.5.0}/pyproject.toml +3 -1
- simjecture-0.5.0/research/evaluations/frontier-workflow/DESIGN.md +82 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/PLAIN-BASELINE-PLAN.md +25 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/PLAN.md +48 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/PROMPT-RESULTS.md +81 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/RESULTS.md +103 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/TOKEN-REPEAT-PLAN.md +25 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/TOKEN-RESULTS.md +35 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/accounted_codex_glm.py +11 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/client-probe-results.json +29 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/collect.py +188 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/original-recovered-token-usage.json +658 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/path-regression-results.json +57 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/pilot-results.json +828 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/plain-baseline-results.json +224 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/prompt-audit.json +288 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/run_pilot.py +218 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/token-repeat-provenance.json +50 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/token-repeat-results.json +781 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/token-repeat-usage.json +637 -0
- simjecture-0.5.0/research/evaluations/frontier-workflow/token_usage.py +191 -0
- simjecture-0.5.0/research/evaluations/minimal-default/DESIGN.md +69 -0
- simjecture-0.5.0/research/evaluations/minimal-default/RESULTS.md +101 -0
- simjecture-0.5.0/research/evaluations/minimal-default/export_results.py +70 -0
- simjecture-0.5.0/research/evaluations/minimal-default/measurements.json +271 -0
- simjecture-0.5.0/research/evaluations/release-0.5.0/RESULTS.md +114 -0
- simjecture-0.5.0/research/evaluations/release-0.5.0/export_results.py +87 -0
- simjecture-0.5.0/research/evaluations/release-0.5.0/measurements.json +362 -0
- simjecture-0.5.0/research/evaluations/research-service-v2/PLAN.md +59 -0
- simjecture-0.5.0/research/evaluations/research-service-v2/RESULTS.md +174 -0
- simjecture-0.5.0/research/evaluations/research-service-v2/assets/flash_case.py +158 -0
- simjecture-0.5.0/research/evaluations/research-service-v2/assets/plasma-hypothesis.txt +1 -0
- simjecture-0.5.0/research/evaluations/research-service-v2/assets/plasma-protocol.md +78 -0
- simjecture-0.5.0/research/evaluations/research-service-v2/evaluate_plasma.py +257 -0
- simjecture-0.5.0/research/evaluations/research-service-v2/export_results.py +99 -0
- simjecture-0.5.0/research/evaluations/research-service-v2/grade.py +305 -0
- simjecture-0.5.0/research/evaluations/research-service-v2/measurements.json +1466 -0
- simjecture-0.5.0/research/evaluations/research-service-v2/plasma_reference.py +173 -0
- simjecture-0.5.0/research/evaluations/research-service-v2/run_matrix.py +297 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/build_launch_package.py +13 -1
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/__init__.py +1 -1
- simjecture-0.5.0/src/conjecture_solver/agent_supervisor.py +915 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/campaign_kernel.py +47 -42
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/cli.py +12 -1
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/dsh_engine.py +46 -10
- simjecture-0.5.0/src/conjecture_solver/evidence_paths.py +34 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/mvp_agent.py +80 -41
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/mvp_claims.py +11 -12
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/mvp_launch.py +73 -90
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/mvp_monitor.py +22 -11
- simjecture-0.5.0/src/conjecture_solver/research_client.py +133 -0
- simjecture-0.5.0/src/conjecture_solver/research_service.py +693 -0
- simjecture-0.5.0/src/conjecture_solver/research_supervisor.py +270 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/role_assignments.py +12 -3
- simjecture-0.5.0/src/conjecture_solver/scientific_review.py +203 -0
- simjecture-0.5.0/src/conjecture_solver/study.py +215 -0
- simjecture-0.5.0/src/conjecture_solver/study_launch.py +163 -0
- simjecture-0.5.0/src/conjecture_solver/study_status.py +391 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/tui/screens.py +72 -39
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/application.py +103 -14
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/app.js +48 -3
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/index.html +24 -2
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/styles.css +7 -0
- simjecture-0.5.0/tests/test_agent_supervisor.py +318 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_campaign_kernel.py +20 -9
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_dsh_bundle.py +1 -1
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_dsh_engine.py +20 -1
- simjecture-0.5.0/tests/test_frontier_token_usage.py +106 -0
- simjecture-0.5.0/tests/test_frontier_workflow.py +132 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_mvp_agent.py +30 -32
- simjecture-0.5.0/tests/test_research_client.py +131 -0
- simjecture-0.5.0/tests/test_research_service.py +420 -0
- simjecture-0.5.0/tests/test_scientific_review.py +172 -0
- simjecture-0.5.0/tests/test_study.py +70 -0
- simjecture-0.5.0/tests/test_study_interface.py +288 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_tui.py +3 -1
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_web.py +5 -1
- {simjecture-0.4.0 → simjecture-0.5.0}/uv.lock +1 -1
- simjecture-0.4.0/docs/getting-started/first-run.md +0 -76
- simjecture-0.4.0/docs/how-to/simote-agent-roles.md +0 -131
- simjecture-0.4.0/packaging/launch/INSTALL.md +0 -49
- {simjecture-0.4.0 → simjecture-0.5.0}/.env.example +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/.gitattributes +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/.github/workflows/ci.yml +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/.github/workflows/release.yml +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/.gitignore +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/.readthedocs.yaml +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/CONTRIBUTING.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/LICENSE +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/NOTICE +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/SECURITY.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/THIRD_PARTY_NOTICES.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/capabilities/atomec-1.4.0.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/capabilities/flash-island-coalescence-resistive-mhd-4.8.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/capabilities/m-aneos-1.0.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/capabilities/optab-1.3.1.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/capabilities/singularity-eos-1.12.1.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/capabilities/warpx-cpu-26.07.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/capabilities/warpx-cuda-openpmd-26.07.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/README.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/README.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/artifact_provenance.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/hypothesis_ledger.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/mvp_manifest.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/mvp_report.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/artifacts/commission_binary64_ops.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/artifacts/commission_series_round_002.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/artifacts/commission_series_round_003.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/artifacts/euler_bound_002_prospective.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/artifacts/euler_ten_step_error.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/scripts/commission_binary64_ops.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/scripts/commission_series_round_002.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/scripts/commission_series_round_003.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/scripts/euler_bound_002_prospective.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/scripts/euler_ten_step_error.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/sha256.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/validation.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/agent_roles_validation/verify_record.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/README.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/campaign_instruction.txt +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/anchor_operator_validation.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/gem_anchor_validation.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/gem_collisionless.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_0002_audit_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_0003_audit_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_audit_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided_commission.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/hypothesis.txt +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/plot_results.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/artifact_provenance.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/claim_summary.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/guided_commissioning.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/hypothesis_ledger.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/literature_searches.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/mvp_manifest.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/mvp_report.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/transcript.jsonl +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000012.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000013.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000019.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000020.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000026.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000027.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000032.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000033.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000037.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000041.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000042.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000043.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000049.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/analyze_ensemble.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/analyze_manifest.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/commission_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/ensemble_result.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/diagnostic_overview.svg +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/final_fields.npz +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/warpx_used_inputs +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/diagnostic_overview.svg +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/final_fields.npz +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/warpx_used_inputs +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260902_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260903_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260904_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260902_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260903_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260904_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260902_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260903_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260904_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260902_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260903_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260904_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/design_pin.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/energy_reader.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fallback_solver_plan.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_manifest.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output_wb.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260902_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260903_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260904_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260902_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260903_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260904_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260902_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260903_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260904_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260902_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260903_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260904_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/gen_fixtures.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/anchor_operator_validation.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_anchor_validation.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_collisionless.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0002_audit_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0003_audit_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_audit_summary.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/verify_record.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/README.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/capture_tui.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/hypothesis.txt +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/plot_results.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/README.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/artifact_provenance.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/claim_summary.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/hypothesis_ledger.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/mvp_manifest.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/mvp_report.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/transcript.jsonl +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/analyze_results.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/calc_growth.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/linear_stability.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/mode_analysis.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/mode_analysis_results.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/pick_regime.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/regime_candidates.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/result_s1.npz +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/result_s10.npz +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/result_s10_dt025.npz +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/result_s1_dt025.npz +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/root_pattern_results.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p025.npz +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p05.npz +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p025.npz +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p05.npz +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs_dt025.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs_root.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/simulation_results.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/simulation_results_dt025.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/turing_diagnostic.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/reproduce.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/gray_scott_counterexample/verify_record.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/.gitignore +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/README.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/campaign_audit.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/campaign_instruction.txt +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/README.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/island_coalescence_evolution.png +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/reconnection_layer_physics.png +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/reconnection_microphysics_profiles.png +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/scaling_law_discovery.png +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/simjecture_web_dashboard.png +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/guided/anchor_validation.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/guided/island_coalescence.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/guided/operator_validation.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/guided_commission.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/hypothesis.txt +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/literature_basis.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/plot_results.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/_static/demos/gem-ensemble-result.png +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/_static/demos/gem-reconnection-fields.png +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/_static/demos/gray-scott-completed-tui.svg +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/_static/demos/gray-scott-result.png +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/concepts/architecture.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/concepts/evidence-and-claims.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/demos/collisionless-gem.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/demos/gray-scott.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/development/documentation.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/development/releasing.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/getting-started/terminal-ui.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/how-to/add-a-capability.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/how-to/deepseek-harness.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/how-to/deploy-runtimes.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/how-to/dsh-upgrade-assessment.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/how-to/guided-commissioning.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/reference/repository-map.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/requirements.txt +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/research/limitations.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/research/next-steps.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/research/run-0004.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/docs/research/status.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/environments/warpx-cpu.yml +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/README.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/adjudicator.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/context-elider.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/job-waiter.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/research-tools.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/roles.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/runner.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/tests/jobs.test.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/tests/profile-model.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/tests/profile.test.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/tests/roles.test.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/tests/runtime.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/integrations/dsh/tests/session.test.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/AIStrategyDraft.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ActionExecution.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ActionFailureRecord.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/AttemptRecord.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/BlindedSearchReport.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/BlindedSearchRequest.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/CampaignAction.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/CampaignActionGraph.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/CampaignActionState.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/CampaignBudget.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/CampaignCheckpoint.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/CampaignState.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/CandidateEvaluation.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/CandidateResult.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/CapabilityManifest.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/Claim.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/CollisionalityIntervention.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ControlDirective.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/DecisionRecord.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/DiscoveryPackage.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/DispatchAttempt.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/DomainDiagnosisSummary.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/DomainEvolutionSummary.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/DomainPluginMetadata.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/DomainRunSummary.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/DomainTemplateSummary.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ExperimentSpec.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ExternalReceipt.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/FreshSeedIntervention.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/HumanIntervention.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/HypothesisNode.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/KineticSufficiencyDiscoveryPackage.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/KineticSufficiencyHypothesisInput.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/KineticSufficiencyResult.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/KineticSufficiencySolveResult.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/LifecycleEvent.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/MVPGuidedCommissioningSpec.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/MatchedPairFormalPredicate.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ModelCallProvenance.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/MultiActionCampaignReport.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/NormalizedResult.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/NumericalAssessment.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/NumericalDiagnostics.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/NumericalGate.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ObservablePrediction.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/OutboxIntent.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/PICCaseResult.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/PICConfig.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/PICConfirmationAttempt.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/PICConfirmationDesign.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/PICConfirmationReport.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/PICMixtureCaseResult.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/PICNumericalConfig.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/PICSufficiencyResult.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ParameterSpace.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ParticleStatisticsIntervention.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ProposalDraft.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ProposalRecord.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ProposalRequest.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ProposalValidation.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ProposedToolCall.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/QualifiedWarpXCampaignPackage.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/QualifiedWarpXInstrument.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ReferenceQualification.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ResearchBudget.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ResearchCampaignReport.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ResearchConclusion.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ResearchDecision.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ResearchEvidencePolicy.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ResearchHypothesis.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ResearchObservation.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ResearchProblemContract.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ResearchRelation.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ResearchToolManifest.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/ResearchToolResult.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/RunEvidence.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/RunPlan.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/SearchStrategy.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/SheetThicknessIntervention.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/SubprocessResearchToolConfig.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/SymmetricMixtureCandidate.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXCalibrationPoint.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXCaseSummary.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXCompiledCase.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXConfirmationAttempt.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXConfirmationDesign.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXConfirmationFailure.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXConfirmationReport.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXConfirmationResolution.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXExecutionProfile.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXNumericalConfig.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXPairSummary.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXPhysicalConfig.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXPhysicsQualificationRecord.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXQualificationRecord.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/WarpXQualifiedScope.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/mvp/MVPAgentAction.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/mvp/MVPAgentReport.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/mvp/MVPClaim.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/schemas/mvp/MVPClaimLedger.schema.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/postprocess_warpx_case.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/probe_provider.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/propose_hypothesis.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/propose_search_strategy.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/qualify_warpx.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/qualify_warpx_physics.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/run_admitted_proposal.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/run_blinded_search.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/run_qualified_warpx_campaign.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/run_warpx_confirmation.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/scripts/run_warpx_pair.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/SKILL.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/agents/openai.yaml +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/examples/atomec_runtime_smoke.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/examples/maneos_runtime_smoke.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/examples/singularity_runtime_smoke.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/manifest.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/references/execution-output.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/references/local-deployment.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/scripts/bootstrap_atomec.sh +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/scripts/bootstrap_maneos.sh +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/scripts/bootstrap_singularity_eos.sh +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/scripts/maneos_query.f90 +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/eos/scripts/singularity_query.cpp +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/flash-mhd/SKILL.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/flash-mhd/agents/openai.yaml +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/flash-mhd/examples/runtime_smoke.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/flash-mhd/manifest.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/flash-mhd/references/execution-output.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/flash-mhd/references/local-deployment.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/flash-mhd/references/model-validity.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/flash-mhd/references/private-install.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/flash-mhd/scripts/bootstrap_flash.sh +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/opacity/SKILL.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/opacity/agents/openai.yaml +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/opacity/examples/optab_runtime_smoke.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/opacity/manifest.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/opacity/references/execution-output.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/opacity/references/local-deployment.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/opacity/scripts/bootstrap_optab.sh +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/opacity/scripts/write_optab_preflight.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/python-experiment/SKILL.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/python-experiment/manifest.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/scientific-markdown/SKILL.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/scientific-markdown/agents/openai.yaml +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/scientific-markdown/manifest.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/SKILL.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/agents/openai.yaml +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/examples/implicit_em_smoke.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/examples/minimal_smoke.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/examples/openpmd_field_smoke.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/examples/openpmd_xz_reader.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/manifest.json +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/references/2d-xz-commissioning.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/references/cpu-launch-tuning.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/references/diagnostics.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/references/gpu-launch-tuning.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/references/hybrid-pic.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/references/local-cuda-deployment.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/references/numerical-risks.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/references/picmi-interface.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/references/resource-scaling.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/references/time-integration.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/scripts/benchmark_cpu_threads.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/scripts/benchmark_gpu.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/scripts/bootstrap_local_cuda.sh +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/scripts/probe_local_cuda.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/scripts/reduced_energy_budget.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/skills/warpx/scripts/run_local_cuda.sh +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/__main__.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/action_handlers.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/adapters/__init__.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/adapters/base.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/adapters/fake.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/adapters/pic.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/adapters/warpx.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/autonomous_research.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/benchmarks/__init__.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/benchmarks/electrostatic_pic.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/benchmarks/kinetic_sufficiency.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/campaign.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/campaign_jobs.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/confirmation.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/control.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/corrective_audit.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/deployment.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/discovery.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/domains/__init__.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/domains/base.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/domains/kinetic_sufficiency.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/kernel_worker.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/ledger.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/lifecycle.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/literature.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/llm.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/mcp_schemas.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/mcp_server.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/models.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/mvp_control.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/mvp_guidance.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/mvp_skills.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/oneshot.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/orchestration.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/outbox.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/parameters.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/presentation.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/proposals.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/research_tools.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/schema_export.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/search.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/semantics.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/tui/__init__.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/tui/app.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/tui/claim_views.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/warpx_analysis.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/warpx_campaign.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/warpx_confirmation.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/__init__.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/server.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/markdown.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/LICENSE.dagre.txt +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/LICENSE.dompurify.txt +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/LICENSE.katex.txt +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/LICENSE.marked.txt +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/README.md +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/dagre-2.0.0.min.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/dompurify-3.4.14.min.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/katex-0.18.4.min.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/katex-auto-render-0.18.4.min.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/marked-18.0.10.umd.js +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/src/conjecture_solver/workspace_images.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/__init__.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/fixtures/fake_warpx_runner.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_adapter.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_autonomous_research.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_benchmark.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_campaign.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_campaign_jobs.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_control.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_corrective_audit.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_deployment.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_domain_plugins.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_ledger.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_lifecycle.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_literature.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_llm.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_mcp_server.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_models.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_mvp_claims.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_mvp_control.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_mvp_monitor.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_mvp_pause.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_mvp_status_watch.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_oneshot.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_orchestration.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_outbox.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_parameters.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_pic.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_proposals.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_recorded_demo.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_role_assignments.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_schema_export.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_search.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_semantics.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_tui_claim_views.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_warpx.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_warpx_analysis.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_warpx_campaign.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_warpx_openpmd_xz.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_warpx_qualification.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_warpx_reduced_energy.py +0 -0
- {simjecture-0.4.0 → simjecture-0.5.0}/tests/test_workspace_images.py +0 -0
|
@@ -4,6 +4,22 @@ This project follows semantic versioning. Dates use ISO 8601.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## 0.5.0 — 2026-09-21
|
|
8
|
+
|
|
9
|
+
- Default new native-agent studies to minimal, with structured and frontier
|
|
10
|
+
selectable in the CLI, browser and TUI. Mode and backend are separate choices;
|
|
11
|
+
DSH/API remain explicitly labelled legacy routes. Existing records retain their mode.
|
|
12
|
+
- Preserve active counterexample search, minimal-change repair rationale,
|
|
13
|
+
branching hypothesis ancestry and fresh prospective validation in the smaller service.
|
|
14
|
+
- Add live terminal activity, job/review counts and remaining budget; project
|
|
15
|
+
minimal evidence and hypothesis trees into the browser and terminal interface.
|
|
16
|
+
- Preserve deadlines across pause/resume, surface provider failures as resumable
|
|
17
|
+
states, and verify numerical-worker identity before cancellation.
|
|
18
|
+
- Make the launch package usable with native agent logins without installing DSH;
|
|
19
|
+
retain an optional `setup.sh --with-dsh` path.
|
|
20
|
+
- Retain measured limitations: simple-task follow-ups completed faster but used
|
|
21
|
+
more tokens; the previous hard FLASH trial did not establish superiority to a plain agent.
|
|
22
|
+
|
|
7
23
|
## 0.4.0 — 2026-09-20
|
|
8
24
|
|
|
9
25
|
- Updated the bundled DSH integration to the tested `0.1.5-rc.2` runtime,
|
|
@@ -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-09-
|
|
5
|
+
version: 0.5.0
|
|
6
|
+
date-released: 2026-09-21
|
|
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.5.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
|
|
@@ -50,9 +50,9 @@ writes its own experiments and diagnostics, and searches deliberately for the
|
|
|
50
50
|
simplest result that survives independent verification. The harness controls
|
|
51
51
|
what may count as evidence.
|
|
52
52
|
|
|
53
|
-
> **Research preview:** version 0.
|
|
54
|
-
>
|
|
55
|
-
>
|
|
53
|
+
> **Research preview:** version 0.5 defaults native-agent studies to minimal mode,
|
|
54
|
+
> adds live terminal progress and shared browser/TUI mode selection, and retains
|
|
55
|
+
> the license-safe FLASH capability and bounded scientific audits. It does not claim to solve arbitrary
|
|
56
56
|
> scientific prose, establish truth about nature from one simulator, or replace
|
|
57
57
|
> independent scientific review.
|
|
58
58
|
|
|
@@ -63,6 +63,23 @@ that have a sharp question and a checkable instrument. The 0.3 preview records
|
|
|
63
63
|
both the origin domain and that generalization, and adds a fluid-MHD campaign
|
|
64
64
|
whose unresolved repair state is preserved rather than hidden.
|
|
65
65
|
|
|
66
|
+
## Start an agent-owned study
|
|
67
|
+
|
|
68
|
+
New native-agent studies default to **minimal**: the agent chooses its approach,
|
|
69
|
+
while Simjecture preserves evidence, counterexamples and hypothesis ancestry.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
simjecture study --campaign ./runs/my-study \
|
|
73
|
+
--hypothesis-file hypothesis.txt --instructions-file instructions.md \
|
|
74
|
+
--backend codex-glm --model glm-5.3 --wall-seconds 3600
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Use `--mode structured` or `--mode frontier` to select another workflow. Resuming
|
|
78
|
+
keeps the recorded mode and deadline. See [minimal-mode usage](docs/how-to/research-service.md)
|
|
79
|
+
for the scientific rules, backend choices and explicit legacy DSH/API routes.
|
|
80
|
+
The measured hard-task benchmark does not establish a completion advantage over
|
|
81
|
+
a plain agent; this default reflects the preferred agent-owned design.
|
|
82
|
+
|
|
66
83
|
## The core idea: AI low-hanging fruit
|
|
67
84
|
|
|
68
85
|
Scientific problems are not uniformly difficult. A candidate may be buried in
|
|
@@ -13,9 +13,9 @@ 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
|
-
>
|
|
18
|
-
>
|
|
16
|
+
> **Research preview:** version 0.5 defaults native-agent studies to minimal mode,
|
|
17
|
+
> adds live terminal progress and shared browser/TUI mode selection, and retains
|
|
18
|
+
> the license-safe FLASH capability and bounded scientific audits. It does not claim to solve arbitrary
|
|
19
19
|
> scientific prose, establish truth about nature from one simulator, or replace
|
|
20
20
|
> independent scientific review.
|
|
21
21
|
|
|
@@ -26,6 +26,23 @@ that have a sharp question and a checkable instrument. The 0.3 preview records
|
|
|
26
26
|
both the origin domain and that generalization, and adds a fluid-MHD campaign
|
|
27
27
|
whose unresolved repair state is preserved rather than hidden.
|
|
28
28
|
|
|
29
|
+
## Start an agent-owned study
|
|
30
|
+
|
|
31
|
+
New native-agent studies default to **minimal**: the agent chooses its approach,
|
|
32
|
+
while Simjecture preserves evidence, counterexamples and hypothesis ancestry.
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
simjecture study --campaign ./runs/my-study \
|
|
36
|
+
--hypothesis-file hypothesis.txt --instructions-file instructions.md \
|
|
37
|
+
--backend codex-glm --model glm-5.3 --wall-seconds 3600
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Use `--mode structured` or `--mode frontier` to select another workflow. Resuming
|
|
41
|
+
keeps the recorded mode and deadline. See [minimal-mode usage](docs/how-to/research-service.md)
|
|
42
|
+
for the scientific rules, backend choices and explicit legacy DSH/API routes.
|
|
43
|
+
The measured hard-task benchmark does not establish a completion advantage over
|
|
44
|
+
a plain agent; this default reflects the preferred agent-owned design.
|
|
45
|
+
|
|
29
46
|
## The core idea: AI low-hanging fruit
|
|
30
47
|
|
|
31
48
|
Scientific problems are not uniformly difficult. A candidate may be buried in
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# First autonomous run
|
|
2
|
+
|
|
3
|
+
To explore the interface before supplying an API key, replay the committed
|
|
4
|
+
Gray–Scott record. This is read-only and starts neither a model call nor a
|
|
5
|
+
simulation:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
uv sync --frozen
|
|
9
|
+
uv run python demos/gray_scott_counterexample/verify_record.py
|
|
10
|
+
uv run simjecture web demos/gray_scott_counterexample/record --read-only
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
See [Recorded Gray–Scott demo](../demos/gray-scott.md) for the scientific result
|
|
14
|
+
and the boundaries of that record.
|
|
15
|
+
|
|
16
|
+
To start a new study, install and log in to a supported native agent CLI
|
|
17
|
+
(Codex GLM, Codex, Grok or AGY), then open the browser:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
uv run simjecture web
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
In **New hypothesis**, choose mode, backend and model separately. **Minimal** is
|
|
24
|
+
the default. It keeps the agent's native tools and planning freedom while recording
|
|
25
|
+
experiments, counterexample searches, hypothesis repairs and independent reviews.
|
|
26
|
+
Structured and frontier modes remain selectable. DSH and direct API routes are
|
|
27
|
+
explicit legacy choices and require their separate provider configuration.
|
|
28
|
+
|
|
29
|
+
For a terminal run, write a bounded statement in `hypothesis.txt` and its test
|
|
30
|
+
scope, resource constraints and acceptance criteria in `instructions.md`:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
uv run simjecture study --campaign artifacts/first-study \
|
|
34
|
+
--hypothesis-file hypothesis.txt --instructions-file instructions.md \
|
|
35
|
+
--backend codex-glm --model glm-5.3 --wall-seconds 3600
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The terminal shows current activity, elapsed/remaining time and experiment/review
|
|
39
|
+
counts. Use `--quiet` to suppress progress. Select `--mode structured` or
|
|
40
|
+
`--mode frontier` when starting a new directory. Existing mode, backend and wall
|
|
41
|
+
deadline are retained on resume.
|
|
42
|
+
|
|
43
|
+
Minimal records include `research.json`, immutable experiment snapshots,
|
|
44
|
+
prospective repair commitments, independent review receipts and a final
|
|
45
|
+
`research_report.json`. A clean agent exit is only a checkpoint. A supported root
|
|
46
|
+
or an accepted falsification followed by a supported repair completes the study;
|
|
47
|
+
uncertainty stays unresolved. Numerical convergence and physical validity remain
|
|
48
|
+
scientific obligations. See [minimal research](../how-to/research-service.md).
|
|
49
|
+
|
|
50
|
+
Inspect or control the same directory:
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
uv run simjecture status artifacts/first-study
|
|
54
|
+
uv run simjecture watch artifacts/first-study
|
|
55
|
+
uv run simjecture web artifacts/first-study
|
|
56
|
+
uv run simjecture pause artifacts/first-study
|
|
57
|
+
uv run simjecture resume artifacts/first-study
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Pause stops the native agent at the supervisor boundary. Already recorded jobs
|
|
61
|
+
may finish within their existing limits; the wall deadline continues. Cancel or
|
|
62
|
+
deadline exhaustion terminates active recorded jobs. A provider outage pauses
|
|
63
|
+
with the evidence intact rather than inventing a scientific conclusion.
|
|
64
|
+
|
|
65
|
+
The optional [Terminal interface](terminal-ui.md) offers the same mode/backend
|
|
66
|
+
selection and a dashboard for SSH and headless machines. The legacy `simjecture
|
|
67
|
+
mvp` and [DSH](../how-to/deepseek-harness.md) entry points remain available; their
|
|
68
|
+
workbench/commissioning contracts are unchanged.
|
|
@@ -17,7 +17,15 @@ uv run simjecture install core
|
|
|
17
17
|
uv run simjecture doctor --profile core
|
|
18
18
|
```
|
|
19
19
|
|
|
20
|
-
##
|
|
20
|
+
## Native agent login
|
|
21
|
+
|
|
22
|
+
New studies default to minimal mode. Install and log in with Codex GLM, Codex,
|
|
23
|
+
Grok or AGY independently, then choose that backend and model in the launcher.
|
|
24
|
+
Simjecture does not redistribute those CLIs or subscriptions. Native tools remain
|
|
25
|
+
available; numerical execution still uses the Bubblewrap sandbox. No DeepSeek
|
|
26
|
+
API key or DSH install is required for native-agent studies.
|
|
27
|
+
|
|
28
|
+
## Legacy API credentials
|
|
21
29
|
|
|
22
30
|
Credentials are process-local harness inputs. They are never mounted into the
|
|
23
31
|
agent workspace.
|
|
@@ -2,10 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
The local web interface is the primary human-facing view of a Simjecture
|
|
4
4
|
campaign. It makes the scientific structure visible without replacing the
|
|
5
|
-
durable record.
|
|
5
|
+
durable record. New native studies default to minimal; mode, backend and model
|
|
6
|
+
are separate launch choices. Minimal reads `research.json`, experiment snapshots,
|
|
7
|
+
commitments and reviews. Legacy `mvp_manifest.json`, `transcript.jsonl`,
|
|
6
8
|
`hypothesis_ledger.json`, `mvp_report.json`, and artifact provenance remain the
|
|
7
9
|
sources of truth.
|
|
8
10
|
|
|
11
|
+
Minimal studies show actual agent activity instead of the fixed-stage role strip.
|
|
12
|
+
The header shows mode/backend/model and remaining budget. Long guidance and review
|
|
13
|
+
rationales fold away, with failed reviews expanded. Usage is pending/unavailable
|
|
14
|
+
when the backend has not supplied counters, never assumed to be zero. DSH/API
|
|
15
|
+
remain explicitly labelled legacy routes; incompatible combinations are disabled.
|
|
16
|
+
|
|
9
17
|
## Open a recorded campaign
|
|
10
18
|
|
|
11
19
|
The browser interface is included in the core installation and has no Node.js
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# Agent-owned research: minimal mode
|
|
2
|
+
|
|
3
|
+
`simjecture study` defaults to minimal mode for new native-agent studies. The
|
|
4
|
+
native agent chooses its plan, writes code and uses its existing tools; the
|
|
5
|
+
service records evidence and independently reviews claims. Select `--mode
|
|
6
|
+
structured` or `--mode frontier` to use the other workflows. `--workflow` is an
|
|
7
|
+
alias for `--mode`. The `simjecture-supervise` and `simjecture-research` entry
|
|
8
|
+
points use the same launcher.
|
|
9
|
+
|
|
10
|
+
Resume without a mode flag to retain the recorded mode. Changing a study's mode
|
|
11
|
+
requires a new campaign directory; no existing evidence is silently converted.
|
|
12
|
+
Old studies retain their existing scientific-policy schema. The browser and TUI
|
|
13
|
+
launch and monitor minimal, structured and frontier native-agent studies. Select
|
|
14
|
+
mode and backend separately. DSH/API remain explicit legacy choices; selecting an
|
|
15
|
+
unsupported combination returns an error rather than silently changing modes.
|
|
16
|
+
The `mvp` command remains the legacy API entry point.
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
simjecture study --campaign /absolute/path/to/new-study \
|
|
20
|
+
--hypothesis-file hypothesis.txt --instructions-file instructions.md \
|
|
21
|
+
--backend codex-glm --model glm-5.3 --wall-seconds 3600
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
From a checkout use `python -m conjecture_solver.research_supervisor` with the
|
|
25
|
+
checkout's `src` on `PYTHONPATH`. The backend uses its existing login. Codex/GLM
|
|
26
|
+
resume the same native thread; other configured CLI backends preserve the working
|
|
27
|
+
folder and evidence state. The wall deadline survives process restarts. Operator instructions are frozen before experiments and included in every reviewer packet; changing them requires a new study.
|
|
28
|
+
|
|
29
|
+
The generated `research/lab.py` offers five operations:
|
|
30
|
+
|
|
31
|
+
```python
|
|
32
|
+
from lab import lab
|
|
33
|
+
|
|
34
|
+
experiment = lab.run("calculation.py", args=["--n", "128"],
|
|
35
|
+
inputs=["helper.py"], outputs=["result.json"], key="case-128")
|
|
36
|
+
state = lab.status() # Compact receipts; compact=False includes full metadata.
|
|
37
|
+
# After the experiment reports succeeded:
|
|
38
|
+
request = lab.review([experiment["id"]], "The finite result supports ...",
|
|
39
|
+
disposition="supported",
|
|
40
|
+
challenge={"strategy": "Exhaustive finite-domain test",
|
|
41
|
+
"experiments": [experiment["id"]],
|
|
42
|
+
"outcome": "Every declared case passed"})
|
|
43
|
+
review = lab.review_status(request["id"])
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
`run` returns immediately. You may keep working while jobs execute, or end the model turn; the host then waits for a recorded job to finish before resuming the agent. The service snapshots source and declared local inputs,
|
|
47
|
+
records their hashes and arguments, and runs the experiment inside Simjecture's
|
|
48
|
+
existing Bubblewrap numerical sandbox. An installed capability can be selected
|
|
49
|
+
with `capability=NAME`. Supply its manifest directory using `--capabilities` or
|
|
50
|
+
the numerical instrument registry field in the browser/TUI. With no registry,
|
|
51
|
+
minimal exposes only the Python numerical sandbox. Its identity is bound to the receipt. Native tools are
|
|
52
|
+
available for exploration; execution success alone does not accept a claim.
|
|
53
|
+
|
|
54
|
+
Identical requests reuse the same receipt. Change `key` for an intentional
|
|
55
|
+
replicate. Changed source, inputs or arguments produce a new experiment identity.
|
|
56
|
+
Result files and raw outputs remain under `experiments/ID/workspace/`; agents can
|
|
57
|
+
inspect them but must not modify recorded artifacts. Review rechecks their hashes.
|
|
58
|
+
The initial implementation bounds each experiment to 4 GiB and the study to
|
|
59
|
+
8 GiB of recorded experiment storage with conservative reservations for active experiments. These bounds do not police arbitrary native working-folder writes.
|
|
60
|
+
|
|
61
|
+
A review request returns a persistent receipt, independent of the caller's
|
|
62
|
+
working directory. End the model turn after submitting it: the supervisor opens
|
|
63
|
+
a fresh, tool-free reviewer context and records the result. Missing evidence
|
|
64
|
+
returns explicit gaps. A malformed reviewer response never becomes approval.
|
|
65
|
+
Each review targets one explicit claim ID and statement; the host rejects a mismatched target. Approval of an original falsification is distinct from completion of the study, which still requires a supported repair. Pending reviews survive pauses and deadlines. Scientific approval authority is
|
|
66
|
+
not exposed through `lab`.
|
|
67
|
+
|
|
68
|
+
For a repair, commit the prediction and exact commands first:
|
|
69
|
+
|
|
70
|
+
```python
|
|
71
|
+
plan = lab.commit("A bounded refined claim ...", source="validation.py",
|
|
72
|
+
cases=[["--case", "a"], ["--case", "b"]],
|
|
73
|
+
acceptance="Predeclared quantitative criteria ...", inputs=[],
|
|
74
|
+
parent="root", rationale="Smallest justified change and why ...")
|
|
75
|
+
fresh = lab.run("validation.py", args=["--case", "a"],
|
|
76
|
+
outputs=["result.json"], commitment=plan["id"])
|
|
77
|
+
# Execute all committed cases, then review their receipts with claim=plan["id"].
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
New studies require evidence of active counterexample search for any supported
|
|
81
|
+
claim. The `challenge` identifies the strategy, submitted experiments and outcome;
|
|
82
|
+
the reviewer judges whether the tests actually challenge the claim. Boundary cases,
|
|
83
|
+
failure-prone regimes or exhaustive finite-domain testing may qualify. There is
|
|
84
|
+
no mandatory extra search phase or fixed number of tests.
|
|
85
|
+
|
|
86
|
+
A repair names its parent (`root` or an earlier commitment ID) and explains why
|
|
87
|
+
each changed assumption, scope or bound is necessary. This creates a durable
|
|
88
|
+
branching hypothesis tree. A repair's review includes ancestor statements and the
|
|
89
|
+
accepted counterexamples' actual source/results. Every ancestor must have an
|
|
90
|
+
accepted falsification before a supported descendant can close the study.
|
|
91
|
+
Minimality is judged scientifically, not by text length; scope restrictions must
|
|
92
|
+
explain failures rather than erase them. Experiment workspaces are immutable
|
|
93
|
+
snapshots, not separate Git worktrees for every hypothesis.
|
|
94
|
+
|
|
95
|
+
The service rejects changed committed source/arguments, retrospective relabelling
|
|
96
|
+
of earlier runs and omission of committed cases. The reviewer still must judge
|
|
97
|
+
whether the repair is meaningful: a fitted range tested on its own fitting data
|
|
98
|
+
is not validated research.
|
|
99
|
+
|
|
100
|
+
Ordinary calculations do not need a separate instrument-claim hierarchy or an
|
|
101
|
+
approval before every calculation. Physical adequacy, controls and convergence
|
|
102
|
+
remain scientific obligations and are checked at review. A supported original
|
|
103
|
+
claim completes the study; a falsified original requires an independently
|
|
104
|
+
supported repair. Unresolved evidence and normal model exit do not complete it.
|
|
105
|
+
|
|
106
|
+
This is a cooperative same-account trust model. The native CLI agent is not
|
|
107
|
+
adversarially isolated from host files; host-only Python methods are an interface
|
|
108
|
+
boundary, not an OS security boundary. A hostile-worker deployment needs separate
|
|
109
|
+
accounts or a separately authenticated service. Numerical execution retains its
|
|
110
|
+
existing sandbox. No existing campaign is migrated automatically.
|
|
111
|
+
|
|
112
|
+
Native-thread continuation prompts are short; full instructions remain in
|
|
113
|
+
`research/RESEARCH_GUIDE.md`. `lab.status()` includes remaining wall time and
|
|
114
|
+
receipt/workspace paths, with full metadata available through `compact=False`.
|
|
115
|
+
For long solvers prefer separately recorded cases, check a pilot's output schema,
|
|
116
|
+
and reserve time for validation and synthesis.
|
|
117
|
+
|
|
118
|
+
Minimal is the new-study default by operator preference, not because the benchmark
|
|
119
|
+
established superiority. The workflow is evaluated against plain, structured and frontier runs;
|
|
120
|
+
see [the measured results](https://github.com/tomzhu0225/simjecture/blob/main/research/evaluations/research-service-v2/RESULTS.md) and [benchmark plan](https://github.com/tomzhu0225/simjecture/blob/main/research/evaluations/research-service-v2/PLAN.md).
|
|
121
|
+
|
|
122
|
+
Latest iteration: [scientific-rule and default-mode tests](https://github.com/tomzhu0225/simjecture/blob/main/research/evaluations/minimal-default/RESULTS.md).
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
## Watching and controlling a study
|
|
126
|
+
|
|
127
|
+
A terminal launch prints live activity, backend/model, elapsed/remaining time and
|
|
128
|
+
experiment/review counts. Redirected output gets plain periodic status lines;
|
|
129
|
+
use `--quiet` to suppress them. Open `simjecture web /path/to/study` or
|
|
130
|
+
`simjecture tui /path/to/study` to inspect the same evidence and hypothesis tree.
|
|
131
|
+
|
|
132
|
+
Pause stops the agent at the supervisor boundary; already recorded numerical jobs
|
|
133
|
+
may finish within their existing bounds. Resume retains the original wall deadline
|
|
134
|
+
and mode. Cancel and deadline exhaustion terminate verified active numerical
|
|
135
|
+
workers. Three consecutive provider failures pause the study with its evidence
|
|
136
|
+
intact; ordinary agent exit and inconclusive review do not establish completion.
|
|
137
|
+
Provider usage is shown when the backend supplies completed-turn counters, with
|
|
138
|
+
resumed cumulative counts deduplicated by native thread. Missing usage is not zero.
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# Scientific roles with Simote agent sessions
|
|
2
|
+
|
|
3
|
+
Simote can run Codex, Grok, and AGY (Antigravity) CLI agents as claim-scoped Simjecture workers.
|
|
4
|
+
Simjecture remains the authority for evidence, claim disposition, jobs, budgets,
|
|
5
|
+
and campaign finalization. The native API runner and DSH profile remain available.
|
|
6
|
+
|
|
7
|
+
Install the matching Simjecture checkout on the compute worker, including the
|
|
8
|
+
`simjecture-call` entry point. Restart Simote after updating its server. Agents
|
|
9
|
+
and their logins remain on the Simote host; compute happens through the existing
|
|
10
|
+
SSH bridge. This integration uses the selected bot's engine and model.
|
|
11
|
+
|
|
12
|
+
In Simote, enable **Simjecture campaigns** under **Settings → General →
|
|
13
|
+
Experimental features**. It is off by default: standalone Simote does not need
|
|
14
|
+
Simjecture, load its campaign page, poll campaigns, or expose campaign tools to
|
|
15
|
+
ordinary agent sessions. Disabling it hides the page and prevents new campaign
|
|
16
|
+
and role launches; existing assigned work can finish and records are preserved.
|
|
17
|
+
|
|
18
|
+
## Run a shared campaign
|
|
19
|
+
|
|
20
|
+
1. Configure a campaign-owner bot and one or more worker bots in the same Simote
|
|
21
|
+
team section, using the same named SSH compute machine. Select Codex, Grok, or AGY
|
|
22
|
+
agent engines for the workers, with their existing local logins.
|
|
23
|
+
2. Ask the owner to use `simjecture_open_campaign`. The owner keeps the campaign
|
|
24
|
+
under its workspace. Scientific worker tasks share that campaign; they do not
|
|
25
|
+
create copies under their own bot workspaces.
|
|
26
|
+
3. The owner calls `simjecture_assign_role`, for example:
|
|
27
|
+
|
|
28
|
+
```json
|
|
29
|
+
{
|
|
30
|
+
"campaign_id": "invariant-test",
|
|
31
|
+
"assignment_id": "falsify-root-1",
|
|
32
|
+
"agent_id": "YOUR_GROK_BOT_ID",
|
|
33
|
+
"role": "falsifier",
|
|
34
|
+
"claim_id": "claim_root",
|
|
35
|
+
"max_operations": 100
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This starts a fresh task on the selected bot. Other supported roles are
|
|
40
|
+
`lead_scientist`, `repair_scientist`, and `blocker_resolver`. The target bot
|
|
41
|
+
must be idle. A Repair Scientist requires a falsified parent.
|
|
42
|
+
4. The worker reads `simjecture_snapshot` and uses the typed `simjecture_*`
|
|
43
|
+
tools exposed from its role-filtered kernel catalog. The supervisor binds
|
|
44
|
+
the campaign identity. Every mutating
|
|
45
|
+
operation ID begins with its assignment ID and `:`. The worker finishes with
|
|
46
|
+
`simjecture_handoff`; the kernel record must substantiate claimed
|
|
47
|
+
falsifications and linked evidence. A handoff ends that assignment, not the
|
|
48
|
+
campaign. Only one unfinished scientific worker assignment may own a claim.
|
|
49
|
+
5. For independent review, the owner or assigned lead calls
|
|
50
|
+
`simjecture_adjudicate` with `campaign_id`, `judge_bot_id`, `operation_id`,
|
|
51
|
+
`claim_id`, `contract_version`, and `case_for_sufficiency`. The selected
|
|
52
|
+
Codex/Grok/AGY instance receives a fresh session, empty working directory, no
|
|
53
|
+
conversation history or Simote integrations, and only the frozen case.
|
|
54
|
+
Tool activity invalidates the review. Only a successful text-only response
|
|
55
|
+
reaches Simjecture's existing verdict validation and scientific gates.
|
|
56
|
+
6. The owner or lead uses the official `finalize_campaign` tool only when the
|
|
57
|
+
scientific frontier is ready. A chat reply never finalizes a campaign.
|
|
58
|
+
|
|
59
|
+
Assignments appear as named tasks in Simote, with the normal streamed agent
|
|
60
|
+
activity. `simjecture_snapshot` includes assignment identities, operation counts,
|
|
61
|
+
session history, and handoffs. The optional **Simjecture** sidebar page shows a
|
|
62
|
+
hypothesis graph, claim contracts, linked evidence previews, jobs, role tasks,
|
|
63
|
+
and the final report. You can create or attach a campaign, assign workers,
|
|
64
|
+
request independent review, cancel jobs, and finalize through the same kernel
|
|
65
|
+
gates. The existing Simjecture web dashboard is also available.
|
|
66
|
+
|
|
67
|
+
AGY workers require the instance's full-auto setting, because its headless CLI
|
|
68
|
+
cannot approve MCP calls interactively. Simote mounts named scientific MCP tools
|
|
69
|
+
for each turn and removes them before a tool-free judge starts. AGY uses a global
|
|
70
|
+
MCP configuration, so Simote serializes AGY child lifetimes to prevent one task
|
|
71
|
+
from receiving another task's credentials. User-configured MCP entries remain
|
|
72
|
+
preserved; any observed judge tool use rejects the review, as for other engines.
|
|
73
|
+
|
|
74
|
+
## Recovery and boundaries
|
|
75
|
+
|
|
76
|
+
Campaign creation first probes Bubblewrap namespace support. A GPU container
|
|
77
|
+
that denies user namespaces is not a compatible scientific worker, even if
|
|
78
|
+
SSH and ordinary commands work. Use a compatible Linux host; no fallback skips
|
|
79
|
+
isolation or turns a failed run into evidence. `simjecture-call --workspace
|
|
80
|
+
./campaigns --probe` checks readiness without creating a campaign.
|
|
81
|
+
|
|
82
|
+
Parallel agent tool calls are queued per campaign. A narrowly identified
|
|
83
|
+
pre-dispatch writer conflict may be retried while a detached job commits its
|
|
84
|
+
receipt; ambiguous errors are returned for explicit operation-ID recovery.
|
|
85
|
+
|
|
86
|
+
Reopen the same Simote task to continue after a server restart. The task retains
|
|
87
|
+
its campaign routing and native session cursor. A new session must read a
|
|
88
|
+
snapshot before scientific work. Reuse the original operation ID and arguments
|
|
89
|
+
after a lost response; neither the assignment budget nor the kernel's operation
|
|
90
|
+
journal resets. Existing jobs are reconciled by the kernel on reopen.
|
|
91
|
+
|
|
92
|
+
Repeating `simjecture_assign_role` with the same identity returns the existing
|
|
93
|
+
task. It does not automatically rerun a previously dispatched task. A changed
|
|
94
|
+
assignment needs a new ID. An inconclusive or blocked handoff is preserved;
|
|
95
|
+
start a new assignment for subsequent work. A saved judge verdict is reused
|
|
96
|
+
after a remote commit failure; an operation cannot silently bind a new case.
|
|
97
|
+
|
|
98
|
+
The Simote role registry contains routing metadata only. Authoritative
|
|
99
|
+
assignments live in `role_assignments.json` beside the campaign ledger, outside
|
|
100
|
+
the experiment sandbox. The campaign supervisor lease serializes one-shot
|
|
101
|
+
calls. A campaign already owned by a running DSH/native supervisor cannot also
|
|
102
|
+
be driven through this transport.
|
|
103
|
+
|
|
104
|
+
Role enforcement covers the Simjecture tool boundary and Simote's remote tool
|
|
105
|
+
endpoint. Provider CLIs may also have native local tools or user-configured
|
|
106
|
+
integrations; this feature does not turn those CLIs into OS-isolated processes.
|
|
107
|
+
It never copies SSH credentials into those processes. Scientific outputs still
|
|
108
|
+
have to pass the existing sandbox, provenance, and evidence gates.
|
|
109
|
+
|
|
110
|
+
## Headless supervisor interface
|
|
111
|
+
|
|
112
|
+
Any trusted supervisor can use the same role boundary without running Simote.
|
|
113
|
+
First open a campaign normally, then issue a JSON assignment with exactly
|
|
114
|
+
`assignment_id`, `agent_id`, `role`, `claim_id`, and `max_operations`:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
simjecture-call --workspace ./campaigns --campaign invariant-test \
|
|
118
|
+
--issue-assignment-file assignment.json
|
|
119
|
+
|
|
120
|
+
simjecture-call --workspace ./campaigns --campaign invariant-test \
|
|
121
|
+
--assignment-id falsify-root-1 --agent-id grok-worker --session-id session-1 \
|
|
122
|
+
snapshot
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Pass `--arguments-file` for tool arguments, `--list` for the role's tool catalog,
|
|
126
|
+
or `--handoff-file` for a structured final handoff. The supervisor supplies the
|
|
127
|
+
authenticated identity flags; they must never come from model tool arguments.
|
|
128
|
+
|
|
129
|
+
The DSH profile retains its existing role orchestration and guards. This
|
|
130
|
+
transport adds a persistent boundary for external agent sessions without
|
|
131
|
+
changing recorded campaigns or their scientific acceptance rules.
|
|
132
|
+
|
|
133
|
+
## Persistent CLI supervision
|
|
134
|
+
|
|
135
|
+
An external worker's exit or handoff is a checkpoint, not permission to end a
|
|
136
|
+
campaign. To run AGY or Grok without an interactive Simote owner, prepare an
|
|
137
|
+
initialized campaign with `MVPAgentConfig(require_independent_contract_review=True)`
|
|
138
|
+
and an operator instruction file, then start the persistent supervisor:
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
simjecture-supervise --campaign /absolute/path/to/campaign \
|
|
142
|
+
--state-dir /absolute/path/to/supervisor-state \
|
|
143
|
+
--instructions-file /absolute/path/to/instructions.txt \
|
|
144
|
+
--backend grok --model grok-4.6 --judge-model grok-4.6 \
|
|
145
|
+
--wall-seconds 21600 --turn-seconds 600
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
From a checkout, `python -m conjecture_solver.agent_supervisor` is equivalent.
|
|
149
|
+
The supervisor resumes unfinished assignments and issues successors after
|
|
150
|
+
inconclusive or blocked handoffs. Local turn/operation limits do not reset the
|
|
151
|
+
campaign deadline or end the study. Its durable `state.json` and `events.jsonl`
|
|
152
|
+
record progress. Restarting with the same state directory preserves the deadline.
|
|
153
|
+
One persistent supervisor can own a campaign at a time.
|
|
154
|
+
|
|
155
|
+
Workers request independent review by writing `review-request.json` in their
|
|
156
|
+
native research directory, with `claim_id`, `contract_version`, and
|
|
157
|
+
`case_for_sufficiency`. The supervisor freezes the kernel case and launches a
|
|
158
|
+
fresh judge through the selected CLI backend in an empty directory. Any observed judge tool activity rejects
|
|
159
|
+
the verdict. Only the kernel can accept the verdict or finalize the campaign.
|
|
160
|
+
Judge rejection and insufficient evidence return to experimental work.
|
|
161
|
+
|
|
162
|
+
With the default strict repair loop, an accepted `unresolved` or
|
|
163
|
+
`instrument_limited` record leaves the scientific claim open. Normal completion
|
|
164
|
+
requires independently accepted support for the original claim or its repair
|
|
165
|
+
frontier. A falsified frontier requires a repair and further testing. Existing
|
|
166
|
+
legacy claims already closed as unresolved require explicit recovery; the
|
|
167
|
+
supervisor refuses to reinterpret them as success.
|
|
168
|
+
|
|
169
|
+
The wall-time boundary saves `budget_exhausted`, preserves the open ledger and
|
|
170
|
+
cancels active jobs. Operator controls are separate: write
|
|
171
|
+
`{"command":"pause"}` or `{"command":"cancel"}` to the supervisor's
|
|
172
|
+
`control.json`. Repeated infrastructure/provider failures pause with a recorded
|
|
173
|
+
error; they never count as scientific completion. Remove a pause command before
|
|
174
|
+
resuming. This does not OS-sandbox the agent's native tools or alter its global
|
|
175
|
+
MCP configuration; numerical jobs retain Simjecture's sandbox and evidence rules.
|
|
176
|
+
|
|
177
|
+
### Contract and qualification review
|
|
178
|
+
|
|
179
|
+
New persistent runs require `require_independent_contract_review=True`. The
|
|
180
|
+
legacy default remains false so historical manifests remain readable; the
|
|
181
|
+
persistent supervisor refuses that legacy policy instead of silently accepting
|
|
182
|
+
old qualification. Start a new reviewed campaign to requalify an instrument;
|
|
183
|
+
old artifacts may be supplied as unaccepted research context.
|
|
184
|
+
|
|
185
|
+
A worker first registers its prospective contract, then writes
|
|
186
|
+
`contract-review-request.json` containing only `claim_id` in its research
|
|
187
|
+
folder. The host freezes the original hypothesis, parent statement, exact
|
|
188
|
+
contract, bound program sources, and optional operator-owned
|
|
189
|
+
`operator_input/scientific_protocol.txt`. A separate review must approve this
|
|
190
|
+
packet before evidence execution or sufficient evidence linking. A changed
|
|
191
|
+
contract, source, or frozen protocol invalidates the approval.
|
|
192
|
+
|
|
193
|
+
After collecting and linking prospective instrument/diagnostic/control evidence,
|
|
194
|
+
the worker writes `qualification-review-request.json` with `claim_id`. This
|
|
195
|
+
second review includes actual linked output and provenance; only approval permits
|
|
196
|
+
supported closure. Execution status, stage labels and output counts cannot stand
|
|
197
|
+
alone as physical qualification checks, even if labelled with the expected
|
|
198
|
+
aspect. The kernel enforces both reviews; workers have no approval tool.
|
|
199
|
+
|
|
200
|
+
Reviews and transcript hashes persist outside the numerical workspace in
|
|
201
|
+
`scientific_reviews.json`. These are scientific reviews, not user confirmation
|
|
202
|
+
prompts. Judge transport accepts a single outer JSON fence, validates semantics,
|
|
203
|
+
and retries malformed output once in a fresh context. It never changes an invalid
|
|
204
|
+
scientific disposition to make a verdict acceptable. Observed judge tool activity
|
|
205
|
+
rejects the response. Worker native tools remain available. Both CLI backends
|
|
206
|
+
retain their existing logins; the supervisor does not rewrite global MCP settings.
|
|
207
|
+
|
|
208
|
+
### Optional researcher workflow
|
|
209
|
+
|
|
210
|
+
Use `--workflow frontier` to let one researcher organize experiments, pursue
|
|
211
|
+
supporting claims and test repairs without switching scientific roles. The
|
|
212
|
+
structured workflow remains the default. Both use the same evidence contracts,
|
|
213
|
+
provenance checks, independent reviews and completion rules.
|
|
214
|
+
|
|
215
|
+
For a campaign configured with independent contract review:
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
simjecture-supervise --campaign /absolute/path/to/campaign \
|
|
219
|
+
--state-dir /absolute/path/to/new-supervisor-state \
|
|
220
|
+
--instructions-file /absolute/path/to/research-instructions.md \
|
|
221
|
+
--workflow frontier --backend codex-glm --model glm-5.3 \
|
|
222
|
+
--wall-seconds 21600 --turn-seconds 600
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
The `codex` backend uses the same native CLI protocol and requires an explicit
|
|
226
|
+
`--model`. Each backend retains its existing login. Native thread resumption is
|
|
227
|
+
currently implemented for `codex` and `codex-glm`; AGY and Grok retain the stable
|
|
228
|
+
research directory and kernel state across invocations. Do not switch workflow
|
|
229
|
+
or backend inside an existing supervisor state directory.
|
|
230
|
+
|
|
231
|
+
The researcher keeps a stable `research/` directory. Native tools remain
|
|
232
|
+
available, and detached numerical jobs need not block other research. In this
|
|
233
|
+
mode `--turn-seconds` is an inactivity watchdog: provider output or kernel action
|
|
234
|
+
activity resets it. It cannot extend the campaign's fixed wall deadline. A model
|
|
235
|
+
ending its turn does not declare the science finished. Review requests move to a
|
|
236
|
+
durable host queue, which survives a pause or deadline; resuming an exhausted
|
|
237
|
+
budget does not create a new deadline.
|
|
238
|
+
|
|
239
|
+
Inside the generated research directory, the agent can use the scoped client:
|
|
240
|
+
|
|
241
|
+
```python
|
|
242
|
+
from lab import lab
|
|
243
|
+
|
|
244
|
+
lab.write("measure.py", "print('measurement')\n")
|
|
245
|
+
result = lab.run_python(["measure.py"], inputs=[], request_key="probe-1")
|
|
246
|
+
# After registering an actual prospective evidence contract:
|
|
247
|
+
lab.request_review("contract")
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
The client fills in operation IDs, the assigned claim and administrative notes.
|
|
251
|
+
Scientific inputs and declared artifact dependencies remain explicit. Repeating
|
|
252
|
+
an identical request reuses its receipt; use a different `request_key` for an
|
|
253
|
+
intentional replicate. `run_python` also binds this identity to the entry script
|
|
254
|
+
and contract revision. The client cannot approve evidence or finalize a campaign.
|
|
255
|
+
For other operations use `lab.call(tool, arguments)` and inspect the generated
|
|
256
|
+
adapter's `schema TOOL` output.
|
|
257
|
+
|
|
258
|
+
Evidence validation paths support object keys and array indices, for example
|
|
259
|
+
`rows.0.N`, `rows[0].N` and `$.rows[0].N`. Wildcards, slices, expressions and
|
|
260
|
+
negative indices are unsupported. Checks retain strict scalar comparison rules.
|
|
261
|
+
A design reviewer may approve a proposal and suggest executing it next; required
|
|
262
|
+
evidence or design gaps still prevent approval. Design approval is not a
|
|
263
|
+
scientific conclusion.
|
|
264
|
+
|
|
265
|
+
Native agents run under a cooperative trust model with access to their host
|
|
266
|
+
account. These role checks do not provide adversarial isolation from host files.
|
|
267
|
+
Numerical execution retains its existing sandbox and evidence rules.
|
|
268
|
+
|
|
269
|
+
The first real GLM pilot supports reduced context loss, but neither workflow
|
|
270
|
+
completed an accepted scientific conclusion within its short budgets. Keep this
|
|
271
|
+
mode opt-in pending further evaluation. See the
|
|
272
|
+
[measured results](https://github.com/tomzhu0225/simjecture/blob/main/research/evaluations/frontier-workflow/RESULTS.md) and
|
|
273
|
+
[design notes](https://github.com/tomzhu0225/simjecture/blob/main/research/evaluations/frontier-workflow/DESIGN.md).
|
|
274
|
+
|
|
275
|
+
For the smaller service with explicit experiment/review receipts and agent-owned
|
|
276
|
+
planning, see [agent-owned research](research-service.md). Minimal is now the
|
|
277
|
+
default for new native-agent studies; select `--mode structured` or `--mode
|
|
278
|
+
frontier` for the alternatives. Existing campaigns retain their recorded mode
|
|
279
|
+
and record format. The browser/TUI now select these native modes too; DSH/API remain explicit legacy choices.
|