Semester 2 Common Failure Modes
Use a minimal counterexample and a fresh recheck. This table targets specific failures, not a quota of mistakes or generic advice to “add more evidence.”
| Failure | Separating example or check | Repair |
|---|---|---|
| Numeric magnitude mistaken for input length | Large B written with few bits creates a huge DP table | S1: bit model, table-cell budget, explicit decline |
| Sorted values hide lost identity | Equal-key records A,C swap or disappear | S2: stable record oracle and tie rule |
| Endpoint convention changes in prose only | Two intervals touch at time 2 | S2/S4: predecessor, proof and witness tests updated together |
| BFS levels substituted for readiness | Unequal task durations on a diamond graph | S3: weighted longest predecessor finish and certificate |
| Cycle returns a partial result | Back edge leaves unprocessed vertices | S3: complete coverage or explicit rejection |
| Correct objective paired with invalid schedule | Duplicate IDs, overlaps or budget overspend | S4: validate witness independently of the reported value |
| Greedy choice has no exchange argument | Earliest-finish fixture yields 11 instead of 18 | S4: derive sufficient state or prove a valid greedy rule |
| Zero cost causes unbounded reuse | One cost-0 job repeatedly selected | S4: prefix decreases on every inclusion |
| Latest version used instead of requested version | Two forks from version 0 have different deletions | S5: recheck every retained version against copied models |
| Shallow copy leaks nested mutations | Caller appends to returned prerequisite list | S5: ownership contract and isolation checks |
| Invalid batch consumes an ID or publishes partial work | Valid delete followed by missing-key delete | S5: validate working snapshot before publication |
| Amortized bound sold as request latency | Append at full capacity copies old elements | S5: actual/potential ledger and per-call distinction |
| Current-only filter hides historical key | A deleted key remains in version 0 | S5/S6: supported population, safe rebuild, exact confirmation |
| Timing or random seed presented as theorem | One run, one input family | S6: measured scope, proof assumptions and repetition |
| Unsafe search pruning | Low-value partial branch still has a high-value completion | S6: upper bound for maximization or explicit approximation |
Record affected competency, failed assumption, repair and changed-case result. Use the rubric to decide whether the error blocks completion.