myxce/.kiro/specs/raft-apply-decoupling
Rongsong Shen 665b29f5b0 test(raft-apply-decoupling): durable fact retention under sustained quorum loss (task 4.2)
Add test_fact_state_unchanged_throughout_quorum_loss_outage to
test_commit_barrier_reply.c (30->31), no production changes. Drives
a real repl_remove_standby quorum-loss window through all 4
fact-receipt handlers, polls live state and committed_lsn at 5
time-spread points (not once), asserts a real hook-spy never sees
AFTER_EVENT fire, and confirms durable WAL presence via direct
on-disk read.

Documents an architectural asymmetry for task 6 planning: facts have
no commit-timeout concept (COMMIT_MODE_RETAIN registers no
continuation, "never honors the timeout") unlike commands'
commit_submit_async -- the apply pump must discover newly-committed
retained facts purely via committed_lsn advancement, not any
per-fact signal.

Closes out task-group 4 (fact apply-after-commit split).
2026-07-04 07:22:21 +00:00
..
brief.md docs: promote raft-apply-decoupling spec family from /kiro-discovery 2026-07-03 02:41:11 +00:00
design.md feat(raft-apply-decoupling): commit engine resolve primitive + majority-ack wiring (task 1.2) 2026-07-03 09:03:50 +00:00
facts-in-raft.md docs: promote raft-apply-decoupling spec family from /kiro-discovery 2026-07-03 02:41:11 +00:00
requirements.md docs(raft-apply-decoupling): add requirements, design, and task plan 2026-07-03 07:05:28 +00:00
research.md docs(raft-apply-decoupling): add requirements, design, and task plan 2026-07-03 07:05:28 +00:00
spec.json docs(raft-apply-decoupling): add requirements, design, and task plan 2026-07-03 07:05:28 +00:00
tasks.md test(raft-apply-decoupling): durable fact retention under sustained quorum loss (task 4.2) 2026-07-04 07:22:21 +00:00