myxce/.wolf/hooks
Rongsong Shen a5e29a6ffa fix(raft-apply-decoupling): kill-mid-fact-stream soak + close bug-1416 boot-time TOCTOU (task 7.2)
Adds --factstream HA soak mode driving real jstart/jfinish/jfail worker-fact
traffic against a live 3-node cluster, killing the primary mid-stream and
asserting zero committed-state divergence and zero phantom fact reactions.

Building this scenario surfaced bug-1416: persist_recover()'s boot-time
apply-correctness verification can race the live apply pump and the standby
live-replication apply path, both of which mutate the same last_applied_lsn/
job-table state the verification re-reads live -- producing a false
APPLY_DIVERGENT that permanently fences an otherwise-healthy node. Fixed with
a new persist_t.recovery_complete gate that defers only the in-memory apply
(never the durability write or replication ACK) while a recovery pass is in
flight, closed from the earliest safe point in myapp_run() so an election-
retry candidate can't apply live traffic before persist_recover() ever runs.

Round-2 adversarial review independently verified the ACK/durability paths
stay ungated, reproduced the myapp.c fix as load-bearing via revert-and-
reproduce, and confirmed real-divergence detection still fires. Live 3-node
factstream soak: 2/2 rounds PASS, zero APPLY_DIVERGENT across 5 recover
calls. controller_unit_test: zero new failures across 23 groups.
2026-07-07 03:03:40 +00:00
..
_session.json fix(raft-apply-decoupling): kill-mid-fact-stream soak + close bug-1416 boot-time TOCTOU (task 7.2) 2026-07-07 03:03:40 +00:00
package.json chore: checkpoint all prior work for clean state 2026-06-04 13:04:16 +00:00
post-read.js chore: checkpoint all prior work for clean state 2026-06-04 13:04:16 +00:00
post-write.js chore: checkpoint all prior work for clean state 2026-06-04 13:04:16 +00:00
pre-read.js chore: checkpoint all prior work for clean state 2026-06-04 13:04:16 +00:00
pre-write.js chore: checkpoint all prior work for clean state 2026-06-04 13:04:16 +00:00
session-start.js chore: checkpoint all prior work for clean state 2026-06-04 13:04:16 +00:00
shared.js chore: checkpoint all prior work for clean state 2026-06-04 13:04:16 +00:00
stop.js chore: checkpoint all prior work for clean state 2026-06-04 13:04:16 +00:00