Skip to main content

C input readiness: CI1–CI6

Score each gate 0 (absent/wrong), 1 (materially prompted), 2 (independently correct with reproducible evidence and limits), or 3 (also defends a fresh case and alternative). Every gate needs at least 2; quiz percentages do not waive missing evidence.

  • CI1 — Language model: distinguish a C11 language guarantee, target assumption and observation; correctly explain signed overflow versus the signed-char conversion example.
  • CI2 — Capacity: predict capacity 1, exact fit and overlong behavior; account for the terminator and validate before subtracting from capacity.
  • CI3 — Input state: distinguish blank line, end, final unterminated line, NUL and input error; demonstrate draining and a following successful call.
  • CI4 — Implementation: reproduce the checks and add a changed regression that fails for a relevant defective implementation. State buffer/source ownership and valid-pointer preconditions.
  • CI5 — Tool evidence: retain warning-clean compilation, a supported ASan/UBSan run and expected/observed outputs. Explain the limits of instrumentation and a source-versus-link failure. Unsupported is not passed.
  • CI6 — Transfer and integrity: after at least a day, trace a fresh input/error sequence without the reference, explain the unbounded-drain limitation, and disclose assistance. Label self-review honestly.

Repair weak gates and retest changed cases. Keep dates, outputs and scores together. Use the calibration key only after an attempt. Existing module practice and semester requirements remain required.