docs(scheduler-sim-live-allocation): reconcile equivalence suites (task 5.3)

Re-ran test_repl_equivalence.c, test_sim_equivalence.c, and
test_sim_contention_parity.c in full: all pass, 85/85, zero assertion
changes anywhere. Confirmed all three still exercise their own
link-satisfying always-PEND sched_job_picker/sched_allocator stub
(added task 4.1), correctly proving the new two-thread jbuf timing
didn't disturb decision ordering -- but not proving real live-path
resource-based dispatch parity, which is already covered separately
by tasks 4.1/4.3/5.1/5.2's real-scheduler_srcs-linked fixtures.

Fixed a stale documentation defect: all three files' header/inline
comments claimed sim mode "structurally CANNOT emit a DISPATCH
decision" via sim_picker_thread_fn(), a function this feature removed
in tasks 3.1/4.1. That claim is now false of production sim mode
(disproved by test_sim_live_allocation.c and others); corrected with
a RECONCILIATION addendum rather than rewriting the original
historical rationale. No production code or assertion values changed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RLSNJhNoULvVcUhXEFafQC
This commit is contained in:
Rongsong Shen 2026-09-19 09:39:32 +00:00
parent a70c7a2c61
commit aacb7250e3
No known key found for this signature in database
GPG key ID: 5BCDAAE0123E9FE2
4 changed files with 77 additions and 6 deletions

View file

@ -18,9 +18,14 @@
* completion produces the same output as `--sim` without `--interactive`."
*
* Fixture (a genuine, non-trivial, PEND-only sequence -- see
* test_sim_equivalence.c's own header comment for why every decision the
* simulation driver can produce today is PEND, never DISPATCH:
* sim_picker_thread_fn()'s documented, out-of-this-task's-scope gap): TWO
* test_sim_equivalence.c's own header comment, and that comment's
* scheduler-sim-live-allocation task 5.3 RECONCILIATION addendum, for why
* every decision THIS FILE's own fixture produces is PEND, never DISPATCH:
* this file provides its own link-satisfying sched_job_picker()/
* sched_allocator() stub, below, reproducing the old always-PEND contract
* the now-removed sim_picker_thread_fn() used to provide -- production sim
* mode itself can genuinely DISPATCH today, proved elsewhere, see that
* addendum): TWO
* queues at different priorities ("high"=5, "normal"=1, forcing the real
* builtin_fcfs cross-queue priority ordering to run for real) and FOUR jobs
* split across THREE separate ReplaySession boundaries (2 jobs before
@ -883,8 +888,11 @@ test_repl_step_continue_to_completion_matches_batch_decision_sequence(void)
/* Independently pin the decision TYPE on each side (matches
* test_sim_equivalence.c's own "pin the type, don't just diff
* the two sides against each other" guard) -- every decision
* this fixture can produce is PEND (sim_picker_thread_fn()'s
* documented, out-of-scope DISPATCH gap). */
* this fixture can produce is PEND (this file's own
* link-satisfying sched_allocator() stub -- see header comment
* and test_sim_equivalence.c's task 5.3 RECONCILIATION
* addendum for why, and why production sim mode itself is not
* limited this way). */
TEST_ASSERT_EQUAL_INT((int)ReplayDecision_body_pend,
(int)bd->body_which);
TEST_ASSERT_EQUAL_INT((int)ReplayDecision_body_pend,