Issue resolution, held-out checks, and patch inspection.
Retained generated outputs and their historical evaluators, not a matched or currently qualified experiment. Failures, incomplete coverage, replay scoring and different model/backend bindings remain explicit. A live flag does not establish containment or independent replication.
Eleven easy/hard issues and five harnesses; the failed OpenCode measurement is retained.
| Issue | Harness | Composite | Strict | Hidden | Held-out | Regression | Minimality | Backend |
|---|
Inspect the evidence
mathlib.calc.sum_evens(nums) should return the sum of the EVEN numbers in nums, but it currently returns the sum of the odd numbers. Fix it so even numbers are summed (and an empty list sums to 0).Open scored results ↓
ds.stack.Stack is meant to be a last-in-first-out stack, but Stack.pop() removes the OLDEST item instead of the most recently pushed one. Fix pop() so the stack is LIFO; popping an empty stack should raise IndexError.Open scored results ↓
textutil.slug.slugify(s) should produce a URL slug: lowercase, words separated by single hyphens, with all non-alphanumeric characters removed and no leading/trailing hyphens. It currently only replaces spaces with hyphens. Fix it to fully normalize the string.Open scored results ↓
pagelib.page.page_count(total, per_page) should return the number of pages needed to show `total` items at `per_page` per page, rounding up for a partial last page. It currently uses integer division, dropping the final partial page. Fix it (0 items is 0 pages).Open scored results ↓
countlib.words.word_count(text) should count word frequencies case-insensitively, returning a dict of lowercase word -> count. It currently counts case-sensitively, so 'The' and 'the' are separate keys. Fix it to fold case.Open scored results ↓
numlib.clamp.clamp(x, lo, hi) should constrain x to the inclusive range [lo, hi]. It currently applies only the upper bound, so values below lo pass through unchanged. Fix it to apply both.Open scored results ↓
lru.cache.LRUCache(capacity) is a fixed-size LRU cache with get(key) (returns the value or -1) and put(key, value). Reading a key with get() should mark it as most-recently-used so it is NOT the next one evicted, but currently only put() refreshes recency — so a key you just read can be evicted before a stale one. Fix get() so reads count as use.Open scored results ↓
intervals.merge.merge(intervals) takes a list of [start, end] pairs and returns the minimal list of merged, non-overlapping intervals. It currently assumes the input is already sorted and only merges when one interval starts strictly before the previous one ends — so it fails on unsorted input and on touching intervals like [1,4],[4,5] (which should merge to [1,5]). Fix it.Open scored results ↓
deps.graph.resolve(graph) takes a dict {node: [dependencies]} and returns a list giving a valid install order (every dependency before the nodes that need it). It currently emits a node once per path to it (so diamond dependencies appear multiple times) and recurses forever on a cycle. Fix it so each node appears exactly once and a cyclic graph raises ValueError.Open scored results ↓billing.split.split_bill(total_cents, n) splits a bill into n integer-cent shares that must sum EXACTLY to total_cents, with the shares as equal as possible (any leftover cents distributed one each to the earliest shares). It currently returns n copies of total_cents // n, so the remainder cents are lost and the shares do not sum to the total. Fix it.Open scored results ↓
csvlite.parse.parse_line(line) parses ONE line of CSV into a list of field strings. It currently does line.split(','), which breaks any quoted field that contains a comma (e.g. 'a,"b,c",d' must parse to ['a', 'b,c', 'd']), and it does not handle doubled quotes ("" -> a literal ") inside a quoted field. Fix it to parse quoted fields correctly.Open scored results ↓Inspect the evidence