Repository navigation
probbit 0.14.0 (2026-10-31) makes the persona layer a library crate and fits it to a small host, adds the self layer, off by
default, and ships a simulated amplitude register as an optional tier, off by default.
The library. probbit-persona holds the document layer and the strand writer (Live, the line writers, Replay,
verify*, no file I/O), with the features std (default) and nostd (no_std + alloc, checked on
xtensa-esp32s3-none-elf); probbit-cli uses it unchanged and every CLI output of the move is byte for byte as 0.13.0.
Setup, the turn and resume return boxed values, so one event's stack high-water on the host proxy fell from 31,824 to
13,808 bytes; a strand resumes from its last checkpoint or from a state record behind it, and seals into segments
(docs/embedding.md).
The expectation keeps an exact cache and solves the event's own program once; every stance, strand line and digest is
the same with the cache on or off.
The self layer (RFCs 0013–0016), each part opt-in and each a deterministic function of the logged lines that
probbit live verify recomputes:
probbit reflect STRANDand reflection lines: a canonical account of a window of events from the lines alone, no solve;- integrity: per trait, the drift of the individual rested from its fresh seed against RFC 0004's allowance (the monitor's
dial and the Mirror's drift table); - the rest pass:
probbit live control STRAND rest, oneconsolidationline re-folding the expectation's memory; - curiosity: a drive fed by measured surprise, with an optional stir that gates a self-started event.
A declared, replayable self; it does not feel. A persona that declares none of its keys gets none of its fields or lines
(the P0 corpus: 653 recorded outputs, 0 differ).
An optional tier: a simulated amplitude register, exact, on a CPU (RFC 0011; off by default, engine: {tier: amplitude}
the opt-in). The turn's program is solved by an exact simulation of a qubit register on the CPU: no quantum hardware, no
speedup claim. In the demo (examples/persona/demo/), at one event the thermal odds of a tutor's top two humour levels sit
0.007412 apart and the register's long sweep separates them by 0.494808. Measured replay (x86_64, the std and the no_std
build): 100/100 lives on each of the three schedules; the arm64 replay of the tier is not measured. Cost: 1.50× per event for
the long sweep against the default sweep on a recorded day; the no_std stack high-water is at most 2,944 B. Without the key
every stance and strand is byte for byte as without the tier.
Upgrade notes.
- Engine gate: strands with the new line kinds (
reflection,consolidation) or the new keys (integrity,curiosity, a
checkpoint'sexpect,expectation.rest, theidentityself keys) read as unsupported, exit 5, on 0.13.x; so does a
strand that usesengine.tier. - Strands written by 0.14.0 for a persona with an
expectationblock round the stance'sdeviationto 6 decimals and
carry the expectation's memory on checkpoints; strands of 0.13.0 and earlier replay as their engine wrote them. - A register strand recorded on a 0.14.0-dev build before round 7 may not verify after it (the default schedule's digests
moved on one 52-qubit lab persona; no shipped fixture moved). - The monitor opens checkpointed strands of an expectation persona (the fix proposed for 0.13.1 is included).
Assets (15). Archives for Linux x86_64 (glibc ≥ 2.34: probbit-v0.14.0-x86_64-unknown-linux-gnu.tar.gz, or static musl:
probbit-v0.14.0-x86_64-unknown-linux-musl.tar.gz), Linux arm64 (static musl: probbit-v0.14.0-aarch64-unknown-linux-musl.tar.gz),
macOS (probbit-v0.14.0-aarch64-apple-darwin.tar.gz, probbit-v0.14.0-x86_64-apple-darwin.tar.gz) and Windows x86_64
(probbit-v0.14.0-x86_64-pc-windows-msvc.zip); the macOS monitor app probbit-Monitor-v0.14.0-macos.zip (universal, signed
ad-hoc: no notarization secrets are set for this release); a .sha256 beside each of those seven; and probbit.1. Verify an
archive with the .sha256 file beside it. Full list of changes: CHANGELOG.md.