myxce/.kiro/steering
Rongsong Shen 6193fa7ea1
test(admin-config-tool): update standby-redirect E2E for bug-1700/1701
test_live_config_push_against_standby_returns_standby_rejection_not_redirect
locked in the OLD controller behavior (a standby flatly rejects
OP_upgradeConfig with no redirect fields). That gap is now closed:
myreq_handler's gate-rejection path calls fill_redirect_reply() on
every -XCE_ERR_STANDBY rejection (bug-1700), and handle_ctrlhello() now
actually populates primary_host/primary_port from the static --peers
list (bug-1701) -- a standby pushing config now redirects to the
primary and the push succeeds. Renamed to
test_live_config_push_against_standby_redirects_and_succeeds and
rewritten to assert the new behavior.

_assert_primary_committed() changed from a single-shot log read to a
poll loop (up to 5s) for the "config activated from committed
marker..." line -- accounts for the documented async gap between the
majority-ack-gated client reply and the primary's own local WAL-apply-
pump activation, a real race the old single-shot read could hit.

meson-build.sh: wire src/tools and each build profile's controller
subdir into the isolated repo-mirror the E2E tests run against, and
export XCEADMIN_BIN explicitly, so these live tests actually find real
binaries instead of always skipping.

Verified: xceadmin suite 288/288 (incl. both tests in this file);
controller suite 1220/1222 (only the pre-existing bug-1561 flake).
Updated admin-config-tool design.md and roadmap.md to mark the
dispatch-gate and redirect-wiring gaps RESOLVED, matching this test's
new assertions and the live evidence.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019QxaSzHRB7pmYFp4cVnwkA
2026-08-29 12:10:28 +00:00
..
api-standards.md docs: OpenWolf pointer cleanup + redirect-hint checklist item (bug-1700 lesson) 2026-08-27 08:27:17 +00:00
build-deployment.md docs: sync skills and steering docs with bug-1562..1566 findings 2026-08-17 10:21:25 +00:00
config-design.md save status 2026-07-21 08:24:44 +00:00
error-handling.md update documents 2026-08-10 17:51:51 +08:00
ha-async-io.md docs: sync skills and steering docs with bug-1562..1566 findings 2026-08-17 10:21:25 +00:00
persistence.md docs: formalize save/restore field-completeness as a standing invariant 2026-08-27 08:59:48 +00:00
product.md update documents 2026-08-10 17:51:51 +08:00
roadmap.md test(admin-config-tool): update standby-redirect E2E for bug-1700/1701 2026-08-29 12:10:28 +00:00
scheduler-driver-equivalence.md docs(scheduler): document driver-equivalence invariant, scope decision-parity fix spec 2026-08-22 02:52:00 +00:00
security.md docs: save scheduler-snapshot-job-allocation and xce-test-cli-ux spec docs, sync OpenWolf state 2026-08-28 06:30:37 +00:00
structure.md update documents 2026-08-10 17:51:51 +08:00
tech.md update documents 2026-08-10 17:51:51 +08:00
testing.md update documents 2026-08-10 17:51:51 +08:00