feat(libxce-alloc-preason-equality): full ASAN regression green (task 5.2); 5.3 blocked on scheduler-sim-discrete-clock

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-09-28 11:11:41 +00:00
parent a9c984775f
commit dcf3acf32a
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C

View file

@ -73,7 +73,7 @@ Test-first throughout (red → green → refactor). Every sub-task leaves the bu
- Remove the dispatch allocation-level tests that only re-prove the allocation comparisons now owned by libxce; keep the pending-decision, decision-level and integration tests, the inverted reservation-start-time test from 4.3, and the description-text tests from 4.3.
- Done when the verification test file no longer duplicates libxce coverage and still passes.
- _Requirements: 6.1, 6.4_
- [ ] 5.2 Full build and regression
- [x] 5.2 Full build and regression
- Run the full ASAN build with the libxce, scheduler and controller suites.
- Confirm no source still names any of the five removed private comparators (the string, allocation, host-allocation, job-allocation and pending-reason ones); the decision-level comparison keeps its name.
- Done when every suite passes and the search finds no match.
@ -84,6 +84,7 @@ Test-first throughout (red → green → refactor). Every sub-task leaves the bu
- Done when the test passes and the live replay reports zero mismatches; then mark bug-1881 fixed through the buglog skill with the fix commit.
- _Requirements: 4.3, 5.4_
- _Depends: spec scheduler-sim-discrete-clock_
- _Blocked: spec scheduler-sim-discrete-clock is at requirements-generated (not approved or implemented); the simulator's own session-begin clock read (sim_loop.c) still drifts at --sim-speed ≥ 1, so a replayed `from` cannot yet be shown equal at default settings_
## Implementation Notes
- `xce-build.sh` resolves a relative build dir under `src/`: `bash src/tools/xce-build.sh lib asan xce.build.alloceq` builds into `src/xce.build.alloceq`, so iterate with `meson test -C src/xce.build.alloceq`.
@ -91,3 +92,4 @@ Test-first throughout (red → green → refactor). Every sub-task leaves the bu
- Simulation mode (`sim_loop.c`) still takes its own session-begin clock reading before `xce_core_begin_session()`; by design that is left to spec scheduler-sim-discrete-clock (3.1 fixed only the normal-mode recorder).
- 4.2 left the `from`-excluded comments at `test_sim_verify.c` ~639-681 for 4.3, which inverts the test they document.
- `sim_verify.c` builds descriptions with `vsnprintf` + `malloc`, not `vasprintf`: about 25 scheduler tests `#include "../src/sim_verify.c"` after `<stdio.h>` without `_GNU_SOURCE`. Same ownership contract as libxce.
- 5.2: `xce-build.sh all` stops at the xceadmin live-HA e2e test (`test_live_config_push_against_primary_reaches_success_path`, versionTag 0); it uses controller binaries from the shared default build dirs, not this build. The spec needs only lib/scheduler/controller: built with `--incremental` per component, then `meson test --no-suite xceadmin` gave 116/116, 0 Unity :FAIL lines, 0 sanitizer reports.