Artifacts and provenance

Every number on this site is read out of a file in the repository. This page is the index of those files: what each one holds, which script writes it, and which claim it stands behind.

The rule the project holds itself to is that a published figure is never typed. Where that rule was broken, the corrections say so: a tolerance sweep that was three hardcoded literals, a wall-clock charge measured over the wrong columns, and a run time on the landing page that read five minutes against a measured twenty five seconds.

Two of these need Docker: check_gradients.json, from Tesseract’s own checker running against the built contact-sim image, and e2b_posterior.npz, whose chains run over HTTP against that same container. Everything else regenerates in process.

Artifact

Written by

What it backs

experiments/e3_rows.npy

e3_naive_vs_saltation.py

The grid-reset gradient at every step size, next to the saltation one. This is the artifact behind the landing page’s headline failure.

experiments/convergence_result.npz

study_convergence.py

Observed order of accuracy against the analytic free-flight solution.

experiments/oracle_results.json

validate_closed_form.py, validate_contact.py, validate_reference.py

Two solver-independent oracles, a symbolic multi-bounce closed form and a scipy reimplementation of the Jacobian, plus a finite-difference and robustness gate through the solver itself.

experiments/gradient_accuracy_result.npz

study_gradient_accuracy.py

Agreement between the analytic Jacobian and finite differences, swept over probe size.

experiments/check_gradients.json

capture_check_gradients.py

Tesseract’s own gradient checker: failures, checks and endpoints, plus the tolerance sweep from 1e-4 to 1e-7. Needs the contact-sim image.

experiments/e1_history.npy

e1_inverse_design.py

E1 miss distance per Adam step, the 1.12 m to 2.7 cm trace.

experiments/e1_params_history.npy

e1_inverse_design.py

The E1 parameter path, including the bounce-count crossings.

experiments/e2_result.npz

e2_calibration.py

E2 point calibration of restitution and tangential retention.

experiments/e2b_posterior.npz

e2b_bayesian.py

NUTS posterior draws with divergences, split R-hat and effective sample size. The chains run over HTTP against the container.

experiments/e4_result.npz

e4_terrain_design.py

E4 terrain that routes different inlet speeds to different cups.

experiments/e5_result.npz

e5_separator.py

The 24-parameter resilience separator and its landing errors.

experiments/e5_cma_grid.npz

e5_cma_grid.py

The CMA-ES tuning grid, so the baseline is tuned rather than assumed.

experiments/e5b_result.npz

e5b_robust_separator.py

Held-out purity and fifth-percentile margins for all four designs, including the two gradient-free ones.

experiments/e6_result.npz

e6_generalization.py

Zero-shot generalization of the design across restitution.

experiments/generalization_stats.npz

study_generalization_stats.py

Decisiveness of the design under jitter, per restitution.

experiments/robustness_stats.npz

study_robustness_stats.py

Wilson intervals, exact McNemar and the paired bootstrap over particle indices.

experiments/optimizer_benchmark.npz

study_optimizers.py

Adam against CMA-ES and Nelder-Mead over five seeds, under both evaluation-count and wall-clock accounting.

experiments/scaling_result.npz

study_scaling.py

Cost per parameter and the reverse-over-forward ratio, up to 581 parameters.

experiments/e5b_control_result.npz

e5b_gradient_free_control.py

CMA-ES and Nelder-Mead on the ensemble objective at a budget matched in particle solves, with the grid each was swept over and the best-so-far traces.

experiments/e5c_result.npz

e5c_dimension_control.py

The same control re-run at 93 design variables on a nested design space, with the budget frozen and both arms’ step-size grids recalibrated, plus a three-times-budget ladder for the cost question.

experiments/e5b_adam_sweep.npz

e5b_adam_sweep.py

Adam over a learning-rate grid on the same objective, so the comparison is not decided by tuning one arm and not the other.

experiments/scaling_repeats.json

study_scaling.py

A hand-recorded log of two separate invocations of study_scaling.py, not an output of it, so the run-to-run spread on the slope is a recorded number rather than a claim. Run 1 is the committed scaling_result.npz.

experiments/design_table.json

study_design_table.py

Per-design purity and fifth-percentile margin with Wilson and bootstrap intervals, for the four-row table on the studies page.

experiments/timing.json

time_checks.py

How long the four documented checks take on a warm depot.

scripts/diffrax_event_gradient.json

diffrax_event_gradient.py

The measured Diffrax comparison, including the two caller mistakes that an earlier version of this site mistook for a Diffrax defect.

experiments/results.json

collect_results.py

Every published number, collected from the artifacts above. The drift test asserts that the prose still quotes what this file says.

Regenerating them

The walkthrough video, docs/site/_static/demo.mp4, is generated the same way the figures are: scripts/make_demo_video.py reads every number on its cards from results.json and runs the boundary proof live, so re-running it after the artifacts change produces a video that agrees with them.

check_gradients.json comes from python scripts/capture_check_gradients.py, which needs the built contact-sim image and pins the checker’s sampling seed so the counts reproduce. The validation block in getting started rewrites oracle_results.json; e3_naive_vs_saltation.py writes e3_rows.npy, and scripts/time_checks.py writes timing.json. The experiments and studies rewrite the rest; run the experiments lists them with their run times. collect_results.py then rebuilds results.json and docs/RESULTS.md from whatever is on disk, and the drift test fails if the prose no longer matches.

python experiments/collect_results.py
python -m pytest tests/test_no_drift.py