···6666- [TS6 reop MUST wipe](leveva-ts6-reop-must-wipe.md) — HARD RULE: on a CHANTS merge loss the loser's +R reop list is wiped with +b/+e/+I; never defer/exclude reop lists (overrules slice-171's union divergence); fire reop at EOB after winner's +R adopted
6767- [leveva REHASH matrix](leveva-rehash-matrix.md) — what hot-reloads on REHASH (opers/classes/allows/MOTD/admin/connect/listeners/default-user+channel-modes) vs the boot-immutable backlog (auto-connect dial loop, other options fields); the live-or-ctx ConfStore idiom + how to add a new reloadable block (slice 175)
6868- [leveva S2S TLS links](leveva-s2s-tls-links.md) — S2S links run over TLS both directions (inbound server-only TLS listener + outbound `connect{} tls` flag → `tls::connect_outbound`); accept-any cert, auth by PASS not PKI; the `boot_two_configs` runtime-config test seam (P11 slice 176)
6969-- [leveva SASL chunking proptest flake](leveva-sasl-chunking-proptest-flake.md) — pre-existing latent bug: sasl_proptest chunking_round_trips drops a trailing `+` at a 400-byte base64 boundary; reproduces on clean HEAD, not a regression; ready-made bugfix slice
6969+- [leveva SASL chunking proptest flake](leveva-sasl-chunking-proptest-flake.md) — RESOLVED (slice 181): the bare-`+` data chunk colliding with the IRCv3 empty-payload sentinel; unrepresentable by design (don't try to "fix" the chunker) — closed via contract docs + base64-domain fuzz + a precise-boundary proptest
7070- [leveva slices 178-180 (WALLOPS/KILL/metrics S2S)](leveva-s2s-notify-propagation.md) — 2026-06-15 ultracode workflow closed three more single-server-local gaps: WALLOPS + KILL S2S propagation (first-class verbs, away.rs model) + S2S server-link traffic metrics; recorded in the s2s-notify-propagation memory's "Slices 178-180" section
···11---
22name: leveva-sasl-chunking-proptest-flake
33-description: "pre-existing latent bug — leveva/tests/sasl_proptest.rs::chunking_round_trips fails on a specific seed (a 400-byte base64 SASL chunk boundary drops a trailing '+'); reproduces on clean HEAD, NOT a regression; needs a dedicated fix slice"
33+description: "RESOLVED (slice 181, 2026-06-15) — the sasl_proptest chunking_round_trips flake (a bare-+ data chunk colliding with the IRCv3 empty-payload sentinel) is closed; kept as the record of WHY the chunker can't round-trip a lone-+ payload"
44metadata:
55 node_type: memory
66 type: project
77 originSessionId: 732facbd-591f-4e50-899c-9d8ddf8473fd
88---
991010-Discovered 2026-06-15 while implementing slice 178 (WALLOPS). A proptest in
1111-`leveva/tests/sasl_proptest.rs::chunking_round_trips` fails on a particular generated
1212-seed: a **400-byte base64 SASL chunking boundary drops a trailing `+`**. The SASL spec
1313-chunks an AUTHENTICATE payload into 400-char pieces, sending an empty `AUTHENTICATE +`
1414-when the payload is an exact multiple of 400; the bug is in that boundary handling.
1010+**RESOLVED in P11 slice 181 (2026-06-15).** Originally discovered 2026-06-15 during slice 178
1111+(WALLOPS): `leveva/tests/sasl_proptest.rs::chunking_round_trips` flaked on a payload of length
1212+≡ 1 (mod 400) ending in `+` (minimal repro `"A".repeat(400)+"+"`, also the bare `"+"`) — the
1313+round-trip dropped the trailing `+`.
15141616-**Why:** confirmed it is a **pre-existing latent bug**, not introduced by the S2S work —
1717-it reproduces on clean HEAD (git-stashed the WALLOPS source → still fails on the
1818-discovered seed). proptest only surfaces it stochastically, so a fresh-seed
1919-`cargo test -p leveva` run usually passes (which is why CI/the slice gates stayed green).
1515+**Root cause (the slice-178 memory's "exact-multiple" guess was wrong):** exact-multiple-of-400
1616+payloads round-trip fine. The break is narrower — `chunks_for_wire` emitting a *data* chunk equal to
1717+the bare string `"+"` (a length-1 final chunk that is `+`). That is a **genuine IRCv3 wire-format
1818+ambiguity, not a chunker logic bug**: `AUTHENTICATE +` is reserved as the empty-payload sentinel, so
1919+a non-terminator data chunk equal to `+` is unrepresentable, and it is unfixable in the chunker (a
2020+non-final chunk must be exactly 400 chars — that *is* the "more follows" signal). It is also
2121+**unreachable for valid input**: leveva relays only base64, whose length is always a multiple of 4
2222+(as is 400), so a final chunk is never length 1. The old proptest generator `[A-Za-z0-9+/=]{0,1200}`
2323+was over-broad — it drew wire-unrepresentable payloads and asserted an impossible property.
20242121-**How to apply:** when picking the next leveva slice, this is a ready-made, well-scoped
2222-bugfix candidate — fix the 400-byte/exact-multiple chunk boundary in the SASL chunker and
2323-pin the discovered seed as a proptest regression. Do NOT commit a `*.proptest-regressions`
2424-artifact for it speculatively (one was generated and removed during slice 178 to avoid
2525-committing a pinned red). Related: [[leveva-s2s-notify-propagation]] (where it was flagged).
2525+**Fix (no chunker behavior change):** documented the representability contract on
2626+`chunks_for_wire`'s rustdoc; tightened `chunking_round_trips` to the real base64-multiple-of-4
2727+domain (now genuinely total); added a full-alphabet `round_trip_unless_lone_plus_chunk` proptest
2828+that pins the exact boundary (`len % 400 == 1 && ends_with('+')` → result is the payload minus the
2929+swallowed `+`); added a deterministic `lone_plus_data_chunk_is_wire_unrepresentable` unit test.
3030+3131+**Takeaway:** do NOT try to "fix" the chunker to round-trip a bare-`+` payload — it is impossible
3232+within IRCv3 SASL framing; the right move was contract + fuzz-domain correctness. Related:
3333+[[leveva-s2s-notify-propagation]] (where it was flagged).