Stamp hardening: refuse a peer raw put with no stamp in C#, TypeScript and Rust; Python replication #175
Loading…
Reference in a new issue
No description provided.
Delete branch "golden-write/stamp-hardening"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Brings C#, TypeScript and Rust to
variants:ruling:raw-put-without-stamp-refused(Python is #174): a peer'sdocument_put_rawwhosestoredAtis not a stamp is refusedmessage_invalid(fielddocument) after the authority is asked, and nothing is minted or stored. A blank or missingstoredAtkeeps its existing refusal (fieldmessage, before the authority), aswrite-receipt.mdpins. Also closesvariants:follow_up:py-snapshot-stampless-record-poisons-store: Python's snapshot, shard-log and client replay refuse a record with no stamp where it becomes an envelope (a snapshot or shard log is refused whole).tests/vectors/stored-at-stamp(47 rows, the Pythonparse_stored_atfrom #172 as reference); C#CultNetStoredAtStamp.IsStamp, TSisStoredAtStamp, Rustis_stored_at_stampand Python each decode it.contracts/cultnet/interop/write-receipt.mdand its vectors): the rows that usedstoredAtto prove "a non-White_Space code point names something" moved torecordKey, since a non-stampstoredAtis now refused. Ruled by Self, flagged for the Persona.storedAt ?? now; TSparseCultNetMessagenow admits anystoredAton a put and leaves refusal to the server and registry.Soul passes (two, by runtime pair) found: C# stamp accepted out-of-range instants, Rust accepted a year-0 local date, Python shard-log partial apply, unpinned calendar rules in the vector; all fixed here. Admitted instead as follow-ups:
ts-snapshot-sync-garbage-stamp,rust-legacy-sink-stamp-before-accept,stamp-refusal-texts-unfixed,signed-daemon-health-observedat-stamp.Follow-ups:
variants:follow_up:raw-put-garbage-stamp-cs-ts-rs,variants:follow_up:py-snapshot-stampless-record-poisons-store.🤖 Generated with Claude Code