Skip to main content

I/O contracts: IO1–IO6

Score each gate 0 (missing/wrong), 1 (materially prompted), 2 (independently correct with evidence and limits), or 3 (also defends fresh variants). Every gate needs 2 or above; aggregate quiz scores cannot waive a progress or ownership error.

  • IO1 — Progress: predict exact callback offsets, accepted prefixes and returned counts for short writes and partial failure.
  • IO2 — Retry: distinguish EINTR, EAGAIN, zero progress and budget exhaustion; show no duplication or busy loop under finite schedules.
  • IO3 — Implementation: reproduce checks, add a fresh regression and retain failure-before/pass-after evidence with unchanged input data.
  • IO4 — Ownership: diagram borrowed versus owned descriptors and explain EOF, duplicate references and platform-sensitive close handling.
  • IO5 — Diagnostic evidence: retain warning-clean and supported instrumented runs plus the small pipe result; distinguish deterministic fake coverage from OS guarantees.
  • IO6 — Transfer and integrity: after a day, trace a changed schedule unaided, justify recovery limits and budget-versus-deadline distinction, and disclose assistance.

Repair weak gates with changed cases; preserve dates, traces and score sheets. Read the calibration key after your attempt. Original module and semester-strand requirements remain mandatory.