Repository navigation
v0.2.1 — Cross-checked expectation, corrected constant, real-Bitcoin sidecar anchors (2026-08-19)
A cross-check did its job, and the error is stated rather than buried. The
astrolabe-engine (an independent celestial-model implementation whose Sun/Moon
positions carry its own reference grade, 10″, validated against JPL Horizons and
IMCCE; cited by name, version and commit in the bundle) was run against
the sandwich's consensus instant. Its GAST disagreed with the bundle's stored ERA by
~100°: the v0.2.0 integer implementation had ERA_A_NANO a factor of 1000 too large
(pico-turns written as nano-turns). Corrected, the two now agree to the physics:
engine GAST 140.0929°, bundle ERA 139.7493°, difference +0.3436° = the equation of
origins. A float-reference regression test pins this forever (suite: 26).
vectors/valid/reality-sandwich-bundle.cborre-assembled with the corrected
expectation (only the labeledEXPECTATION_NOT_EVIDENCEfield changed; every
signed observation, checkpoint, and block byte is identical):
sha25661d409059c8ccb89…, verdictSANDWICH_PASS, burial 2 at assembly.live/anchor-evidence/astrolabe-expectation.json— the engine's own prediction
for the consensus instant (GAST, Sun, Moon, with the engine's declared grades),
produced by consuming its public surface only. Still an expectation, never evidence.- External anchor sidecars: standard OpenTimestamps proofs for all three evidence
bundles (vectors/valid/*.cbor.ots, viascripts/ots_stamp.py), submitted to two
independent public calendars. These add an economically real upper causal bound on
the same bytes from the public Bitcoin chain; pending attestations become Bitcoin
block attestations after calendar aggregation (ots upgradewith any standard
client). Two of four calendars were unreachable (expired TLS certificates on their
side) — stated, and two independent attestations were obtained.