Files
pad/internal/config
xarmian 5f8252ce88 test(events): cover the migration's central claim and three untested branches (BUG-2736)
Codex round 12 asked only "what has no test at all", which is a different
question from "is each fix pinned" and found things twelve rounds of the
second question had not.

THE CENTRAL CLAIM HAD NO TEST. Parsing, publishing and fan-out were each
exercised alone; that a phase-1 and a phase-2 instance on one Redis deliver
each other's events -- the thing the whole two-phase design rests on -- needed
both buses at once and nothing did that. Now both directions, with both
receivers asserted, and the premise that the two payload forms really did
differ.

THE BACKWARDS GUARD IS `<=` AND EVERY TEST USED A STRICTLY LOWER ID. A `<`
implementation passed all of them while letting a REPEATED id into the buffer
-- a duplicate delivery and a replay that can serve the same id twice, with no
reset reported. Mutation-checked.

THE ROLLBACK PRECEDENCE HAD NO TEST. The procedure tells an operator to make
the EFFECTIVE value false and warns that unsetting the env var is not the same
thing; neither half was pinned, so a load order letting the file win over an
explicit env-var false would have kept a deployment on phase 2 while its
operator believed they had rolled back.

AND THE RESIDUAL IS NOW EXECUTABLE. A bus with empty buffers adopts an epoch
without dropping, so its first buffer starts at the first id it sees and a
client holding the id one below is served. That was described in three places
and asserted in none. It is now a characterization test that states the load
trade in its own comment, so a future change to it is a decision rather than a
side effect -- and the boundary is pinned exactly: adjacent is served, one
lower is a gap.

Declined with reasons: the startup phase log cannot be driven without standing
up a server and its wrongness is visible on first read; the race between a
phase-1 epoch delete and a concurrent phase-2 mint is documented, bounded at
one extra buffer drop, and not deterministically reproducible; and the
cross-Redis failover retry needs two Redises with controlled replication lag,
which miniredis cannot represent honestly.

Claude-Session: https://claude.ai/code/session_01JVDBKbgn3Xt7ndW1YoYd8X
2026-08-22 20:34:31 +00:00
..