All notable changes are documented here. PhaseProbe follows semantic versioning.
- Added bounded offline
verify-evidencevalidation for generated pytest evidence, replay decisions, artifact hashes, safe relative paths, and the fixed regression template. - The unreleased package identity is now
0.3.0for the new generated-evidence contract. generate-testnow writes a path-portable claim/decision evidence record that binds the validated replay verdict to SHA-256 hashes of the copied fixture and generated pytest, the exact reproduction command, PhaseProbe attribution, and explicit scientific limitations.- Identical generated evidence is idempotent; conflicting evidence is rejected without overwrite.
- Invariant-only fixtures now use the narrower
simulation-replay-regressionclaim kind, and the unsigned evidence-integrity boundary is explicit.
- Fixed Issue #4: all four SciPy quick-start configurations now ship inside the importable
package in both wheel and source distribution and load through
importlib.resourcesas thescipy-lorenz,scipy-lorenz-negative,scipy-predator-prey, andscipy-predator-prey-coarsebuilt-in examples. - Preserved the four exact former
examples/scipy/config paths as narrow compatibility aliases when no file exists at the requested path. Existing user files take precedence; matching is case-sensitive and separator-portable, with no fuzzy or basename fallback. - Added actionable, versioned diagnostics for missing or malformed built-in resources without changing arbitrary config-path or built-in-example behavior.
- Added Linux and Windows Python 3.12 release gates that build, inspect, install, and exercise the
wheel and sdist outside the checkout with
PYTHONPATHremoved. The gate runs scan, replay, generated pytest, SciPy Lorenz, SciPy predator–prey,pip check, and a dependency-free base wheel check. - Added a source-derived runtime-resource audit and the PEP 561
py.typedmarker. - Generated regression creation is now idempotent for identical evidence and rejects conflicting files instead of silently overwriting them.
- Added an analytic backward-time directional-event check while preserving all solver defaults and the existing tolerance-based adaptive replay contract.
- Added the backward-compatible
TrajectoryAdapterprotocol and shared engine dispatch; all v0.1 step adapters and examples continue unchanged. - Added optional
phaseprobe[scipy]support with a typed publicSolveIVPAdapter, controlled evaluation grids, scalar/vector tolerances, methods, maximum step, named events, observables, classifiers, invariants, invalid-value checks, bounded retention, and solver/environment evidence. - Added schema-v2
exactandtolerancereplay while keeping schema-v1 exact fixtures readable. Tolerance fixtures preserve state, observable, classifier, invariant threshold, grid, endpoint, event, solver-success, version, and platform evidence without claiming byte-identical replay. - Added genuine SciPy Lorenz finite-time divergence and predator–prey first-integral examples, negative controls, refinement evidence, HTML evidence, and generated pytest fixtures.
- Added explicit safe-shape Python module/factory loading, core-without-SciPy tests, optional import diagnostics, a Windows/Linux core/SciPy CI matrix, current SciPy audit, security/limitations docs, demo assets, and an unposted upstream visibility proposal.
- Base installation remains dependency-free. NumPy and SciPy are optional; no PyPI publication was performed.
- Added
scan,perturb,check,replay,generate-test, andreportcommands. - Added typed adapters for logistic map, Lorenz, Lotka–Volterra predator–prey, and a mutually repressing genetic toggle.
- Added deterministic seeds, canonical configuration, fixed-step execution, invalid-integration diagnostics, capped trace retention, and exact trace hashes.
- Added transition brackets, bounded initial-state search, repeatability confirmation, replay fixtures with integrity hashes, and fixed-template pytest generation.
- Added terminal, versioned JSON, and self-contained offline HTML evidence.
- Added Windows/Linux CI, packaging and packed-install checks, documentation/hygiene gates, and repository-native demo assets.