myxce/.kiro/specs/ha-config-bootstrap/spec.json
Rongsong Shen 5a08dac57b
docs(kiro): close 3 stalled specs whose follow-up work already landed
ha-config-bootstrap, scheduler-controller-msg-gap, and resval-id-decoupling
were the only 3 specs (of ~40) carrying a nonstandard status:"active"
field, each paired with a note about residual gap-audit findings that
never got refreshed once later work actually resolved them:

- ha-config-bootstrap: all 3 known deviations resolved/superseded
  (redirect fields -> libxce-failover; WAL majority-commit scope -> the
  deliberate wal_classify() WAIT/RETAIN design; commit-timeout durability
  -> bug-661 fix via ha-commit-durability, live-reverified 2026-07-18).
  One narrower, genuinely new gap found in passing (OP_upgradeConfig
  replies lack redirect wiring, admin-config-tool task 6.3) is flagged
  in the note for a future spec, not folded back into this one.
- scheduler-controller-msg-gap: both open items (sched_pend_update_killer
  leak, test coverage) were fixed via bug-765 across 4 commits on
  2026-06-19, verified directly in current scheduler.c and the test
  suite -- the note just never caught up.
- resval-id-decoupling: not just an investigation -- the recommended
  name-keyed collect_resval() fix shipped one day after the spec was
  created (commit d47b3375), verified as the sole implementation left
  in current code. Description no longer named the deleted function;
  status:"active" flipped to "closed" and a note added to match its
  sibling specs' convention.

All three verified via direct code/commit/buglog inspection (not just
trusting stale spec text) before closing. status:"active" -> "closed"
in all three; phase stays "implemented" (already correct).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-16 12:13:15 +00:00

24 lines
1.9 KiB
JSON

{
"feature_name": "ha-config-bootstrap",
"description": "Replace LSF-style priority election with Raft-style quorum voting, add majority-commit WAL and config replication, establish persistent control channels, and harden the controller startup sequence for full CP high-availability.",
"phase": "implemented",
"created_at": "2026-05-27T01:24:00-07:00",
"updated_at": "2026-08-16T04:30:00-07:00",
"language": "en",
"status": "closed",
"approvals": {
"requirements": {
"generated": true,
"approved": true
},
"design": {
"generated": true,
"approved": true
},
"tasks": {
"generated": true,
"approved": true
}
},
"note": "CLOSED 2026-08-16. All 3 known deviations from the 2026-06-09 gap analysis resolved or deliberately superseded, confirmed by this spec's own 2026-06-18 re-audit (research.md) plus a fresh cross-check: (1) redirect fields never populated -- closed by libxce-failover's fill_redirect_reply() (join.c:28), validate-impl GO 2026-07-18, explicitly closing this spec's Req 7 gap. Caveat: OP_upgradeConfig replies still lack redirect wiring, a narrower still-open gap found by admin-config-tool task 6.3 (2026-08-16) -- NOT a reopening of this deviation, since Req 7 only ever covered libxce's generic retry path, never OP_upgradeConfig specifically; track it under whichever spec next touches xceadmin/config-push. (2) WAL majority-commit covers WAL_JOB_SUBMIT only -- superseded by the deliberate wal_classify() WAIT/RETAIN scheme (ha-commit-barrier-rollout/ha-consistency-invariants, complete 2026-07-13); not a coverage gap, an intentional latency-driven design, not ha-repl-hardening as originally noted. (3) commit timeout silently degrades -- resolved as bug-661 via ha-commit-durability (17/17 tasks, validate-impl GO, re-verified live 2026-07-18: 8/8 rolling+cold-restart soak rounds, zero job loss)."
}