| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .. | ||
| rmpprobe | ||
| probe1.py | ||
| probe2.py | ||
| README.md | ||
Python MessagePack default payload: history and probes (2026-10-11)
Serves cultlib-gaps:ruling:py-msgpack-default and cultlib-gaps:cut_spec:cut-py-msgpack-default.r1.
How a JSON payload default got into .cc
- Ghostlight
2531b42(2026-05-06), the first consumer: "The JSONL store is deliberate bootstrap plumbing", msgpack optional. - CultLib
b214daab(2026-05-24) squashed inpython/cultcache-pyfrom GameCult/cultcache-py@9b4bbb8a withdefine_document_typealready defaulting to_json_payload_encoder; msgpack was an optional extra and the README promised a standard-library-only bootstrap. JSON was the default because it was the only codec without msgpack. - CultLib
a1ef58cb(2026-06-13) made msgpack a hard dependency but kept the JSON default and the optional-import guards, so the default outlived its reason. - Earlier history is unreachable (GameCult/cultcache-py no longer exists; CultLib holds only the squash). voidbot
search_historyfound no discussion of the choice.
Probes
probe1.py,probe2.py: no runtime records a payload's format in the store, so a reader cannot tell JSON from MessagePack except by trying; a one-byte JSON payload0-9is valid MessagePack (48-57); a MessagePack map with a non-str/bytes key packs butunpackbrefuses it.rmpprobe/:rmp_serde::from_slicereads a JSON object's bytes asNumber(123), which is why Brokkr's daemon must read exactly one MessagePack value with a trailing-bytes check.