# AIE016-LAB1 — Capability-aware Scheduler

Implement `schedule(case)` in `starter.py`. Build hard-gate results from the versioned workload request and node capability records. Preserve `UNKNOWN` and `STALE`; do not infer capability from the included live-utilization field. Compute preferences only for nodes that pass all hard gates. Emit one bounded result: `PLACE`, `UNSCHEDULABLE`, or `DEFER`, plus a selected node/binding record only when placement is justified.

Run `python run_checks.py` to verify the eight learner fixtures are structurally ready. Hidden evaluation checks deterministic outcomes.
