myxce/.claude/skills
Rongsong Shen a525091b02 fix(xce-test-ha): source soak divergence boundary from live committedLsn, guard against a stale zero (task 7.2)
The chaotic soak's walcheck()/walcheck_count() previously forced a
static `1 + 2*njobs` boundary onto walcompare, which doesn't account
for per-election NOOP WAL entries and overshoots the real tip --
producing spurious committed_divergence counts on an otherwise-clean
cluster (verified via waldump: byte-identical, gap-free WALs across
all 3 nodes despite a reported divergence=7).

Replaces the static estimate with the LIVE, authoritative committedLsn
(via the existing probe_primary client probe), applied as an explicit
--committed boundary only when the cluster is genuinely converged
(cluster_committed_converged) -- falling back to walcompare's own
auto-derive (min CRC-intact tip) when not, so a legitimately-lagging
just-restarted standby never gets a false "MISSING" verdict mid-chaos.
Pure auto-derive alone can't catch a member that permanently lost a
committed entry (its own low tip just becomes the shared boundary),
so this restores exact-boundary detection at every genuinely-settled
instant while keeping the auto-derive fallback for in-flight kills.

Also fixes a live-caught edge case in the same mechanism: a transient
ctrlstatus race can report committedLsn=0 for the primary right after
reconvergence; live_committed_boundary() now rejects a bare "0" as
untrustworthy and falls back to auto-derive, instead of handing
walcompare a vacuous --committed 0 boundary that would check nothing.

Selftest 17/17. Three independent fresh 6-round chaotic soaks (own
run + reviewer's reproduction + post-guard-fix re-run) all PASS:
committed_divergence=0, committed_job_loss=0, 6/6 elections, 21/21
jobs present throughout. No production C code touched.
2026-07-01 23:47:12 +00:00
..
kiro-debug add kiro skills 2026-05-21 03:41:57 +00:00
kiro-discovery add kiro skills 2026-05-21 03:41:57 +00:00
kiro-impl add kiro skills 2026-05-21 03:41:57 +00:00
kiro-review add kiro skills 2026-05-21 03:41:57 +00:00
kiro-spec-batch add kiro skills 2026-05-21 03:41:57 +00:00
kiro-spec-design claude skills 2026-05-29 15:00:06 +08:00
kiro-spec-init claude skills 2026-05-29 15:00:06 +08:00
kiro-spec-quick claude skills 2026-05-29 15:00:06 +08:00
kiro-spec-requirements claude skills 2026-05-29 15:00:06 +08:00
kiro-spec-status add kiro skills 2026-05-21 03:41:57 +00:00
kiro-spec-tasks claude skills 2026-05-29 15:00:06 +08:00
kiro-steering claude skills 2026-05-29 15:00:06 +08:00
kiro-steering-custom claude skills 2026-05-29 15:00:06 +08:00
kiro-validate-design add kiro skills 2026-05-21 03:41:57 +00:00
kiro-validate-gap add kiro skills 2026-05-21 03:41:57 +00:00
kiro-validate-impl add kiro skills 2026-05-21 03:41:57 +00:00
kiro-verify-completion add kiro skills 2026-05-21 03:41:57 +00:00
xce-build feat(xce-build): add non-ASAN debug + release profiles; root-cause bug-1286 with the debug build 2026-06-30 09:15:36 +00:00
xce-deploy-ha docs(ha-single-leader-role): sync steering + contributor docs to three-state model + own-term gate (task 6.1) 2026-06-13 14:58:55 +00:00
xce-test-ha fix(xce-test-ha): source soak divergence boundary from live committedLsn, guard against a stale zero (task 7.2) 2026-07-01 23:47:12 +00:00