Extensive requirements review found and fixed a real correctness bug (host_iter shared across plan buckets instead of re-scanned fresh per bucket, which would silently drop solvable multi-host allocations), a self-contradiction around parjob_prepare_allocation's scope, a plan/host-iterator init calling-convention mismatch, and an inverted kvtab .cmp polarity that would have made the unsatisfiable-resreq cache permanently non-functional. brief.md brought back into sync with requirements.md's corrected architecture. design.md and tasks.md generated and validated (kiro-validate-design GO after two fixes; independent task-graph sanity review PASS). Two pre-existing, out-of-boundary gaps found along the way logged as bug-1766/bug-1767. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XYdtrEWWZfKRRGED7raEYg
30 lines
2.4 KiB
JSON
30 lines
2.4 KiB
JSON
{
|
|
"feature_name": "scheduler-allocation",
|
|
"created_at": "2026-07-27T00:00:00Z",
|
|
"updated_at": "2026-09-04T00:00:00Z",
|
|
"language": "en",
|
|
"phase": "tasks-generated",
|
|
"parent_spec": "scheduler-framework",
|
|
"description": "Lazy iterator-driven allocation architecture with parallel job support and resreq caching for the XCE scheduler",
|
|
"approvals": {
|
|
"requirements": {
|
|
"generated": true,
|
|
"approved": true
|
|
},
|
|
"design": {
|
|
"generated": true,
|
|
"approved": true
|
|
},
|
|
"tasks": {
|
|
"generated": true,
|
|
"approved": true
|
|
}
|
|
},
|
|
"ready_for_implementation": true,
|
|
"blocked_on": [
|
|
"RESOLVED 2026-09-03: scheduler-core reached implementation-complete (2026-08-19). scheduler-dispatch-commit reached implementation-complete (2026-08-24), including bug-1624 (task 2.1/3.1, 2026-08-23), the resInUse/sharedInUse corruption this spec's try_alloc_on_host() sequencing note was waiting on.",
|
|
"RESOLVED 2026-09-04: requirements.md approved after extensive review -- 7 original findings plus several more surfaced during live design discussion (a self-contradiction in the parjob_allocator changes section, a plan/host-iterator init calling-convention mismatch vs. the declared struct interface, and a real correctness bug in the composition algorithm: host_iter was shared/forward-only across all buckets of a multi-bucket plan instead of freshly re-scanned per bucket, which would silently drop solvable multi-host allocations), all fixed in place; brief.md brought back into alignment with requirements.md's corrected architecture (it had drifted, still showing the pre-fix 2-level algorithm). Two adjacent, pre-existing gaps found along the way (sched_make_compound_allocation()'s missing rollback on partial failure; the recurring schedobj-reconstruction-duplication pattern in snapshot_load.c) logged as bug-1766/bug-1767 and deliberately kept out of this spec's boundary. No remaining blocker -- design phase clear to start."
|
|
],
|
|
"sibling_specs": ["scheduler-core", "scheduler-preemption", "scheduler-dispatch-commit"],
|
|
"sequencing_note": "Added 2026-08-23 (user directive): blocked on scheduler-dispatch-commit landing first -- this spec's try_alloc_on_host() reads the same resInUse/sharedInUse totals bug-1624 (fixed by scheduler-dispatch-commit) corrupts, and the planned XCE_ALLOC_PREEMPT borrowing mode interacts with what counts as committed/borrowable under that spec's redefined RUN-state timing."
|
|
}
|