simjecture 0.1.0__py3-none-any.whl
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.
- conjecture_solver/__init__.py +10 -0
- conjecture_solver/__main__.py +4 -0
- conjecture_solver/action_handlers.py +459 -0
- conjecture_solver/adapters/__init__.py +7 -0
- conjecture_solver/adapters/base.py +96 -0
- conjecture_solver/adapters/fake.py +155 -0
- conjecture_solver/adapters/pic.py +196 -0
- conjecture_solver/adapters/warpx.py +1375 -0
- conjecture_solver/autonomous_research.py +1071 -0
- conjecture_solver/benchmarks/__init__.py +6 -0
- conjecture_solver/benchmarks/electrostatic_pic.py +547 -0
- conjecture_solver/benchmarks/kinetic_sufficiency.py +318 -0
- conjecture_solver/builtin_skills/warpx/SKILL.md +151 -0
- conjecture_solver/builtin_skills/warpx/agents/openai.yaml +4 -0
- conjecture_solver/builtin_skills/warpx/examples/implicit_em_smoke.py +74 -0
- conjecture_solver/builtin_skills/warpx/examples/minimal_smoke.py +54 -0
- conjecture_solver/builtin_skills/warpx/examples/openpmd_field_smoke.py +87 -0
- conjecture_solver/builtin_skills/warpx/manifest.json +11 -0
- conjecture_solver/builtin_skills/warpx/references/2d-xz-commissioning.md +145 -0
- conjecture_solver/builtin_skills/warpx/references/cpu-launch-tuning.md +54 -0
- conjecture_solver/builtin_skills/warpx/references/diagnostics.md +139 -0
- conjecture_solver/builtin_skills/warpx/references/gpu-launch-tuning.md +79 -0
- conjecture_solver/builtin_skills/warpx/references/local-cuda-deployment.md +87 -0
- conjecture_solver/builtin_skills/warpx/references/numerical-risks.md +32 -0
- conjecture_solver/builtin_skills/warpx/references/picmi-interface.md +118 -0
- conjecture_solver/builtin_skills/warpx/references/resource-scaling.md +24 -0
- conjecture_solver/builtin_skills/warpx/references/time-integration.md +58 -0
- conjecture_solver/builtin_skills/warpx/scripts/benchmark_cpu_threads.py +207 -0
- conjecture_solver/builtin_skills/warpx/scripts/benchmark_gpu.py +242 -0
- conjecture_solver/builtin_skills/warpx/scripts/bootstrap_local_cuda.sh +82 -0
- conjecture_solver/builtin_skills/warpx/scripts/probe_local_cuda.py +110 -0
- conjecture_solver/builtin_skills/warpx/scripts/reduced_energy_budget.py +195 -0
- conjecture_solver/builtin_skills/warpx/scripts/run_local_cuda.sh +39 -0
- conjecture_solver/campaign.py +406 -0
- conjecture_solver/cli.py +963 -0
- conjecture_solver/confirmation.py +287 -0
- conjecture_solver/control.py +234 -0
- conjecture_solver/deployment.py +874 -0
- conjecture_solver/discovery.py +68 -0
- conjecture_solver/domains/__init__.py +40 -0
- conjecture_solver/domains/base.py +157 -0
- conjecture_solver/domains/kinetic_sufficiency.py +521 -0
- conjecture_solver/ledger.py +238 -0
- conjecture_solver/lifecycle.py +131 -0
- conjecture_solver/literature.py +494 -0
- conjecture_solver/llm.py +228 -0
- conjecture_solver/models.py +279 -0
- conjecture_solver/mvp_agent.py +3212 -0
- conjecture_solver/mvp_claims.py +1279 -0
- conjecture_solver/mvp_control.py +322 -0
- conjecture_solver/mvp_guidance.py +172 -0
- conjecture_solver/mvp_launch.py +1296 -0
- conjecture_solver/mvp_monitor.py +1487 -0
- conjecture_solver/mvp_skills.py +538 -0
- conjecture_solver/orchestration.py +578 -0
- conjecture_solver/outbox.py +526 -0
- conjecture_solver/parameters.py +394 -0
- conjecture_solver/proposals.py +427 -0
- conjecture_solver/research_tools.py +278 -0
- conjecture_solver/schema_export.py +246 -0
- conjecture_solver/search.py +1047 -0
- conjecture_solver/semantics.py +146 -0
- conjecture_solver/tui/__init__.py +7 -0
- conjecture_solver/tui/app.py +202 -0
- conjecture_solver/tui/claim_views.py +213 -0
- conjecture_solver/tui/screens.py +1014 -0
- conjecture_solver/warpx_analysis.py +184 -0
- conjecture_solver/warpx_campaign.py +148 -0
- conjecture_solver/warpx_confirmation.py +617 -0
- simjecture-0.1.0.dist-info/METADATA +400 -0
- simjecture-0.1.0.dist-info/RECORD +75 -0
- simjecture-0.1.0.dist-info/WHEEL +4 -0
- simjecture-0.1.0.dist-info/entry_points.txt +4 -0
- simjecture-0.1.0.dist-info/licenses/LICENSE +202 -0
- simjecture-0.1.0.dist-info/licenses/NOTICE +6 -0
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: simjecture
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Evidence-governed autonomous experimentation and falsification for computational science
|
|
5
|
+
Project-URL: Homepage, https://github.com/tomzhu0225/simjecture
|
|
6
|
+
Project-URL: Documentation, https://github.com/tomzhu0225/simjecture/tree/main/docs
|
|
7
|
+
Project-URL: Repository, https://github.com/tomzhu0225/simjecture
|
|
8
|
+
Project-URL: Issues, https://github.com/tomzhu0225/simjecture/issues
|
|
9
|
+
Author: Bowen Zhu
|
|
10
|
+
License-Expression: Apache-2.0
|
|
11
|
+
License-File: LICENSE
|
|
12
|
+
License-File: NOTICE
|
|
13
|
+
Keywords: autonomous science,computational physics,falsification,hypothesis testing,scientific agents,simulation
|
|
14
|
+
Classifier: Development Status :: 3 - Alpha
|
|
15
|
+
Classifier: Intended Audience :: Science/Research
|
|
16
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
17
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
18
|
+
Classifier: Programming Language :: Python :: 3
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Topic :: Scientific/Engineering
|
|
22
|
+
Requires-Python: >=3.11
|
|
23
|
+
Requires-Dist: httpx<1,>=0.27
|
|
24
|
+
Requires-Dist: matplotlib<4,>=3.8
|
|
25
|
+
Requires-Dist: numpy<3,>=1.26
|
|
26
|
+
Requires-Dist: pandas<4,>=2.2
|
|
27
|
+
Requires-Dist: pydantic<3,>=2.9
|
|
28
|
+
Requires-Dist: scipy<2,>=1.12
|
|
29
|
+
Provides-Extra: tui
|
|
30
|
+
Requires-Dist: textual<9,>=2.0; extra == 'tui'
|
|
31
|
+
Description-Content-Type: text/markdown
|
|
32
|
+
|
|
33
|
+
# Simjecture
|
|
34
|
+
|
|
35
|
+
**Hypothesize. Simulate. Falsify.**
|
|
36
|
+
|
|
37
|
+
Simjecture is an evidence-governed autonomous experimentation and falsification
|
|
38
|
+
system for computational science. It tackles long-horizon problems inside a
|
|
39
|
+
human-defined problem contract where finding a useful law or counterexample
|
|
40
|
+
requires a difficult search, but a proposed result can be checked much more
|
|
41
|
+
cheaply. The model grows and tests a tree-like graph of competing hypotheses,
|
|
42
|
+
writes its own experiments and diagnostics, and searches deliberately for the
|
|
43
|
+
simplest result that survives independent verification. The harness controls
|
|
44
|
+
what may count as evidence.
|
|
45
|
+
|
|
46
|
+
> **Research preview:** version 0.1 validates the infrastructure and records real
|
|
47
|
+
> autonomous simulation campaigns. It does not claim to solve arbitrary
|
|
48
|
+
> scientific prose, establish truth about nature from one simulator, or replace
|
|
49
|
+
> independent scientific review.
|
|
50
|
+
|
|
51
|
+
The project began as an autonomous conjecture-solving harness for computational
|
|
52
|
+
plasma physics. The same claim ledger, sandbox, commissioning rules, and
|
|
53
|
+
capability framework are now ready to extend to other simulation-gated fields
|
|
54
|
+
that have a sharp question and a checkable instrument. Version 0.1 records
|
|
55
|
+
both the origin domain and that generalization.
|
|
56
|
+
|
|
57
|
+
## The core idea: AI low-hanging fruit
|
|
58
|
+
|
|
59
|
+
Scientific problems are not uniformly difficult. A candidate may be buried in
|
|
60
|
+
a vast space of mechanisms, representations, and parameter regimes, while the
|
|
61
|
+
decisive properties of that candidate are comparatively inexpensive to test.
|
|
62
|
+
This **discovery–verification asymmetry** is a difficulty inversion: a problem
|
|
63
|
+
that is high-hanging for human intuition may be low-hanging for a machine that
|
|
64
|
+
can sustain search, write code, change representation, and reject failed ideas
|
|
65
|
+
without fatigue.
|
|
66
|
+
|
|
67
|
+
An **AI low-hanging-fruit problem** is therefore not a trivial problem. It is a
|
|
68
|
+
scientifically valuable problem with a favorable machine difficulty profile:
|
|
69
|
+
|
|
70
|
+
- a sharply defined question and evidence standard;
|
|
71
|
+
- a large but structured space that benefits from persistent search;
|
|
72
|
+
- a compact possible answer, such as a matched counterexample, scaling law,
|
|
73
|
+
phase boundary, missing variable, or impossibility statement; and
|
|
74
|
+
- an affordable path to checking that answer without trusting model prose.
|
|
75
|
+
|
|
76
|
+
The project tries to exploit this structure in computational science, where
|
|
77
|
+
verification is graded, stochastic, model-dependent, and numerically fallible.
|
|
78
|
+
A simulator producing a plausible figure is not a verifier; admissibility,
|
|
79
|
+
convergence, uncertainty, independent diagnostics, and fresh confirmation all
|
|
80
|
+
matter.
|
|
81
|
+
|
|
82
|
+
## Search a hypothesis tree, not just a parameter grid
|
|
83
|
+
|
|
84
|
+
The human supplies an immutable root proposition and the scientific boundaries.
|
|
85
|
+
The agent owns the route through a changing frontier of daughter hypotheses:
|
|
86
|
+
competing explanations, measurable predictions, discriminating tests,
|
|
87
|
+
instrument checks, specializations, and repairs. Although “hypothesis tree” is
|
|
88
|
+
the intuitive picture, the durable structure is a typed graph because one node
|
|
89
|
+
may depend on or test several others.
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
root proposition
|
|
93
|
+
├── alternative explanation A
|
|
94
|
+
├── alternative explanation B
|
|
95
|
+
├── predicted signature / discriminating test
|
|
96
|
+
├── instrument and numerical validity claims
|
|
97
|
+
└── repaired or narrower proposition after a failure
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Each experiment should remove uncertainty from this graph, not merely add
|
|
101
|
+
another point to a scan. A failed diagnostic challenges the instrument rather
|
|
102
|
+
than the physics. A valid counterexample may reject a parent hypothesis, but it
|
|
103
|
+
only *motivates* a repaired daughter; that daughter needs new evidence of its
|
|
104
|
+
own. Falsified branches remain useful recorded knowledge rather than being
|
|
105
|
+
rewritten into a success story.
|
|
106
|
+
|
|
107
|
+
## Counterexamples are first-class outputs
|
|
108
|
+
|
|
109
|
+
The default scientific posture is destructive: ask what cheapest valid
|
|
110
|
+
calculation could break the active claim. Useful witnesses include two matched
|
|
111
|
+
cases with different outcomes, a bound or invariance violation, a monotonicity
|
|
112
|
+
reversal, a threshold crossing, or a path-dependence pair. A candidate witness
|
|
113
|
+
has asymmetric leverage: one verified witness can reject a universal
|
|
114
|
+
sufficiency or bound claim even when confirming that claim everywhere would be
|
|
115
|
+
impossible. It must still pass numerical and physical validity gates, survive
|
|
116
|
+
fresh held-out tests, and face deliberate attempts to explain it away or
|
|
117
|
+
falsify the resulting law.
|
|
118
|
+
|
|
119
|
+
The primary output is therefore not generated prose. It is an independently
|
|
120
|
+
inspectable **discovery package**: the hypothesis graph, compact discovery
|
|
121
|
+
object, exact commands, source hashes, simulator outputs, diagnostics,
|
|
122
|
+
uncertainty and validation results, failed alternatives, falsification attempts,
|
|
123
|
+
and scoped claim dispositions. An honest bounded null result is also acceptable.
|
|
124
|
+
|
|
125
|
+
## How the search works
|
|
126
|
+
|
|
127
|
+
```text
|
|
128
|
+
human-defined question + root hypothesis + evidence standard
|
|
129
|
+
│
|
|
130
|
+
▼
|
|
131
|
+
search the typed hypothesis frontier
|
|
132
|
+
│
|
|
133
|
+
▼
|
|
134
|
+
choose a discriminating intervention
|
|
135
|
+
│
|
|
136
|
+
▼
|
|
137
|
+
agent-authored experiment, diagnostic, or simulation
|
|
138
|
+
│
|
|
139
|
+
▼
|
|
140
|
+
commissioning + physical and numerical validity gates
|
|
141
|
+
│ │
|
|
142
|
+
invalid run valid evidence
|
|
143
|
+
│ │
|
|
144
|
+
recorded non-evidence support / counterexample /
|
|
145
|
+
and instrument repair unresolved result
|
|
146
|
+
│ │
|
|
147
|
+
└──────────┬──────────────┘
|
|
148
|
+
▼
|
|
149
|
+
update the hypothesis graph
|
|
150
|
+
│
|
|
151
|
+
▼
|
|
152
|
+
fresh confirmation + adversarial attack
|
|
153
|
+
│
|
|
154
|
+
▼
|
|
155
|
+
verifiable discovery package
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
The agent owns scientific choices within the supplied scope; the harness owns
|
|
159
|
+
evidence eligibility. It does not hard-code a plasma model, diagnostic sequence,
|
|
160
|
+
or daughter-hypothesis tree, even though plasma was the first domain. It does
|
|
161
|
+
require prospective evidence contracts, commissioned instruments, immutable
|
|
162
|
+
provenance, and guarded claim closure so that a persuasive explanation cannot
|
|
163
|
+
substitute for a valid result.
|
|
164
|
+
|
|
165
|
+
## Explore a completed run — no API key required
|
|
166
|
+
|
|
167
|
+
The fastest way to see Simjecture is to replay the recorded Gray–Scott campaign.
|
|
168
|
+
It is a real 23.8-minute autonomous run, preserved with its hypothesis tree,
|
|
169
|
+
transcript, agent-written programs, numerical evidence, and provenance. Replay
|
|
170
|
+
is read-only: it makes no model calls and starts no simulations.
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
git clone https://github.com/tomzhu0225/simjecture.git
|
|
174
|
+
cd simjecture
|
|
175
|
+
uv sync --frozen --extra tui
|
|
176
|
+
uv run python demos/gray_scott_counterexample/verify_record.py
|
|
177
|
+
uv run simjecture tui demos/gray_scott_counterexample/record
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Inside the dashboard, select hypotheses to inspect their linked evidence and
|
|
181
|
+
validation claims; press `v` for the complete typed audit ledger. For a
|
|
182
|
+
non-interactive summary instead, run:
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
uv run simjecture status demos/gray_scott_counterexample/record
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
The dashboard is a human-readable projection. The files in the recorded run
|
|
189
|
+
remain the authoritative scientific record.
|
|
190
|
+
|
|
191
|
+
## Quick start
|
|
192
|
+
|
|
193
|
+
Requirements:
|
|
194
|
+
|
|
195
|
+
- Linux with Python 3.11 or newer
|
|
196
|
+
- [uv](https://docs.astral.sh/uv/)
|
|
197
|
+
- Bubblewrap (`bwrap`) for the isolated natural-language MVP
|
|
198
|
+
- an API key for an enabled model provider
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
git clone https://github.com/tomzhu0225/simjecture.git
|
|
202
|
+
cd simjecture
|
|
203
|
+
uv sync --frozen
|
|
204
|
+
uv run simjecture install core
|
|
205
|
+
|
|
206
|
+
export DEEPSEEK_API_KEY='your-process-local-key'
|
|
207
|
+
uv run simjecture mvp \
|
|
208
|
+
--hypothesis "A charged particle's magnetic moment is conserved when the magnetic field varies slowly across its gyro-orbit." \
|
|
209
|
+
--output artifacts/magnetic-mirror-mvp
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
`conjecture-solver` and `acs` remain compatibility aliases. The internal Python
|
|
213
|
+
package remains `conjecture_solver`, preserving the implementation namespace
|
|
214
|
+
used by existing capabilities and integrations. Never place a real provider key
|
|
215
|
+
in a tracked file, prompt, run workspace, or command transcript.
|
|
216
|
+
|
|
217
|
+
An operator may add an instrument preference without changing the root
|
|
218
|
+
hypothesis:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
uv run simjecture mvp \
|
|
222
|
+
--hypothesis-file hypothesis.txt \
|
|
223
|
+
--instruction "Use the installed WarpX capability." \
|
|
224
|
+
--output artifacts/campaign
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
For expensive problems, `--guided-commission` can provide a known-runnable,
|
|
228
|
+
operator-validated starting program. Guided files remain non-evidentiary until
|
|
229
|
+
the agent prospectively contracts and executes fresh evidence.
|
|
230
|
+
|
|
231
|
+
Inspect a durable run without starting another campaign. These commands do not
|
|
232
|
+
require the optional terminal extra and do not invent a scientific completion
|
|
233
|
+
percentage:
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
uv run simjecture status artifacts/magnetic-mirror-mvp
|
|
237
|
+
uv run simjecture watch artifacts/magnetic-mirror-mvp
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
A missing `mvp_report.json` is reported as incomplete, not as running. Ctrl-C
|
|
241
|
+
on `watch` stops the viewer only. `pause` requests a stop at the next action
|
|
242
|
+
boundary; `resume` repeats a self-contained stored launch contract without
|
|
243
|
+
resetting its cumulative wall-time budget. External writable or configuration
|
|
244
|
+
paths require the operator to repeat the reviewed original command.
|
|
245
|
+
|
|
246
|
+
The optional dashboard is a projection of the same artifacts:
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
uv sync --extra tui
|
|
250
|
+
uv run simjecture tui
|
|
251
|
+
uv run simjecture tui artifacts/magnetic-mirror-mvp
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Its primary view separates the scientific hypothesis tree from instrument,
|
|
255
|
+
diagnostic, and control claims attached to the selected hypothesis. Press `v`
|
|
256
|
+
for the complete typed audit ledger; no claim or provenance record is hidden by
|
|
257
|
+
the human-first projection.
|
|
258
|
+
|
|
259
|
+
## Core safeguards
|
|
260
|
+
|
|
261
|
+
- Network-isolated writable agent workspace with no provider credentials.
|
|
262
|
+
- Typed, single-action model protocol and bounded tool outputs.
|
|
263
|
+
- Prospective evidence contracts with machine-checkable JSON assertions.
|
|
264
|
+
- Workbench artifacts permanently separated from evidence-stage artifacts.
|
|
265
|
+
- Source- and command-bound capability commissioning.
|
|
266
|
+
- Exact artifact provenance, hashes, seeds, runtimes, and claim linkage.
|
|
267
|
+
- Durable transcripts, crash recovery, replay, cancellation, and idempotency.
|
|
268
|
+
- Numerical failure remains non-evidence.
|
|
269
|
+
- Immutable root-claim and guarded scientific closure semantics.
|
|
270
|
+
- Soft startup literature search when public retrieval is available.
|
|
271
|
+
|
|
272
|
+
## Current evidence
|
|
273
|
+
|
|
274
|
+
| Evaluation | Status | What it establishes |
|
|
275
|
+
|---|---|---|
|
|
276
|
+
| Matched-moment kinetic sufficiency | Qualified planted counterexample | End-to-end analytic, independent PIC, and WarpX verification in the plasma origin domain |
|
|
277
|
+
| Magnetic mirror and nonlinear Landau MVPs | Completed plasma research runs | Natural-language operation on origin-domain problems |
|
|
278
|
+
| Gray–Scott MVP | Completed research run | Same harness on a non-plasma, agent-authored instrument |
|
|
279
|
+
| [Collisionless GEM held-out campaign 0004](demos/collisionless_gem_reconnection/) | 12 fresh CUDA runs completed | Guided autonomous commissioning, execution, analysis, and guarded claim handling |
|
|
280
|
+
|
|
281
|
+
Run 0004 produced a finite-sample point-estimate falsification of its operational
|
|
282
|
+
child claim, while its three-seed uncertainty interval still crossed the proposed
|
|
283
|
+
population threshold. The immutable root remained open. This is documented as a
|
|
284
|
+
real autonomous run and an example of why machine provenance does not remove the
|
|
285
|
+
need for independent scientific audit.
|
|
286
|
+
|
|
287
|
+
Version 0.1 ships that harness. The next step is to use it: apply the same
|
|
288
|
+
claim ledger, sandbox, commissioning rules, and capability framework to more
|
|
289
|
+
simulation-gated problems, and hunt independently confirmed new results — a
|
|
290
|
+
compact law, a matched counterexample, or a scoped impossibility — in the
|
|
291
|
+
origin domain and beyond.
|
|
292
|
+
|
|
293
|
+
## Recorded autonomous demos
|
|
294
|
+
|
|
295
|
+
The repository includes two inspectable release demonstrations rather than only
|
|
296
|
+
descriptions of past runs.
|
|
297
|
+
|
|
298
|
+
### Gray–Scott finite-domain counterexample
|
|
299
|
+
|
|
300
|
+
Starting from a natural-language Gray–Scott hypothesis and no campaign
|
|
301
|
+
instruction, the agent rejected an unsuitable installed capability, authored
|
|
302
|
+
its own numerical instrument, proposed and tested a daughter hypothesis, and
|
|
303
|
+
found a finite-domain counterexample in 23.8 minutes.
|
|
304
|
+
|
|
305
|
+

|
|
306
|
+
|
|
307
|
+
The package contains the exact input, complete transcript, portable hypothesis
|
|
308
|
+
ledger, prospective evidence contracts, final report, source and command
|
|
309
|
+
provenance, all agent-written programs, numerical arrays, integrity checker,
|
|
310
|
+
and a read-only TUI replay. See
|
|
311
|
+
[`demos/gray_scott_counterexample/`](demos/gray_scott_counterexample/).
|
|
312
|
+
|
|
313
|
+
### Collisionless GEM reconnection ensemble
|
|
314
|
+
|
|
315
|
+
Starting from a validated, explicitly non-evidentiary GEM CUDA instrument, the
|
|
316
|
+
agent designed a held-out confirmation campaign, commissioned its simulator and
|
|
317
|
+
analyzer, and executed 12 fresh fully kinetic simulations across three paired
|
|
318
|
+
seeds, two temperature ratios, and two particle counts. Each run used a
|
|
319
|
+
256×128 grid, four kinetic populations, 4,623 explicit steps, and 26 openPMD
|
|
320
|
+
field states.
|
|
321
|
+
|
|
322
|
+

|
|
323
|
+
|
|
324
|
+
The 16-PPC endpoint ratio was `1.0122`, with a paired-bootstrap 95% interval of
|
|
325
|
+
`[0.8232, 1.4374]`, against a proposed threshold of `1.25`. The frozen
|
|
326
|
+
finite-sample rule falsified the operational daughter, while the population
|
|
327
|
+
root remained open because the three-seed interval crossed the threshold. The
|
|
328
|
+
package preserves the exact autonomous transcript and claim ledger, all 12 run
|
|
329
|
+
summaries, hash-addressed provenance for 482 original artifacts, and
|
|
330
|
+
representative final fields. See
|
|
331
|
+
[`demos/collisionless_gem_reconnection/`](demos/collisionless_gem_reconnection/).
|
|
332
|
+
|
|
333
|
+
## Optional WarpX capability
|
|
334
|
+
|
|
335
|
+
WarpX is the first simulation skill and executable capability, not an
|
|
336
|
+
architectural dependency. The versioned skill covers PICMI interfaces, explicit
|
|
337
|
+
and implicit time integration, openPMD diagnostics, numerical risks, CPU/GPU
|
|
338
|
+
deployment, and resource scaling. Local runtime installations remain ignored by
|
|
339
|
+
Git and are mounted read-only into the sandbox.
|
|
340
|
+
|
|
341
|
+
Install and verify the release-pinned CPU capability with:
|
|
342
|
+
|
|
343
|
+
```bash
|
|
344
|
+
uv run simjecture install warpx-cpu
|
|
345
|
+
uv run simjecture doctor --profile warpx-cpu
|
|
346
|
+
```
|
|
347
|
+
|
|
348
|
+
CUDA remains an explicit hardware-specific profile whose audited WarpX source
|
|
349
|
+
checkout must be supplied by the operator. The installer validates its pinned
|
|
350
|
+
revision before invoking the existing build and openPMD probe.
|
|
351
|
+
|
|
352
|
+
See [`skills/warpx/SKILL.md`](skills/warpx/SKILL.md) and the deployment reference
|
|
353
|
+
in [`skills/warpx/references/local-cuda-deployment.md`](skills/warpx/references/local-cuda-deployment.md).
|
|
354
|
+
|
|
355
|
+
## Documentation
|
|
356
|
+
|
|
357
|
+
The curated documentation uses Sphinx, MyST Markdown, and the PyData Sphinx
|
|
358
|
+
Theme.
|
|
359
|
+
|
|
360
|
+
```bash
|
|
361
|
+
uv sync --group docs
|
|
362
|
+
uv run --group docs sphinx-build -W --keep-going -b html docs docs/_build/html
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
Start with [`docs/index.md`](docs/index.md). The accompanying manuscript is
|
|
366
|
+
maintained separately until its archival release.
|
|
367
|
+
|
|
368
|
+
## Development
|
|
369
|
+
|
|
370
|
+
```bash
|
|
371
|
+
uv sync --all-groups --extra tui
|
|
372
|
+
uv run ruff check .
|
|
373
|
+
uv run pytest
|
|
374
|
+
uv run simjecture schemas --output schemas --check
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md), [SECURITY.md](SECURITY.md), and
|
|
378
|
+
[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md).
|
|
379
|
+
|
|
380
|
+
## Repository map
|
|
381
|
+
|
|
382
|
+
```text
|
|
383
|
+
src/conjecture_solver/ core models, ledgers, orchestration, sandbox, and CLI
|
|
384
|
+
skills/ versioned model-readable scientific capabilities
|
|
385
|
+
capabilities/ installed executable capability manifests
|
|
386
|
+
demos/ bounded demonstrations and operator examples
|
|
387
|
+
schemas/ committed public JSON Schemas
|
|
388
|
+
scripts/ qualification, deployment, audit, and maintenance tools
|
|
389
|
+
tests/ deterministic and integration regression coverage
|
|
390
|
+
docs/ curated documentation
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
## Citation and license
|
|
394
|
+
|
|
395
|
+
Citation metadata is provided in [CITATION.cff](CITATION.cff). Until the
|
|
396
|
+
accompanying paper receives an archival identifier, cite the exact software
|
|
397
|
+
version and Git commit used for a result.
|
|
398
|
+
|
|
399
|
+
Copyright 2026 Bowen Zhu and contributors. Licensed under the
|
|
400
|
+
[Apache License 2.0](LICENSE).
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
conjecture_solver/__init__.py,sha256=N7irlBBsCLCkE_fevYhLDaNMLgYIoqXsEtFlJ9XWWio,246
|
|
2
|
+
conjecture_solver/__main__.py,sha256=dvqRbpPgrhpsG7UdzAvPKJwBTp92CkcWX4qEQBzPQdc,49
|
|
3
|
+
conjecture_solver/action_handlers.py,sha256=eVKu3XmLZYTHhjFvG2xvp7y86b2wTu2RkO5sxk8cn8Q,18861
|
|
4
|
+
conjecture_solver/autonomous_research.py,sha256=3HEF3O5wXa81ywfnlfHJJz7Z58uhWErc-jBqEmlyx30,44098
|
|
5
|
+
conjecture_solver/campaign.py,sha256=We4whmNuS4Cf0iYjMv7n0d1721TqH1Ko3rGexQSJpf8,15841
|
|
6
|
+
conjecture_solver/cli.py,sha256=pHC0OCItr2YjE2W6B0LV4UuUIosgbNhY08hcns49QPc,37077
|
|
7
|
+
conjecture_solver/confirmation.py,sha256=2l-xWqgUxlauETeoJiXYibuIXgcvQK97_saJH_W7tL4,10238
|
|
8
|
+
conjecture_solver/control.py,sha256=9SS75YpV7nWAm-EtyGMe85n2bW7xJZe9N_0XLnq3n2Y,9909
|
|
9
|
+
conjecture_solver/deployment.py,sha256=0iU_2I13J0Xzattwp-n0HrWzqZC8gNoAHVpU23LWxVw,32663
|
|
10
|
+
conjecture_solver/discovery.py,sha256=cg3-xeAT_k-aAiauSk4ULKY1xoWpZeU9q_J6wjpUoWs,2362
|
|
11
|
+
conjecture_solver/ledger.py,sha256=z8oOCBjQaLyryMyUsf-cxPt9oHCCe5N4UrWOpLYUdP4,8025
|
|
12
|
+
conjecture_solver/lifecycle.py,sha256=GrHrFi4hYMCWN-CgEZN8iEeIjfh4Oi8mWLoLpAgQbCc,4798
|
|
13
|
+
conjecture_solver/literature.py,sha256=OZV_dIIpWruxkaoGnqFXnKHY6B4UMz_7MT_Uqa7SzL8,18701
|
|
14
|
+
conjecture_solver/llm.py,sha256=VJ4eFD9mz5zkpRHqgJmAzuVD4lA27AS3HozkJN0Ucxo,7578
|
|
15
|
+
conjecture_solver/models.py,sha256=M9XkMntlcamIqhLkFPlJY95gSCT2AY2keHt0PQ4CG3U,9757
|
|
16
|
+
conjecture_solver/mvp_agent.py,sha256=vVcgkVGflDiw2M0eRiuxAzEZ7__Aks9kw1UcZQN3L6s,139341
|
|
17
|
+
conjecture_solver/mvp_claims.py,sha256=XHo29UINSBaWLdK9Mf3jcpFitLkOZl6tjMoqXV4iH1A,53628
|
|
18
|
+
conjecture_solver/mvp_control.py,sha256=nvt2bzQmISR7YXBKk5TncwI6KmbMplPBcwB-uvwS-5Q,10070
|
|
19
|
+
conjecture_solver/mvp_guidance.py,sha256=PreKMO8_s-PD-7hICUiFUi1JAec91hmbpsLEydug0vc,7162
|
|
20
|
+
conjecture_solver/mvp_launch.py,sha256=IQImbMJZKKafqlg18lDbSFjsnZqLmhfbdEtnvNcHazw,47358
|
|
21
|
+
conjecture_solver/mvp_monitor.py,sha256=1SU9iMl4V6oDTg_33qOFkSIt3RBVHYlTq2Nm6mPuAuU,55986
|
|
22
|
+
conjecture_solver/mvp_skills.py,sha256=0velsYep0edQ52h0FFygDIqcHaDyuD8u7WFbRudAZWA,21152
|
|
23
|
+
conjecture_solver/orchestration.py,sha256=FIrq8VJQ8IhU7oueludFJe_LoW9HjmkIZizpP9_Eb0I,23532
|
|
24
|
+
conjecture_solver/outbox.py,sha256=-kxe_JH36hgzax7BISDI7jlld2MOCBSIy1eTCTrylfI,19969
|
|
25
|
+
conjecture_solver/parameters.py,sha256=7WjHy2yvgo3AUnsiEDD_39PAZnENEaaJCyA16Z_SZ_U,14248
|
|
26
|
+
conjecture_solver/proposals.py,sha256=Nh-cKxIClCzAfHO-1-L62VFJO4b0064CLfF9ghTFMxg,17668
|
|
27
|
+
conjecture_solver/research_tools.py,sha256=2P_MrDXVhDWamx5gYeg_h-Cz7rpfY0y3kNxgZuDZxVs,11499
|
|
28
|
+
conjecture_solver/schema_export.py,sha256=xs9KfCsAMIJpEHAxI8ZPnJJ4dcqXs2syyhPbKpxRh1I,6171
|
|
29
|
+
conjecture_solver/search.py,sha256=KwrG_Zf69k6uukEKAHElhACzASjWzoZAddEMoB29SDg,38596
|
|
30
|
+
conjecture_solver/semantics.py,sha256=sRWnwC5EDNSyj33wPr2wcUNofDmLBTrd5jvZHfx3EpI,4943
|
|
31
|
+
conjecture_solver/warpx_analysis.py,sha256=_nF1f-8_xW65QS36Q4jljKSl_f1NpdZnRvgGH1r435Y,7373
|
|
32
|
+
conjecture_solver/warpx_campaign.py,sha256=aGxu7LtiMG8xB6BlX4qD2jcffpeAFC9FgEcqp3CsQ7Q,6440
|
|
33
|
+
conjecture_solver/warpx_confirmation.py,sha256=vN8yM_HzgZbuH8KGnVFAqsFwB8ClreYvZwkvmYp39vU,26095
|
|
34
|
+
conjecture_solver/adapters/__init__.py,sha256=d-frmpvjYa_Wz_XJBlJ53O3XrmF06v3Lg7M02pOlAgg,248
|
|
35
|
+
conjecture_solver/adapters/base.py,sha256=akkNxTU0PX9QPt8bvICYjIjc3OeLBvcLFlxvDWeUqKc,2327
|
|
36
|
+
conjecture_solver/adapters/fake.py,sha256=AyLRikD-56vTAsAUGdyOQCEDXyrlH_yfj_O1vfyNy6w,6188
|
|
37
|
+
conjecture_solver/adapters/pic.py,sha256=_a9wySw_dBgn4WO0s-8gVmwQAR7fr2fWpejgsF-kEBw,7933
|
|
38
|
+
conjecture_solver/adapters/warpx.py,sha256=aCcua5-JXIHLNJGlegoPUZFUS9Uqq8xgEOwF_TEY3iI,59104
|
|
39
|
+
conjecture_solver/benchmarks/__init__.py,sha256=TGlSiYMjmJaZYvr1L_5NdtKtJyiwRTu4cm3gu3Njp7w,163
|
|
40
|
+
conjecture_solver/benchmarks/electrostatic_pic.py,sha256=kdx8A3hyGhD6IA-8cTKVxn-Hdv1lJDmFMjmmpPp156Y,20125
|
|
41
|
+
conjecture_solver/benchmarks/kinetic_sufficiency.py,sha256=EsS5Vm3BGVvky2tefT-YM0NYJ5ZO0ZNb6xxE0hKiDIM,10757
|
|
42
|
+
conjecture_solver/domains/__init__.py,sha256=yn2Z-Vg4ICGU2GyHbU6bCHwlR4dgB_08rdeZAhcyDns,954
|
|
43
|
+
conjecture_solver/domains/base.py,sha256=5Lxw0HTj_LJoYSNT-mpZBd8V216SRIDZuxeB0U63ouI,5376
|
|
44
|
+
conjecture_solver/domains/kinetic_sufficiency.py,sha256=STRlXEJTI4k50q95s2OjS2wPjWBE4djx6CWqv84aW3Q,21745
|
|
45
|
+
conjecture_solver/tui/__init__.py,sha256=TE-qYpdi901hWuWBX-h9lr_EsrL0QTd5TWGaFZ4Egt4,189
|
|
46
|
+
conjecture_solver/tui/app.py,sha256=MMh0uf2eszBpfvPncnvm4DS2MGrsMKDLpNYVim-F3Mg,4529
|
|
47
|
+
conjecture_solver/tui/claim_views.py,sha256=OI7Ou4FoJ7NjUmEZ7VA9bZWMHjvdlEyNoHMlR_8EF0w,6991
|
|
48
|
+
conjecture_solver/tui/screens.py,sha256=RZ_mPzLdAmeCAp5G_1bBhp8EM6GVZb1Ldk0Yz3ADhRI,39956
|
|
49
|
+
conjecture_solver/builtin_skills/warpx/SKILL.md,sha256=y7x1vvmiqHFcGnUAobVhp0TWY0bsNSo2IhZ-p8S_RHY,9376
|
|
50
|
+
conjecture_solver/builtin_skills/warpx/manifest.json,sha256=gFI68DRgPo9xKyOYufeWc9_jSKjTWl77DZSM3qMCQGU,293
|
|
51
|
+
conjecture_solver/builtin_skills/warpx/agents/openai.yaml,sha256=UqpuYemtkObO5pg56fTYm_cVJwvRTH_QSCgv8suyd70,229
|
|
52
|
+
conjecture_solver/builtin_skills/warpx/examples/implicit_em_smoke.py,sha256=lSxTjoFTIY_7u3fMsvz8AjGMXkHoX6OIgRYsjgFhZnQ,2373
|
|
53
|
+
conjecture_solver/builtin_skills/warpx/examples/minimal_smoke.py,sha256=V8lKhbMfy4S4lTFXarzQ73h1O4kCyN1pRzsthTHdPQw,1442
|
|
54
|
+
conjecture_solver/builtin_skills/warpx/examples/openpmd_field_smoke.py,sha256=lNLfbOY1RTSNqqmt9X3UJ9zsXjD_VzUKAHBD65d0_TA,2727
|
|
55
|
+
conjecture_solver/builtin_skills/warpx/references/2d-xz-commissioning.md,sha256=r4AzfKXYPAtwQ6z7hlpVEIYzvug3eCaFktsvevlCpeQ,8770
|
|
56
|
+
conjecture_solver/builtin_skills/warpx/references/cpu-launch-tuning.md,sha256=d1Wfi_SPo0pUmsHCvU2PorpZ8sR6KF96esK0UTgb5Do,2410
|
|
57
|
+
conjecture_solver/builtin_skills/warpx/references/diagnostics.md,sha256=WwzjeeqY4clnLodDb48YwG-xMbFbpW8eXlDdhJ-1_Fc,6859
|
|
58
|
+
conjecture_solver/builtin_skills/warpx/references/gpu-launch-tuning.md,sha256=wN8kkGPDGHaFba3L8WzFENaJe1DQfa2UquwzKjUyXCs,3082
|
|
59
|
+
conjecture_solver/builtin_skills/warpx/references/local-cuda-deployment.md,sha256=KITPhKKtoeg0TnTwAXYV9-VHEuPFDqOtQR2Xo8oNEwQ,4111
|
|
60
|
+
conjecture_solver/builtin_skills/warpx/references/numerical-risks.md,sha256=iNRJfBeDD8vCargod1iEs7EV5khT6y6I5PvXXTT4YWg,1674
|
|
61
|
+
conjecture_solver/builtin_skills/warpx/references/picmi-interface.md,sha256=7aasUp1gCgtbEv4azLXkSmMEyLmfBmCa0yeKe163s7Y,7025
|
|
62
|
+
conjecture_solver/builtin_skills/warpx/references/resource-scaling.md,sha256=xbNwl9TQwzMoAtxRNGfsdo4TF1IcYxFQIylkha0F1pc,1409
|
|
63
|
+
conjecture_solver/builtin_skills/warpx/references/time-integration.md,sha256=Tg1CHdcxBIcVoh02xWeqyBvm2ap_lsMzUk9CppHNL58,2895
|
|
64
|
+
conjecture_solver/builtin_skills/warpx/scripts/benchmark_cpu_threads.py,sha256=JxCd-1tU4sF0sh9KArwAvCwYug0dre6yYkXjrMpzhO0,6892
|
|
65
|
+
conjecture_solver/builtin_skills/warpx/scripts/benchmark_gpu.py,sha256=aGGqntN-1a92FZOVtle9nyWnVoDKTO7d-cKx19rv0B0,8257
|
|
66
|
+
conjecture_solver/builtin_skills/warpx/scripts/bootstrap_local_cuda.sh,sha256=qe6G5x8c-HYQPRoaEQHwNpNlu7OKQm76itVfd5DA0gU,3108
|
|
67
|
+
conjecture_solver/builtin_skills/warpx/scripts/probe_local_cuda.py,sha256=SYN2G1XNgzqMOIl17aLVJskS7lkQpGAMUyRL6Oipb4A,3322
|
|
68
|
+
conjecture_solver/builtin_skills/warpx/scripts/reduced_energy_budget.py,sha256=G00FrmhCshJV0abMVrU6pqLuz1CFIJZsyl1pS7SLNms,6779
|
|
69
|
+
conjecture_solver/builtin_skills/warpx/scripts/run_local_cuda.sh,sha256=zQS-QaF4-gDqsl_VZeA1iK76S6rqlpMS1sXMvpb2O_w,1568
|
|
70
|
+
simjecture-0.1.0.dist-info/METADATA,sha256=ekqk76dZN94ioV7wmnWLaLtoyoGPAELelJA3EzsowN4,17904
|
|
71
|
+
simjecture-0.1.0.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
|
|
72
|
+
simjecture-0.1.0.dist-info/entry_points.txt,sha256=9XPIZ7lJ8ScIXJtaRh6JagxKzO8GEaMw1leN5BCF_sQ,138
|
|
73
|
+
simjecture-0.1.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
74
|
+
simjecture-0.1.0.dist-info/licenses/NOTICE,sha256=NMjotjGfttnH3yb7Qk2lySFVSCB2g-qp34nEf-lyyz0,210
|
|
75
|
+
simjecture-0.1.0.dist-info/RECORD,,
|