feat(scheduler-sim-decision-trace): hook the host pre-filter, host scan and satisfaction check
Task 3.3: the pre-filter records selection mismatches and internal errors as host verdicts, a scan stopped by an error marks the position as a scan error, and unsatisfy_() hands every checked row to the current record. Iterator and check results are unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
542c6e602a
commit
d4bee4b5d0
6 changed files with 834 additions and 3 deletions
|
|
@ -94,8 +94,10 @@ typedef struct xce_sched_trace_rec_s xce_sched_trace_rec_t;
|
|||
* effects and argument evaluation included) runs only while `core` (an
|
||||
* xce_sched_core_t*) has a record under construction in trace_rec, so a
|
||||
* hook costs one pointer test when nothing is traced, and nothing else.
|
||||
* Only the allocator thread sets trace_rec, so hooks are placed only on
|
||||
* that thread. One statement: safe in an unbraced if/else.
|
||||
* Only the allocator thread sets trace_rec. A hooked function called from
|
||||
* another thread (the sim thread's reconciliation reaches unsatisfy_)
|
||||
* sees NULL there, because the allocator clears trace_rec before it hands
|
||||
* each decision back. One statement: safe in an unbraced if/else.
|
||||
*/
|
||||
#define SCHED_TRACE(core, call) \
|
||||
do { \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue