myxce/.kiro/specs/controller-status
Rongsong Shen 21ae00b375
feat(controller-status): stamp election time on both promotion roads (task 7.2)
Stamps ha_state_t.last_known_elected_at_ms (CLOCK_REALTIME, epoch-ms) in
both ha_do_promote (non-raft road) and raft_cb_become_leader (raft road),
placed at each road's genuine, final commit point to CTRL_PRIMARY -- past
every early-return refusal path in raft_cb_become_leader (first-boot
phase2 failure, the Live Apply Resource Fence re-check, the promotion
eligibility gate, config-serve-fenced, upgrade-materialization-fenced).
Purely observational: does not change whether/when a promotion succeeds
or is refused. Three new tests (2 positive, 1 negative) prove placement:
a refused promotion leaves the field at its pre-attempt value.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RLSNJhNoULvVcUhXEFafQC
2026-09-16 04:54:25 +00:00
..
design.md docs(controller-status): add Requirement 12 delta (primary election term/time) 2026-09-16 03:47:45 +00:00
requirements.md docs(controller-status): add Requirement 12 delta (primary election term/time) 2026-09-16 03:47:45 +00:00
research.md docs(controller-status): add Requirement 12 delta (primary election term/time) 2026-09-16 03:47:45 +00:00
spec.json docs(controller-status): add Requirement 12 delta (primary election term/time) 2026-09-16 03:47:45 +00:00
tasks.md feat(controller-status): stamp election time on both promotion roads (task 7.2) 2026-09-16 04:54:25 +00:00