Widens sim_reconcile_unaccounted_jobs()'s trigger gate in sim_loop.c: removes !JOB_IS_RUN(job->state) so a job's recorded DISPATCH decision is captured as soon as the replay reaches the round it occurred in, regardless of the job's current state -- closing bug-1611/bug-1613's residual (a job whose RUN confirmation lands in a later round than its dispatch decision, the realistic case under any real dispatch-to-confirmation latency, was never reconciled). sched_account_jobs()'s own unmodified JOB_IS_RUN charging gate continues to defer actual resource-in-use accounting until the job genuinely transitions to RUN -- no other line in the match/capture/report path changes. Replaces test_reconcile_skips_non_run_state_job (which asserted the bug as correct behavior) with test_reconcile_captures_non_run_state_job_when_dispatch_recorded, proving the opposite for a PEND-state job. Adds the xce-test-rc-file-style spec docs (requirements/design/research/tasks) for this feature. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AgYRU3zDTqNGV5Jk8aiKLg
22 lines
464 B
JSON
22 lines
464 B
JSON
{
|
|
"feature_name": "scheduler-sim-eager-reconciliation",
|
|
"created_at": "2026-08-22T14:50:13Z",
|
|
"updated_at": "2026-08-22T14:58:00Z",
|
|
"language": "en",
|
|
"phase": "tasks-generated",
|
|
"approvals": {
|
|
"requirements": {
|
|
"generated": true,
|
|
"approved": true
|
|
},
|
|
"design": {
|
|
"generated": true,
|
|
"approved": true
|
|
},
|
|
"tasks": {
|
|
"generated": true,
|
|
"approved": true
|
|
}
|
|
},
|
|
"ready_for_implementation": true
|
|
}
|