Skip to main content

newlife

A preregistration harness for simulation. Freeze what would count as an answer before you run anything; let the machine — not your judgement after the fact — decide whether the criteria were met.

Install

Requires Python 3.12 or newer and git.

python -m pip install newlife
# Optional simulation backends:
python -m pip install "newlife[process-bigraph]"
python -m pip install "newlife[spatio-flux]"

Start in your own repository:

mkdir my-research && cd my-research
git init
git config user.name "Your Name"
git config user.email "you@example.com"
newlife init 2026-09-05-my-question   # scaffold a question folder; commits it,
                                      # deliberately leaving prereg.md uncommitted
$EDITOR questions/2026-09-05-my-question/prereg.md
newlife freeze questions/2026-09-05-my-question
$EDITOR questions/2026-09-05-my-question/verdict.py
newlife run questions/2026-09-05-my-question
newlife check questions/2026-09-05-my-question
git add questions/2026-09-05-my-question/results
git commit -m "record verdict"
newlife audit questions/2026-09-05-my-question

audit proves, from commit ancestry rather than forgeable dates: the registration has a freeze commit, the stamped hash matches it, the content was never edited afterwards, and every committed output post-dates the freeze. Questions are siblings, not a chain: a question's verdict never runs another question's runner.

What the contract layer does

BiologicalProfile enforces four contracts — StateClaim, MechanismSpec, Effect, Resolver. A mechanism declares which paths it owns and which effects it may emit; writing anywhere else raises newlife.core.errors.CommitAuthorityError from the contract layer, not from your solver. That distinction is load-bearing: "an exception was raised" is not the same as "the contract stopped it", and a negative control that conflates them proves nothing.

Third-party simulation processes are admitted unmodified. Verified against process-bigraph's own processes, spatio-flux (Monod kinetics, dynamic FBA behind a GLPK solver), and a hand-wrapped tellurium ODE model — trajectories byte-identical to running the same code without newlife.

Gates that ship with it

newlife check runs three checks against your files: criteria that are true by construction (a comprehension iterating a named constant while discarding the loop variable is a repetition, not a sweep); parse failures that silently fall back to a convenient default; and whether the units your registration declares are exactly the units your runner computes. Each of the three was written after that exact defect shipped undetected — the third one caught a real misalignment the first time it ran.

Also included: newlife skills install puts two AI skills (shaping a question into a decidable one; writing a registration that will not veto itself) where your assistant reads them.

proofroot is installed transitively and supplies RNG stream derivation, canonical serialization, and the evidence-tier vocabulary.

Source, design rationale, and the record of every milestone judged so far: https://github.com/hzshen88/newlife

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

newlife-0.1.0.tar.gz (228.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

newlife-0.1.0-py3-none-any.whl (243.9 kB view details)

Uploaded Python 3

File details

Details for the file newlife-0.1.0.tar.gz.

File metadata

  • Download URL: newlife-0.1.0.tar.gz
  • Upload date:
  • Size: 228.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for newlife-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f5cb5fe6be475bd19e26875dfde18c65d78ee8c7811887a1acd7d1fcb6d7a454
MD5 bb18f1d0b9f750d95155437b31249174
BLAKE2b-256 487776cad665036b3f4f2dc807aa5a6449739ef6f6396f956eac5e2af3ef2fe7

See more details on using hashes here.

Provenance

The following attestation bundles were made for newlife-0.1.0.tar.gz:

Publisher: release.yml on hzshen88/newlife

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file newlife-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: newlife-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 243.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for newlife-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 61aa2ace99015adc7a3e6d96d59fb3afa4e900b3de2eb611c6c201c486528095
MD5 a8c3f3b391a1e7eeac39842eb77c9d7d
BLAKE2b-256 3ba4e0a421325a3ffd0ce0eb7416018ddeb8aa2a4bd4ade0faab87a667d47cac

See more details on using hashes here.

Provenance

The following attestation bundles were made for newlife-0.1.0-py3-none-any.whl:

Publisher: release.yml on hzshen88/newlife

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page