CultLib/packages
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens d541e9eb35 cultmesh-py: a refusal acknowledges nothing and names its own send failure; TCP handling refuses instead of dying; the daemon checks its port
Queue-full refusal (findings 2 and 6). The refusal was built in
_send_rudp_schema_frame before _end_refused_peer reset the session, so
its ack fields covered the refused request (ack=102 mask=0x3). A reply
the queue cannot take now raises _ReplyUnqueueable; the loop ends the
peer through _end_refused_peer, which builds the refusal before the
reset, gives it ack fields built after it (acknowledging nothing, like
the goodbye and like Rust's refusal), sends it unreliable and unordered,
then the goodbye. A refusal fragment that can never be sent is not
dropped: the goodbye names its failure ("packet could not be sent:
EMSGSIZE"), where it used to say the session refused a packet.

Queue full to the brim (item 1). The tests fill a queue of 8 exactly with
a reply the peer never acknowledges, then show the next reply is answered
with response_unqueueable, acknowledging nothing, followed by the
goodbye; and that a refusal whose fragment cannot be sent ends the
session with a goodbye naming EMSGSIZE.

TCP (finding 8). A message whose handling raised (snapshot recordKeys as
an int, a shard-log afterSequence that is not a number, subscribe,
schema-catalog and verse requests with int fields) killed the
connection's thread with a traceback that could quote the peer. The TCP
handler now refuses such a message with fixed text (message_unhandled),
logs the error type only, and serves the connection's next message.

Daemon (finding 10). --port 99999 is an argparse error (exit 2), not a
traceback.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 23:04:07 +02:00
..
cultcache-py cultcache-py: a record refusal names only a string key; pin link writes for R3 2026-09-30 19:54:51 +02:00
cultcache-rs cultcache-rs: the document canary uses a value serde would quote 2026-09-30 20:35:47 +02:00
cultcache-ts cultcache-ts: a record refusal names only a string key; pin link writes for R3 2026-09-30 19:54:51 +02:00
cultmath CultMath: Phacelle port moves into MPL-2.0 files; prune cut pinned by boundary points 2026-09-30 00:34:27 +02:00
cultmesh-browser Raise the TypeScript packages' Node floor to 20 2026-09-29 01:21:18 +02:00
cultmesh-kotlin cultmesh-kotlin: the bind self-test observes a wildcard, not its family 2026-09-30 13:52:26 +02:00
cultmesh-py cultmesh-py: a refusal acknowledges nothing and names its own send failure; TCP handling refuses instead of dying; the daemon checks its port 2026-09-30 23:04:07 +02:00
cultmesh-rs cultmesh-rs: pin the refusal at a queue full to the brim, and a real EMSGSIZE 2026-09-30 23:01:33 +02:00
cultmesh-ts Merge origin/main (ack Cut D) into hands/cultmesh-put-serve-bound 2026-09-30 20:49:55 +02:00
cultnet-py cultnet-py: an unsendable goodbye names the failure by a fixed code 2026-09-30 23:04:07 +02:00
cultnet-rs cultnet-rs, cultmesh-rs: an unsendable goodbye names the failure by a fixed code 2026-09-30 23:01:33 +02:00
cultnet-ts Merge origin/main (ack Cut D) into hands/cultmesh-put-serve-bound 2026-09-30 20:49:55 +02:00