๐ station-v0.65 is live
Update with railcall self-update (or re-run the installer), then restart the station so the new code actually loads. curl -s 127.0.0.1:8799/api/version should read station-v0.65.
๐ Fixes (thanks @Dave):
โข Incremental advanced:true on a refused watermark. When a runโs watermark advance is refused (jump too large / backwards), the signed receipt was still stamping advanced: true next to advance_refused โ a contradiction. advanced now reflects what actually happened.
โข Verifier trust hardening. Every receipt-verify response now reports verifier_version โ the release tag of the running station that produced the verdict. A security fix to the verifier only takes effect after a restart (self-update writes new code to disk, the live process keeps the old one in memory); stamping the version makes a stale process self-evident so a green verdict canโt over-claim.
๐ On the GAP-9 re-report: the v0.64 verifier does recompute the v2 wrapper body and reject tampered outcome/invoker/run_id/etc โ confirmed against the released tarball, the offline railcall verify, and the web validator. The PASS you saw was a stale station process still serving the pre-v0.64 verifier. Restart the station after updating; railcall verify <receipt.json> is the process-independent check.
๐ฎ Report bugs on the community board: https://railcall.ai/marketplace/community