simjecture 0.3.2__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.3.2 → simjecture-0.5.0}/.github/workflows/ci.yml +10 -1
- {simjecture-0.3.2 → simjecture-0.5.0}/.github/workflows/release.yml +10 -1
- {simjecture-0.3.2 → simjecture-0.5.0}/.gitignore +2 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/CHANGELOG.md +40 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/CITATION.cff +2 -2
- {simjecture-0.3.2 → simjecture-0.5.0}/PKG-INFO +25 -7
- {simjecture-0.3.2 → simjecture-0.5.0}/README.md +23 -6
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/conf.py +1 -1
- simjecture-0.5.0/docs/getting-started/first-run.md +68 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/getting-started/installation.md +9 -1
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/getting-started/web-interface.md +9 -1
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/how-to/deepseek-harness.md +91 -21
- simjecture-0.5.0/docs/how-to/dsh-upgrade-assessment.md +73 -0
- 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.3.2 → simjecture-0.5.0}/docs/index.md +3 -1
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/reference/cli.md +13 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/integrations/dsh/README.md +35 -19
- {simjecture-0.3.2 → simjecture-0.5.0}/integrations/dsh/adjudicator.js +9 -22
- {simjecture-0.3.2 → simjecture-0.5.0}/integrations/dsh/context-elider.js +3 -3
- {simjecture-0.3.2 → simjecture-0.5.0}/integrations/dsh/cordis.patch.yml +20 -70
- {simjecture-0.3.2 → simjecture-0.5.0}/integrations/dsh/job-waiter.js +2 -2
- simjecture-0.5.0/integrations/dsh/package-lock.json +8976 -0
- simjecture-0.5.0/integrations/dsh/package.json +48 -0
- simjecture-0.5.0/integrations/dsh/research-tools.js +19 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/integrations/dsh/roles.js +33 -13
- {simjecture-0.3.2 → simjecture-0.5.0}/integrations/dsh/runner.js +29 -10
- simjecture-0.5.0/integrations/dsh/tests/jobs.test.js +77 -0
- simjecture-0.5.0/integrations/dsh/tests/profile-model.js +31 -0
- simjecture-0.5.0/integrations/dsh/tests/profile.test.js +75 -0
- simjecture-0.5.0/integrations/dsh/tests/roles.test.js +141 -0
- simjecture-0.5.0/integrations/dsh/tests/runtime.js +61 -0
- simjecture-0.5.0/integrations/dsh/tests/session.test.js +114 -0
- simjecture-0.5.0/packaging/launch/INSTALL.md +66 -0
- simjecture-0.5.0/packaging/launch/launch.sh +12 -0
- simjecture-0.5.0/packaging/launch/setup.sh +23 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/pyproject.toml +13 -2
- 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.5.0/scripts/build_launch_package.py +76 -0
- {simjecture-0.3.2 → 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.3.2 → simjecture-0.5.0}/src/conjecture_solver/campaign_kernel.py +53 -42
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/cli.py +12 -1
- {simjecture-0.3.2 → 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.3.2 → simjecture-0.5.0}/src/conjecture_solver/mcp_schemas.py +7 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/mcp_server.py +20 -2
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/mvp_agent.py +80 -41
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/mvp_claims.py +11 -12
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/mvp_launch.py +73 -90
- {simjecture-0.3.2 → 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.3.2 → simjecture-0.5.0}/src/conjecture_solver/role_assignments.py +16 -4
- 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.3.2 → simjecture-0.5.0}/src/conjecture_solver/tui/screens.py +72 -39
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/application.py +103 -14
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/app.js +48 -3
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/index.html +24 -2
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/styles.css +7 -0
- simjecture-0.5.0/src/conjecture_solver/workspace_images.py +47 -0
- simjecture-0.5.0/tests/test_agent_supervisor.py +318 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_campaign_kernel.py +20 -9
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_dsh_bundle.py +12 -36
- {simjecture-0.3.2 → 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.3.2 → simjecture-0.5.0}/tests/test_mcp_server.py +2 -1
- {simjecture-0.3.2 → 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.3.2 → simjecture-0.5.0}/tests/test_tui.py +3 -1
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_web.py +5 -1
- simjecture-0.5.0/tests/test_workspace_images.py +51 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/uv.lock +3 -1
- simjecture-0.3.2/docs/getting-started/first-run.md +0 -76
- simjecture-0.3.2/docs/how-to/simote-agent-roles.md +0 -124
- simjecture-0.3.2/integrations/dsh/package.json +0 -40
- {simjecture-0.3.2 → simjecture-0.5.0}/.env.example +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/.gitattributes +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/.readthedocs.yaml +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/CONTRIBUTING.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/LICENSE +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/NOTICE +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/SECURITY.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/THIRD_PARTY_NOTICES.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/capabilities/atomec-1.4.0.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/capabilities/flash-island-coalescence-resistive-mhd-4.8.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/capabilities/m-aneos-1.0.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/capabilities/optab-1.3.1.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/capabilities/singularity-eos-1.12.1.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/capabilities/warpx-cpu-26.07.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/capabilities/warpx-cuda-openpmd-26.07.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/README.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/README.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/artifact_provenance.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/hypothesis_ledger.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/mvp_manifest.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/mvp_report.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/artifacts/commission_binary64_ops.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/artifacts/commission_series_round_002.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/artifacts/commission_series_round_003.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/artifacts/euler_bound_002_prospective.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/artifacts/euler_ten_step_error.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/scripts/commission_binary64_ops.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/scripts/commission_series_round_002.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/scripts/commission_series_round_003.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/scripts/euler_bound_002_prospective.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/record/workspace/scripts/euler_ten_step_error.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/sha256.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/validation.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/agent_roles_validation/verify_record.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/README.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/campaign_instruction.txt +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/anchor_operator_validation.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/gem_anchor_validation.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/gem_collisionless.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_0002_audit_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_0003_audit_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided/prior_campaign_audit_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/guided_commission.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/hypothesis.txt +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/plot_results.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/artifact_provenance.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/claim_summary.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/guided_commissioning.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/hypothesis_ledger.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/literature_searches.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/mvp_manifest.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/mvp_report.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/transcript.jsonl +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000012.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000013.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000019.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000020.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000026.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000027.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000032.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000033.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000037.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000041.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000042.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000043.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/.acs/evidence_programs/iteration_000049.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/analyze_ensemble.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/analyze_manifest.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/commission_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/ensemble_result.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/diagnostic_overview.svg +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/final_fields.npz +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t1_s20260902/warpx_used_inputs +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/diagnostic_overview.svg +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/final_fields.npz +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/run_p16_t20_s20260902/warpx_used_inputs +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260902_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260903_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t1_s20260904_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260902_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260903_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p16_t20_s20260904_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260902_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260903_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t1_s20260904_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260902_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260903_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/campaign/summaries/p8_t20_s20260904_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/design_pin.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/energy_reader.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fallback_solver_plan.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_manifest.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/commission_output_wb.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260902_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260903_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t1_s20260904_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260902_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260903_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p16_t20_s20260904_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260902_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260903_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t1_s20260904_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260902_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260903_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/fixtures/inp/p8_t20_s20260904_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/gen_fixtures.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/anchor_operator_validation.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_anchor_validation.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/gem_collisionless.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0002_audit_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_0003_audit_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/record/workspace/guided/prior_campaign_audit_summary.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/collisionless_gem_reconnection/verify_record.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/README.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/capture_tui.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/hypothesis.txt +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/plot_results.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/README.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/artifact_provenance.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/claim_summary.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/hypothesis_ledger.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/mvp_manifest.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/mvp_report.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/transcript.jsonl +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/analyze_results.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/calc_growth.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/linear_stability.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/mode_analysis.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/mode_analysis_results.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/pick_regime.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/regime_candidates.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/result_s1.npz +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/result_s10.npz +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/result_s10_dt025.npz +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/result_s1_dt025.npz +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/root_pattern_results.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p025.npz +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/root_s10_dt0p05.npz +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p025.npz +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/root_s1_dt0p05.npz +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs_dt025.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/simulate_gs_root.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/simulation_results.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/simulation_results_dt025.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/record/workspace/turing_diagnostic.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/reproduce.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/gray_scott_counterexample/verify_record.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/.gitignore +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/README.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/campaign_audit.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/campaign_instruction.txt +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/README.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/island_coalescence_evolution.png +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/reconnection_layer_physics.png +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/reconnection_microphysics_profiles.png +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/scaling_law_discovery.png +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/figures/simjecture_web_dashboard.png +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/guided/anchor_validation.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/guided/island_coalescence.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/guided/operator_validation.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/guided_commission.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/hypothesis.txt +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/literature_basis.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/demos/resistive_mhd_island_coalescence/plot_results.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/_static/demos/gem-ensemble-result.png +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/_static/demos/gem-reconnection-fields.png +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/_static/demos/gray-scott-completed-tui.svg +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/_static/demos/gray-scott-result.png +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/concepts/architecture.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/concepts/evidence-and-claims.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/demos/collisionless-gem.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/demos/gray-scott.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/development/documentation.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/development/releasing.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/getting-started/terminal-ui.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/how-to/add-a-capability.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/how-to/deploy-runtimes.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/how-to/guided-commissioning.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/reference/repository-map.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/requirements.txt +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/research/limitations.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/research/next-steps.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/research/run-0004.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/docs/research/status.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/environments/warpx-cpu.yml +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/AIStrategyDraft.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ActionExecution.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ActionFailureRecord.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/AttemptRecord.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/BlindedSearchReport.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/BlindedSearchRequest.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/CampaignAction.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/CampaignActionGraph.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/CampaignActionState.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/CampaignBudget.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/CampaignCheckpoint.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/CampaignState.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/CandidateEvaluation.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/CandidateResult.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/CapabilityManifest.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/Claim.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/CollisionalityIntervention.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ControlDirective.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/DecisionRecord.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/DiscoveryPackage.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/DispatchAttempt.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/DomainDiagnosisSummary.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/DomainEvolutionSummary.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/DomainPluginMetadata.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/DomainRunSummary.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/DomainTemplateSummary.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ExperimentSpec.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ExternalReceipt.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/FreshSeedIntervention.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/HumanIntervention.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/HypothesisNode.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/KineticSufficiencyDiscoveryPackage.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/KineticSufficiencyHypothesisInput.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/KineticSufficiencyResult.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/KineticSufficiencySolveResult.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/LifecycleEvent.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/MVPGuidedCommissioningSpec.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/MatchedPairFormalPredicate.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ModelCallProvenance.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/MultiActionCampaignReport.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/NormalizedResult.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/NumericalAssessment.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/NumericalDiagnostics.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/NumericalGate.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ObservablePrediction.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/OutboxIntent.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/PICCaseResult.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/PICConfig.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/PICConfirmationAttempt.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/PICConfirmationDesign.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/PICConfirmationReport.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/PICMixtureCaseResult.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/PICNumericalConfig.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/PICSufficiencyResult.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ParameterSpace.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ParticleStatisticsIntervention.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ProposalDraft.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ProposalRecord.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ProposalRequest.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ProposalValidation.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ProposedToolCall.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/QualifiedWarpXCampaignPackage.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/QualifiedWarpXInstrument.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ReferenceQualification.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ResearchBudget.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ResearchCampaignReport.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ResearchConclusion.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ResearchDecision.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ResearchEvidencePolicy.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ResearchHypothesis.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ResearchObservation.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ResearchProblemContract.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ResearchRelation.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ResearchToolManifest.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/ResearchToolResult.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/RunEvidence.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/RunPlan.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/SearchStrategy.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/SheetThicknessIntervention.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/SubprocessResearchToolConfig.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/SymmetricMixtureCandidate.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXCalibrationPoint.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXCaseSummary.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXCompiledCase.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXConfirmationAttempt.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXConfirmationDesign.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXConfirmationFailure.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXConfirmationReport.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXConfirmationResolution.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXExecutionProfile.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXNumericalConfig.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXPairSummary.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXPhysicalConfig.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXPhysicsQualificationRecord.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXQualificationRecord.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/WarpXQualifiedScope.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/mvp/MVPAgentAction.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/mvp/MVPAgentReport.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/mvp/MVPClaim.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/schemas/mvp/MVPClaimLedger.schema.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/scripts/postprocess_warpx_case.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/scripts/probe_provider.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/scripts/propose_hypothesis.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/scripts/propose_search_strategy.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/scripts/qualify_warpx.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/scripts/qualify_warpx_physics.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/scripts/run_admitted_proposal.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/scripts/run_blinded_search.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/scripts/run_qualified_warpx_campaign.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/scripts/run_warpx_confirmation.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/scripts/run_warpx_pair.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/SKILL.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/agents/openai.yaml +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/examples/atomec_runtime_smoke.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/examples/maneos_runtime_smoke.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/examples/singularity_runtime_smoke.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/manifest.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/references/execution-output.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/references/local-deployment.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/scripts/bootstrap_atomec.sh +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/scripts/bootstrap_maneos.sh +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/scripts/bootstrap_singularity_eos.sh +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/scripts/maneos_query.f90 +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/eos/scripts/singularity_query.cpp +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/flash-mhd/SKILL.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/flash-mhd/agents/openai.yaml +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/flash-mhd/examples/runtime_smoke.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/flash-mhd/manifest.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/flash-mhd/references/execution-output.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/flash-mhd/references/local-deployment.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/flash-mhd/references/model-validity.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/flash-mhd/references/private-install.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/flash-mhd/scripts/bootstrap_flash.sh +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/opacity/SKILL.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/opacity/agents/openai.yaml +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/opacity/examples/optab_runtime_smoke.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/opacity/manifest.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/opacity/references/execution-output.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/opacity/references/local-deployment.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/opacity/scripts/bootstrap_optab.sh +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/opacity/scripts/write_optab_preflight.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/python-experiment/SKILL.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/python-experiment/manifest.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/scientific-markdown/SKILL.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/scientific-markdown/agents/openai.yaml +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/scientific-markdown/manifest.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/SKILL.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/agents/openai.yaml +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/examples/implicit_em_smoke.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/examples/minimal_smoke.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/examples/openpmd_field_smoke.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/examples/openpmd_xz_reader.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/manifest.json +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/references/2d-xz-commissioning.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/references/cpu-launch-tuning.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/references/diagnostics.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/references/gpu-launch-tuning.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/references/hybrid-pic.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/references/local-cuda-deployment.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/references/numerical-risks.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/references/picmi-interface.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/references/resource-scaling.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/references/time-integration.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/scripts/benchmark_cpu_threads.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/scripts/benchmark_gpu.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/scripts/bootstrap_local_cuda.sh +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/scripts/probe_local_cuda.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/scripts/reduced_energy_budget.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/skills/warpx/scripts/run_local_cuda.sh +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/__main__.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/action_handlers.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/adapters/__init__.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/adapters/base.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/adapters/fake.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/adapters/pic.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/adapters/warpx.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/autonomous_research.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/benchmarks/__init__.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/benchmarks/electrostatic_pic.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/benchmarks/kinetic_sufficiency.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/campaign.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/campaign_jobs.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/confirmation.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/control.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/corrective_audit.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/deployment.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/discovery.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/domains/__init__.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/domains/base.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/domains/kinetic_sufficiency.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/kernel_worker.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/ledger.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/lifecycle.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/literature.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/llm.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/models.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/mvp_control.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/mvp_guidance.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/mvp_skills.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/oneshot.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/orchestration.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/outbox.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/parameters.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/presentation.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/proposals.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/research_tools.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/schema_export.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/search.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/semantics.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/tui/__init__.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/tui/app.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/tui/claim_views.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/warpx_analysis.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/warpx_campaign.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/warpx_confirmation.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/__init__.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/server.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/markdown.js +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/LICENSE.dagre.txt +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/LICENSE.dompurify.txt +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/LICENSE.katex.txt +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/LICENSE.marked.txt +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/README.md +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/dagre-2.0.0.min.js +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/dompurify-3.4.14.min.js +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/katex-0.18.4.min.js +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/katex-auto-render-0.18.4.min.js +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/src/conjecture_solver/web/static/vendor/marked-18.0.10.umd.js +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/__init__.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/fixtures/fake_warpx_runner.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_adapter.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_autonomous_research.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_benchmark.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_campaign.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_campaign_jobs.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_control.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_corrective_audit.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_deployment.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_domain_plugins.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_ledger.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_lifecycle.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_literature.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_llm.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_models.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_mvp_claims.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_mvp_control.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_mvp_monitor.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_mvp_pause.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_mvp_status_watch.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_oneshot.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_orchestration.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_outbox.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_parameters.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_pic.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_proposals.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_recorded_demo.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_role_assignments.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_schema_export.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_search.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_semantics.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_tui_claim_views.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_warpx.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_warpx_analysis.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_warpx_campaign.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_warpx_openpmd_xz.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_warpx_qualification.py +0 -0
- {simjecture-0.3.2 → simjecture-0.5.0}/tests/test_warpx_reduced_energy.py +0 -0
|
@@ -50,7 +50,16 @@ jobs:
|
|
|
50
50
|
- name: Install uv
|
|
51
51
|
run: python -m pip install uv
|
|
52
52
|
- name: Install locked environment
|
|
53
|
-
run: uv sync --frozen --extra tui
|
|
53
|
+
run: uv sync --frozen --extra tui --extra dsh
|
|
54
|
+
- uses: actions/setup-node@v4
|
|
55
|
+
with:
|
|
56
|
+
node-version: "22.23.1"
|
|
57
|
+
cache: npm
|
|
58
|
+
cache-dependency-path: integrations/dsh/package-lock.json
|
|
59
|
+
- name: Install pinned DSH test runtime
|
|
60
|
+
run: npm ci --prefix integrations/dsh
|
|
61
|
+
- name: Test DSH adapter and real MCP profile
|
|
62
|
+
run: SIMJECTURE_MCP_EXECUTABLE="$PWD/.venv/bin/simjecture-mcp" npm test --prefix integrations/dsh
|
|
54
63
|
- name: Lint
|
|
55
64
|
run: uv run ruff check .
|
|
56
65
|
- name: Test
|
|
@@ -40,7 +40,16 @@ jobs:
|
|
|
40
40
|
--ro-bind /lib64 /lib64 \
|
|
41
41
|
/usr/bin/true
|
|
42
42
|
- name: Install locked test environment
|
|
43
|
-
run: uv sync --frozen --extra tui
|
|
43
|
+
run: uv sync --frozen --extra tui --extra dsh
|
|
44
|
+
- uses: actions/setup-node@v4
|
|
45
|
+
with:
|
|
46
|
+
node-version: "22.23.1"
|
|
47
|
+
cache: npm
|
|
48
|
+
cache-dependency-path: integrations/dsh/package-lock.json
|
|
49
|
+
- name: Install pinned DSH test runtime
|
|
50
|
+
run: npm ci --prefix integrations/dsh
|
|
51
|
+
- name: Test DSH adapter and real MCP profile
|
|
52
|
+
run: SIMJECTURE_MCP_EXECUTABLE="$PWD/.venv/bin/simjecture-mcp" npm test --prefix integrations/dsh
|
|
44
53
|
- name: Lint release source
|
|
45
54
|
run: uv run ruff check .
|
|
46
55
|
- name: Test release source
|
|
@@ -4,6 +4,46 @@ 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
|
+
|
|
23
|
+
## 0.4.0 — 2026-09-20
|
|
24
|
+
|
|
25
|
+
- Updated the bundled DSH integration to the tested `0.1.5-rc.2` runtime,
|
|
26
|
+
including current session, tool-call, prompt and structured-output APIs.
|
|
27
|
+
The Python release and DSH bundle now share version `0.4.0`.
|
|
28
|
+
- Enabled native web search, page retrieval, shell, filesystem, skills,
|
|
29
|
+
workflows and configured plugins for research agents. Scientific calls retain
|
|
30
|
+
role restrictions; independent judges retain their frozen-case isolation.
|
|
31
|
+
- Separated the native research workspace from authoritative campaign files.
|
|
32
|
+
Upgrades start a fresh `.research-v1` conversation, reconcile existing kernel
|
|
33
|
+
state, and preserve older conversations. Built-in DSH file/shell policies
|
|
34
|
+
protect records; arbitrary installed plugins remain trusted process code.
|
|
35
|
+
- Added `read_workspace_image` for bounded PNG, JPEG and WebP image inspection
|
|
36
|
+
through MCP, with dimensions and content hashes. Inspection is not evidence
|
|
37
|
+
acceptance and requires a vision-capable model.
|
|
38
|
+
- Extended the Simote scientific tool catalog for image reads. Matching Simote
|
|
39
|
+
changes add AGY workers and judges; Simote remains a separate optional app.
|
|
40
|
+
- Added real-runtime DSH tests for role isolation, context pruning, V2/V3 log
|
|
41
|
+
migration, durable-job recovery and complete CLI/MCP pause/resume behavior.
|
|
42
|
+
- Verified native search, fetch, file writing and image inspection with real
|
|
43
|
+
DeepSeek API calls on non-simulation research tasks.
|
|
44
|
+
- Added a Linux launch bundle containing the wheel, source distribution,
|
|
45
|
+
matching DSH profile, setup/launch scripts and SHA-256 checksums.
|
|
46
|
+
|
|
7
47
|
## 0.3.2 — 2026-09-09
|
|
8
48
|
|
|
9
49
|
- Added `simjecture-call`, a one-shot JSON transport for trusted supervisors,
|
|
@@ -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
|
|
@@ -24,6 +24,7 @@ Requires-Dist: httpx<1,>=0.27
|
|
|
24
24
|
Requires-Dist: matplotlib<4,>=3.8
|
|
25
25
|
Requires-Dist: numpy<3,>=1.26
|
|
26
26
|
Requires-Dist: pandas<4,>=2.2
|
|
27
|
+
Requires-Dist: pillow<13,>=10
|
|
27
28
|
Requires-Dist: pydantic<3,>=2.9
|
|
28
29
|
Requires-Dist: scipy<2,>=1.12
|
|
29
30
|
Provides-Extra: dsh
|
|
@@ -49,9 +50,9 @@ writes its own experiments and diagnostics, and searches deliberately for the
|
|
|
49
50
|
simplest result that survives independent verification. The harness controls
|
|
50
51
|
what may count as evidence.
|
|
51
52
|
|
|
52
|
-
> **Research preview:** version 0.
|
|
53
|
-
>
|
|
54
|
-
>
|
|
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
|
|
55
56
|
> scientific prose, establish truth about nature from one simulator, or replace
|
|
56
57
|
> independent scientific review.
|
|
57
58
|
|
|
@@ -62,6 +63,23 @@ that have a sharp question and a checkable instrument. The 0.3 preview records
|
|
|
62
63
|
both the origin domain and that generalization, and adds a fluid-MHD campaign
|
|
63
64
|
whose unresolved repair state is preserved rather than hidden.
|
|
64
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
|
+
|
|
65
83
|
## The core idea: AI low-hanging fruit
|
|
66
84
|
|
|
67
85
|
Scientific problems are not uniformly difficult. A candidate may be buried in
|
|
@@ -289,11 +307,11 @@ the human-first projection.
|
|
|
289
307
|
|
|
290
308
|
## DeepSeek Harness integration
|
|
291
309
|
|
|
292
|
-
The v0.
|
|
310
|
+
The v0.4.0 integration moves the model-facing research loop to DeepSeek Harness
|
|
293
311
|
without moving scientific authority out of Simjecture. DSH owns the provider,
|
|
294
312
|
conversation, retry policy, compaction, and resumable session. A native MCP
|
|
295
|
-
boundary implements
|
|
296
|
-
sees
|
|
313
|
+
boundary implements 23 typed endpoints. A compact persistent Lead Scientist
|
|
314
|
+
sees eight scientific coordination/inspection tools plus native research tools and delegates claim work to fresh, scoped
|
|
297
315
|
Falsifier/Experimenter, Blocker Resolver, and Repair Scientist sessions. A separate fresh,
|
|
298
316
|
tool-free Judge reviews surviving claims. The Python campaign kernel continues to own hypotheses,
|
|
299
317
|
evidence contracts, commissioning, skills, simulation capabilities, sandboxing,
|
|
@@ -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
|
|
@@ -253,11 +270,11 @@ the human-first projection.
|
|
|
253
270
|
|
|
254
271
|
## DeepSeek Harness integration
|
|
255
272
|
|
|
256
|
-
The v0.
|
|
273
|
+
The v0.4.0 integration moves the model-facing research loop to DeepSeek Harness
|
|
257
274
|
without moving scientific authority out of Simjecture. DSH owns the provider,
|
|
258
275
|
conversation, retry policy, compaction, and resumable session. A native MCP
|
|
259
|
-
boundary implements
|
|
260
|
-
sees
|
|
276
|
+
boundary implements 23 typed endpoints. A compact persistent Lead Scientist
|
|
277
|
+
sees eight scientific coordination/inspection tools plus native research tools and delegates claim work to fresh, scoped
|
|
261
278
|
Falsifier/Experimenter, Blocker Resolver, and Repair Scientist sessions. A separate fresh,
|
|
262
279
|
tool-free Judge reviews surviving claims. The Python campaign kernel continues to own hypotheses,
|
|
263
280
|
evidence contracts, commissioning, skills, simulation capabilities, sandboxing,
|
|
@@ -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
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
# Run a Simjecture campaign under DSH
|
|
2
2
|
|
|
3
3
|
The DSH integration is a native-tool profile plus a small resumable driver for
|
|
4
|
-
a durable Simjecture campaign. Version 0.
|
|
4
|
+
a durable Simjecture campaign. Version 0.4.0 uses a persistent Lead Scientist
|
|
5
5
|
and fresh, claim-scoped Falsifier, Repair Scientist, and tool-free Judge
|
|
6
6
|
sessions. Fresh workers see bounded kernel state rather than inherited chat.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
Native web search, page fetch, shell, filesystem, skills, workflows and configured
|
|
8
|
+
plugins remain available to research agents. Only authoritative Simjecture tools
|
|
9
|
+
are filtered by scientific role. The Python MCP process governs campaign state,
|
|
10
|
+
contracts, evidence acceptance, and tracked experiments. Its image endpoint
|
|
11
|
+
returns bounded PNG/JPEG/WebP pixels for vision-capable models.
|
|
12
|
+
|
|
13
|
+
The profile uses DSH's `workspace-write` file policy around a separate research
|
|
14
|
+
directory and approval `never` (no prompts; escalation requests are rejected).
|
|
15
|
+
Experiment execution retains Simjecture's separate Bubblewrap sandbox.
|
|
16
|
+
|
|
17
|
+
For the upstream version review and migration requirements, see the
|
|
18
|
+
[DSH upgrade assessment](dsh-upgrade-assessment.md).
|
|
14
19
|
|
|
15
20
|
## Provision the two runtimes
|
|
16
21
|
|
|
@@ -59,8 +64,8 @@ resulting local bundle into the isolated harness profile:
|
|
|
59
64
|
```bash
|
|
60
65
|
SIMJECTURE_DSH_PROFILE="$(simjecture dsh-profile)"
|
|
61
66
|
npm pack "$SIMJECTURE_DSH_PROFILE" --pack-destination /tmp
|
|
62
|
-
dsh plugin --profile simjecture add @deepseek-ai/dsh-headless@0.1.
|
|
63
|
-
dsh plugin --profile simjecture add /tmp/simjecture-dsh-bundle-0.
|
|
67
|
+
dsh plugin --profile simjecture add @deepseek-ai/dsh-headless@0.1.5-rc.2
|
|
68
|
+
dsh plugin --profile simjecture add /tmp/simjecture-dsh-bundle-0.4.0.tgz
|
|
64
69
|
```
|
|
65
70
|
|
|
66
71
|
For a checkout-only development install, use the directory directly when the
|
|
@@ -71,11 +76,13 @@ dsh plugin --profile simjecture add "$PWD/integrations/dsh"
|
|
|
71
76
|
```
|
|
72
77
|
|
|
73
78
|
The bundle pins the tested DSH prerelease and MCP-client prerelease in its
|
|
74
|
-
`package.json`.
|
|
75
|
-
|
|
79
|
+
`package.json`. The source bundle includes a `package-lock.json` for `npm ci` and runtime tests.
|
|
80
|
+
Keep the separate lockfile produced by the DSH plugin manager with the
|
|
81
|
+
deployment artifact; `npm pack` does not create a lockfile. Do not widen the pins.
|
|
76
82
|
|
|
77
|
-
DSH `0.1.
|
|
78
|
-
|
|
83
|
+
DSH `0.1.5-rc.2` requires Node.js `^22.19.0` or `>=24.0.0`. Install the DSH CLI
|
|
84
|
+
at that exact version (`npm install -g @deepseek-ai/dsh@0.1.5-rc.2`)
|
|
85
|
+
and verify that `dsh` is on `PATH`
|
|
79
86
|
before installing this isolated profile.
|
|
80
87
|
|
|
81
88
|
## Inspect the resolved configuration
|
|
@@ -91,8 +98,8 @@ Confirm that the native MCP client is named `simjecture`, starts
|
|
|
91
98
|
`simjecture-mcp`, carries the `SIMJECTURE_*` environment, and has
|
|
92
99
|
`failOnStartupError: true`. Also confirm `approval.policy: never`, the
|
|
93
100
|
`simjecture` permission preset (`workspace-write` plus `never`), and that the
|
|
94
|
-
|
|
95
|
-
|
|
101
|
+
native research tools remain enabled. A startup or handshake failure must stop
|
|
102
|
+
the profile before its first model request.
|
|
96
103
|
|
|
97
104
|
Completed large execution and workspace-write exchanges stay fully visible for
|
|
98
105
|
one model request. At a later step the profile may replace the balanced exchange
|
|
@@ -138,11 +145,12 @@ simjecture-mcp --workspace "$SIMJECTURE_WORKSPACE" \
|
|
|
138
145
|
|
|
139
146
|
That command speaks MCP over stdio and expects an MCP client; it is not a
|
|
140
147
|
human-facing REPL. Use DSH's initialize/list-tools/call-tool trace to verify the
|
|
141
|
-
|
|
142
|
-
tools
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
148
|
+
23 explicit MCP endpoints before submitting work. The lead has eight scientific
|
|
149
|
+
coordination/inspection tools alongside native research tools. Workers receive
|
|
150
|
+
role-specific scientific subsets and claim guards, while retaining native tools.
|
|
151
|
+
Native delegated children inherit their parent's scientific restrictions. The
|
|
152
|
+
independent judge sees only its frozen case and DSH's structured-output handoff;
|
|
153
|
+
raw judge prepare/commit operations remain private to the composite.
|
|
146
154
|
|
|
147
155
|
`observation_sufficient=true` means that a linked artifact satisfies its
|
|
148
156
|
selected prospective contract; it is not a researcher-issued support verdict.
|
|
@@ -191,3 +199,65 @@ a `repairs` child; an honestly complete blocker may close as
|
|
|
191
199
|
the immutable hand-off artifact. If later review finds an error, append a
|
|
192
200
|
corrective audit record rather than editing the original ledger, transcript, or
|
|
193
201
|
report.
|
|
202
|
+
|
|
203
|
+
## Upgrade an existing deployment
|
|
204
|
+
|
|
205
|
+
Stop its campaign supervisor and back up the entire campaign directory, including
|
|
206
|
+
`operator_input/dsh_sessions`, before upgrading the CLI and isolated profile.
|
|
207
|
+
Install DSH `0.1.5-rc.2`, replace the headless bundle with the matching version,
|
|
208
|
+
and install Simjecture's `0.4.0` profile using the commands above. Inspect
|
|
209
|
+
`--dump-config` before resuming. Do not mix the `0.1.6` alpha packages into this
|
|
210
|
+
profile. Provider/model selection stays in your DSH configuration.
|
|
211
|
+
|
|
212
|
+
DSH publishes a new V3 session generation when opening an older supported log
|
|
213
|
+
for writing; it retains the older generation. A rollback must use the complete
|
|
214
|
+
pre-upgrade campaign backup and the matching older runtime/profile. Do not point
|
|
215
|
+
an older DSH runtime at a campaign that has continued under the newer version.
|
|
216
|
+
|
|
217
|
+
To reproduce adapter validation from this checkout:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
uv sync --extra dsh
|
|
221
|
+
npm ci --prefix integrations/dsh
|
|
222
|
+
SIMJECTURE_MCP_EXECUTABLE="$PWD/.venv/bin/simjecture-mcp" npm test --prefix integrations/dsh
|
|
223
|
+
uv run pytest -q tests/test_dsh_bundle.py tests/test_dsh_engine.py
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
The JavaScript tests use the pinned real DSH agent loop, tools, child runtime,
|
|
227
|
+
and persistence, with a deterministic model adapter. The CLI test also starts
|
|
228
|
+
the real Python MCP server and exercises snapshot, finalization refusal,
|
|
229
|
+
pause/resume, and mandatory-startup failure. It skips when the Python executable
|
|
230
|
+
is unavailable. These tests make no paid model requests and run no scientific
|
|
231
|
+
simulation. The test profile uses filesystem polling to avoid host inotify
|
|
232
|
+
limits; this is a test setting, not a change to deployed profiles.
|
|
233
|
+
|
|
234
|
+
## Research workspace and record boundary
|
|
235
|
+
|
|
236
|
+
The runner creates a native research directory outside `SIMJECTURE_WORKSPACE`.
|
|
237
|
+
Its default is the sibling `.simjecture-research/<session-id>` directory;
|
|
238
|
+
`SIMJECTURE_DSH_RESEARCH_ROOT` can select another directory. Overlapping research
|
|
239
|
+
and campaign roots are rejected. Native DSH file and shell tools may write in
|
|
240
|
+
this research directory; they cannot directly overwrite campaign files under
|
|
241
|
+
the configured file policy. Network tools remain enabled. Copy experiment source
|
|
242
|
+
into the scientific workspace using `write_workspace_file` before submitting a
|
|
243
|
+
contracted run. Native notes and calculations do not automatically become evidence.
|
|
244
|
+
|
|
245
|
+
Bundle 0.4.0 uses the deterministic `<launch-session-id>.research-v1` DSH identity.
|
|
246
|
+
This deliberately avoids resuming pre-0.4.0 sessions whose immutable working
|
|
247
|
+
directory was the campaign itself. On first upgrade, the researcher starts a
|
|
248
|
+
fresh conversation and reconciles the existing kernel snapshot; previous logs
|
|
249
|
+
are retained. Later pause/resume uses the new stable identity normally.
|
|
250
|
+
|
|
251
|
+
This is a boundary for DSH's enforcing built-in tools, not an OS security boundary
|
|
252
|
+
around arbitrary plugin code. Installed extensions are trusted code with the
|
|
253
|
+
DSH process's authority; upstream 0.1.5 workflow workers likewise are not a
|
|
254
|
+
security sandbox. Deploy the scientific service under a separate account or on
|
|
255
|
+
another host if protection against hostile extensions is required. This profile
|
|
256
|
+
does not install that account/service separation.
|
|
257
|
+
|
|
258
|
+
`read_workspace_image(path)` accepts campaign-relative PNG, JPEG, and WebP files
|
|
259
|
+
up to 4 MiB and 16 megapixels. MCP clients receive actual image content plus
|
|
260
|
+
path, dimensions, byte count and SHA-256 metadata. A vision-capable model is
|
|
261
|
+
required to interpret the pixels. Image reading is non-mutating and does not
|
|
262
|
+
promote an artifact to scientific evidence. The independent judge still receives
|
|
263
|
+
only its frozen adjudication packet, not unrestricted browsing or image tools.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# DSH upgrade assessment — 2026-09-20
|
|
2
|
+
|
|
3
|
+
Migration implemented: Simjecture profile `0.2.3` pins DSH `0.1.5-rc.2`.
|
|
4
|
+
The scientific CampaignKernel and its evidence contract remain unchanged.
|
|
5
|
+
The adapter changes and validation described below replace the earlier
|
|
6
|
+
recommendation to retain `0.1.1-rc.2` pending compatibility work.
|
|
7
|
+
|
|
8
|
+
The official npm registry currently tags `0.1.5-rc.2` as `latest` and `next`,
|
|
9
|
+
and `0.1.6-alpha.2` as `alpha`. These are all prereleases. The recommended first
|
|
10
|
+
migration target is the default-channel `0.1.5-rc.2`, keeping the alpha work
|
|
11
|
+
separate. Versions were checked with `npm view @deepseek-ai/dsh dist-tags --json`.
|
|
12
|
+
|
|
13
|
+
## Compatibility findings addressed
|
|
14
|
+
|
|
15
|
+
The audit inspected upstream tag `dsh-v0.1.5-rc.2`, commit
|
|
16
|
+
`fb2c4b9e698e30edb738bca4cf0618587db7d203`.
|
|
17
|
+
|
|
18
|
+
| Boundary | Previous adapter | Upstream target | Migration requirement |
|
|
19
|
+
| --- | --- | --- | --- |
|
|
20
|
+
| Session history | `runner.js` and `context-elider.js` read `session.events` | `Session` exposes `snapshotEvents()` and `eventAt()` instead | Migrate history access and exercise resume, summarization, and pruning against real DSH |
|
|
21
|
+
| Surface replacement | `context-elider.js` writes `{ op: 'replace', start, end }` | `SurfaceOp` requires `startSeq` and `endSeq` | Update replacement events and test balanced tool exchanges and preserved original history |
|
|
22
|
+
| Durable sessions | Existing campaign-local DSH logs | Target includes session-format V3 and V2-to-V3 migration | Test upgrade on copies of old logs, including restart and failed migration; retain originals for rollback |
|
|
23
|
+
| Profile composition | Pinned headless profile, disabled generic tools, seven lead tools and scoped workers | Plugin composition and runtime have evolved | Inspect resolved configuration and actual tool catalogs; test mandatory MCP startup failure and every role restriction |
|
|
24
|
+
|
|
25
|
+
Primary source files:
|
|
26
|
+
|
|
27
|
+
- [Session history implementation](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.5-rc.2/packages/core/session/src/index.ts)
|
|
28
|
+
- [Surface event types](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.5-rc.2/packages/core/session/src/types.ts)
|
|
29
|
+
- [V2-to-V3 migration](https://github.com/deepseek-ai/deepseek-harness/blob/dsh-v0.1.5-rc.2/packages/session/session-format-v2-to-v3/src/migration.ts)
|
|
30
|
+
- [Official releases](https://github.com/deepseek-ai/deepseek-harness/releases)
|
|
31
|
+
|
|
32
|
+
The `0.1.6` release notes additionally describe headless stdin/session/JSON-event
|
|
33
|
+
support, MCP SDK v2, asynchronous agent initialization, deprecation of synchronous
|
|
34
|
+
history readers, and changes to plugin loading. Those features may eventually
|
|
35
|
+
simplify our custom driver, but do not by themselves replace its campaign budget,
|
|
36
|
+
control-file, activity projection, and reconciliation responsibilities. An alpha
|
|
37
|
+
migration should use its asynchronous history API rather than adopting a newly
|
|
38
|
+
deprecated synchronous interface.
|
|
39
|
+
|
|
40
|
+
## Why the scientific kernel does not need to change
|
|
41
|
+
|
|
42
|
+
DSH owns model requests, retries, conversation history, compaction, and child
|
|
43
|
+
sessions. CampaignKernel owns contracts, claim disposition, evidence provenance,
|
|
44
|
+
sandboxing, durable simulation jobs, and the deterministic finish gate. The
|
|
45
|
+
confirmed upstream breaks are in the JavaScript adapter's DSH APIs, not the
|
|
46
|
+
scientific MCP contract. No kernel schema migration is justified by these changes.
|
|
47
|
+
|
|
48
|
+
The version-change acceptance criteria require a real-runtime adapter smoke test in addition
|
|
49
|
+
to the existing bundle tests: fresh campaign, each scoped role, tool-free judge,
|
|
50
|
+
context pruning, pause/resume on migrated logs, interrupted durable job recovery,
|
|
51
|
+
and finalization only through the kernel gate. Existing source-string/fake tests
|
|
52
|
+
alone cannot qualify a DSH version change. Install and test an isolated profile;
|
|
53
|
+
do not migrate active campaign logs in place during evaluation.
|
|
54
|
+
|
|
55
|
+
## Completed validation
|
|
56
|
+
|
|
57
|
+
The adapter now uses `snapshotEvents()` / `eventAt()`, V3 surface replacement
|
|
58
|
+
fields, the renamed `ToolCallId` export, and `personaPrefix`. Removed profile
|
|
59
|
+
rows no longer produce missing-entry warnings. Claim guards attach at
|
|
60
|
+
`agent/created`, before a child receives its first prompt. The Blocker Resolver
|
|
61
|
+
allows DSH's schema-validated `structured_output` handoff. The Judge uses the
|
|
62
|
+
supported schema subset and explicitly rejects inconsistent decision/disposition
|
|
63
|
+
pairs before calling the kernel.
|
|
64
|
+
|
|
65
|
+
The checked-in Node tests run real DSH services with deterministic model output.
|
|
66
|
+
They cover original-history preservation, V2-to-V3 migration, fresh/resumed lead
|
|
67
|
+
sessions, each worker's first-call mutation guard, independent judge tools and
|
|
68
|
+
usage, and job reconciliation without model polling or resubmission. A complete
|
|
69
|
+
CLI/profile/Python-MCP test verifies the exact lead tool catalog, immutable
|
|
70
|
+
snapshot access, rejection of premature finalization, pause/resume, and no model
|
|
71
|
+
request after mandatory MCP startup failure. No paid-provider or long-running
|
|
72
|
+
scientific campaign was used for qualification. Production profiles and existing
|
|
73
|
+
campaign logs were not modified during this work.
|