test(ha-commit-barrier-rollout): receipt-ACK verdict pins (task 3.3)

4 green pins: handle_jobdispatch replies receipt-only with zero WAL
appends through a real 2-alloc dispatch cycle (notify outcomes intact,
reply-precedes-processing); set/clr_preason and do_update_op rusage
stay receipt-style with RETAIN-pending fact appends ACK-committed.
Umbrella Reply-Ordering Contract cited per pin. DISCOVERY bug-451
(reviewer-verified): RUSAGE hook va_list type confusion — 4-byte OOB
read + garbage state in WAL_JOB_RUSAGE payloads; fix deferred to 7.1.
Census 488; zero failures.
This commit is contained in:
Rongsong Shen 2026-06-12 11:16:51 +00:00
parent facdb90917
commit 7103fa643d
6 changed files with 865 additions and 327 deletions

View file

@ -1,7 +1,7 @@
# anatomy.md
> Auto-maintained by OpenWolf. Last scanned: 2026-06-12T10:00:34.785Z
> Files: 509 tracked | Anatomy hits: 0 | Misses: 0
> Auto-maintained by OpenWolf. Last scanned: 2026-06-12T11:16:47.642Z
> Files: 513 tracked | Anatomy hits: 0 | Misses: 0
## ./
@ -253,7 +253,7 @@
- `requirements.md` — Requirements Document (~3181 tok)
- `research.md` — Research & Design Decisions: ha-commit-barrier-rollout (~3672 tok)
- `spec.json` (~143 tok)
- `tasks.md` — Implementation Plan: ha-commit-barrier-rollout (~4337 tok)
- `tasks.md` — Implementation Plan: ha-commit-barrier-rollout (~4653 tok)
## .kiro/specs/ha-commit-engine/
@ -706,9 +706,13 @@
## src/controller/
- `meson.build` (~1130 tok)
- `job.c` — include <errno.h> (~8196 tok)
- `join.c` — include "config.h" (~2530 tok)
- `meson.build` (~1134 tok)
- `queue.c` — include <errno.h> (~1451 tok)
- `worker.c` — include <errno.h> (~5124 tok)
## src/controller/testsuite/
- `controller_test.c` — include <argp.h> (~1368 tok)
- `test_commit_barrier_reply.c` — Task 3.1 RED integration tests: commit-first-then-reply per opcode (jobctrl/queuectrl/hostctrl/worker-join) via endpoint outq reply capture + pthread handler runner; pins the key_find rc==1 hook-skip gap (~8639 tok)
- `test_commit_barrier_reply.c` — Task 3.1 commit-first-then-reply integration tests + task 3.3 receipt-ACK verdict pins (jobdispatch/preason/rusage); cluster harness w/ real persist, wired commit engine, stub standbys, reply-capture endpoint, notify/get_ep_worker capture stubs (~17500 tok)

File diff suppressed because it is too large Load diff

View file

@ -937,3 +937,14 @@
| 11:00 | Task 3.2 ha-commit-barrier-rollout: commit barrier in 4 handlers + bug-447 rc normalization in queue_ctrl/worker_ctrl/job_ctrl | src/controller/{job,queue,worker,join}.c | 12/12 barrier-reply tests PASS, full suite 0 FAIL, no sanitizer reports | ~60k |
| 03:28 | Edited .kiro/specs/ha-commit-barrier-rollout/tasks.md | inline fix | ~32 |
| 03:28 | Edited .kiro/specs/ha-commit-barrier-rollout/tasks.md | 1→2 lines | ~172 |
| 03:48 | Edited src/controller/testsuite/test_commit_barrier_reply.c | modified HOSTS() | ~231 |
| 03:48 | Edited src/controller/testsuite/test_commit_barrier_reply.c | added 2 condition(s) | ~685 |
| 03:48 | Edited src/controller/testsuite/test_commit_barrier_reply.c | modified cbrp_make_job() | ~213 |
| 03:49 | Edited src/controller/testsuite/test_commit_barrier_reply.c | 4→6 lines | ~64 |
| 03:50 | Edited src/controller/testsuite/test_commit_barrier_reply.c | modified reference() | ~4973 |
| 03:50 | Edited src/controller/testsuite/test_commit_barrier_reply.c | 6→11 lines | ~154 |
| 03:51 | Edited src/controller/testsuite/test_commit_barrier_reply.c | 3→4 lines | ~22 |
| 03:52 | Edited src/controller/meson.build | 12→13 lines | ~48 |
| 11:06 | Task 3.3 receipt-ACK verdict pins: 4 GREEN pins (jobdispatch no-WAL receipt ACK, set/clr_preason, do_update_op rusage RETAIN) added to test_commit_barrier_reply.c; opupd.c added to test link | src/controller/testsuite/test_commit_barrier_reply.c, src/controller/meson.build | suite green 488 distinct PASS / 0 FAIL; discovered bug-451 (rusage hook va-arg type confusion) | ~95k |
| 04:16 | Edited .kiro/specs/ha-commit-barrier-rollout/tasks.md | inline fix | ~14 |
| 04:16 | Edited .kiro/specs/ha-commit-barrier-rollout/tasks.md | 1→2 lines | ~184 |