Record e1f3445c55b346999c03fff8fe23ca7c
PASSVerdict and provenance first; raw prompt/response/reasoning below, collapsed.
✓PASSanswered "{"steps": [{"step": 1, "tool": "run_tests", "args": {}, "ok": true, "kind": n..."
Prompt
The test suite currently fails:
tests/test_inventory.py::test_solve_1 FAILED
assert solve([1, 7, 7, 2, -6], 5) == [1, 7, 7, 2, -6, 21, 28, 10, 12, 5, 1, 8, 1, 7, 7, 2, -6, 21, 28, 10, 12, 5, 1, 8, 16, 6, 6, 14, 6, 6, 5, 243, 127, 239]
AssertionError: solve([1, 7, 7, 2, -6], 5) returned [1, 7, 7, 2, -6, 21, 28, 10, 12, 5, 1, 8, 1, 7, 7, 2, -6, 21, 28, 10, 12, 5, 1, 8, 16, 6, 7, 14, 6, 6, 5, 243, 127, 239]
1 failed, 0 passed
Repository files:
helpers.py
ingest.py
inventory.py
payroll.py
pricing.py
ranking.py
rewards.py
shipping.py
tests/test_inventory.py
Response
{"steps": [{"step": 1, "tool": "run_tests", "args": {}, "ok": true, "kind": null, "output": "tests/test_inventory.py::test_solve_1 FAILED\n assert solve([1, 7, 7, 2, -6], 5) == [1, 7, 7, 2, -6, 21, 28, 10, 12, 5, 1, 8, 1, 7, 7, 2, -6, 21, 28, 10, 12, 5, 1, 8, 16, 6, 6, 14, 6, 6, 5, 243, 127, 239]\n AssertionError: solve([1, 7, 7, 2, -6], 5) returned [1, 7, 7, 2, -6, 21, 28, 10, 12, 5, 1, 8, 1, 7, 7, 2, -6, 21, 28, 10, 12, 5, 1, 8, 16, 6, 7, 14, 6, 6, 5, 243, 127, 239]\n1 failed, 0 passed"}, {"step": 2, "tool": "read_file", "args": {"path": "inventory.py"}, "ok": true, "kind": null, "output": " 1 from ingest import aggregate_tags\n 2 from ranking import aggregate_reserve\n 3 \n 4 \n 5 def solve(scores, budget):\n 6 margin = 1\n 7 weight = 8\n 8 cost = budget + 9\n 9 cost = cost * 2 - 3\n 10 slots = [4, 5, 3]\n 11 queue = slots\n 12 queue += [17]\n 13 queue = queue + [29]\n 14 codes = slots[:]\n 15 codes.append(37)\n 16 scores.append(len(slots) + slots[-1])\n 17 stack = [7, 1, 9, 6, 8]\n 18 rate = 0\n 19 for elem in stack:\n 20 if elem > margin:\n 21 rate += elem\n 22 else:\n 23 rate -= 2\n 24 scores.append(rate)\n 25 cost = cost // 2\n 26 items = [8, 0, 1, 7, 9]\n 27 parts = items[1:len(items) - 1]\n 28 scores.append(len(parts) + parts[-1])\n 29 scores.append(cost)\n 30 scores.append(budget)\n 31 scores.append(margin)\n 32 scores.append(weight)\n 33 scores = scores + aggregate_tags(scores[:])\n 34 scores = scores + [aggregate_reserve(budget, 'yxxy')]\n 35 return scores"}, {"step": 3, "tool": "read_file", "args": {"path": "ingest.py"}, "ok": true, "kind": null, "output": " 1 from payroll import apply_codes\n 2 from shipping import normalize_rows\n 3 \n 4 \n 5 def aggregate_tags(marks):\n 6 bonus = 6\n 7 step = 3\n 8 limit = 5\n 9 peak = 4\n 10 peak = peak // 2\n 11 queue = [8, 6, 9]\n 12 batch = queue\n 13 batch += [12]\n 14 batch = batch + [27]\n 15 items = queue[:]\n 16 items.append(32)\n 17 marks.append(len(queue) + queue[-1])\n 18 codes = [3, 7, 8, 2, 6]\n 19 rate = 0\n 20 for entry in codes:\n 21 if entry > 6:\n 22 rate += entry\n 23 else:\n 24 rate -= 3\n 25 marks.append(rate)\n 26 peak = peak + bonus * 2\n 27 rows = [7, 4, 5, 3, 8]\n 28 values = rows[1:len(rows) - 1]\n 29 marks.append(len(values) + values[0])\n 30 marks.append(peak)\n 31 marks.append(bonus)\n 32 marks.append(step * 2)\n 33 marks.append(limit)\n 34 marks = marks + [normalize_rows(marks[:], 'yc')]\n 35 marks = marks + [apply_codes(4)]\n 36 return marks"}, {"step": 4, "tool": "read_file", "args": {"path": "ranking.py"}, "ok": true, "kind": null, "output": " 1 from rewards import build_tags\n 2 \n 3 \n 4 def aggregate_reserve(depth, word):\n 5 offset = 7\n 6 margin = 1\n 7 height = 7\n 8 height = height // 2\n 9 parts = [7, 3, 9]\n 10 bins = parts\n 11 bins += [18]\n 12 bins = bins + [22]\n 13 scores = parts[:]\n 14 scores.append(33)\n 15 depth += len(parts) + parts[-1]\n 16 queue = [8, 1, 5, 3]\n 17 amount = 0\n 18 for cur in queue:\n 19 if cur > 3:\n 20 amount += cur\n 21 else:\n 22 amount -= 2\n 23 depth += amount\n 24 height -= 7\n 25 nums = [0, 5, 7, 4, 2, 6]\n 26 slots = nums[1:len(nums) - 1]\n 27 depth += len(slots) + slots[-1]\n 28 depth += height * 2\n 29 depth += offset * 2\n 30 depth += len(word)\n 31 depth += margin\n 32 depth = depth + build_tags([-3, 5, -3])\n 33 prefix = word\n 34 value = 6\n 35 quota = 8\n 36 tally = 2\n 37 cost = 3\n 38 cost += quota\n 39 rows = [1, 4]\n 40 marks = rows\n 41 marks += [13]\n 42 marks = marks + [28]\n 43 stack = rows[:]\n 44 stack.append(37)\n 45 value += len(rows) + rows[-1]\n 46 batch = [0, 6, 9, 2, 5]\n 47 peak = 0\n 48 for x in batch:\n 49 if x > tally:\n 50 peak += x\n 51 else:\n 52 peak -= 3\n 53 value += peak\n 54 cost += 5\n 55 values = [9, 5, 1, 0, 6]\n 56 cells = values[1:len(values) - 1]\n 57 value += len(cells) + cells[-1]\n 58 value += cost\n 59 value += len(prefix)\n 60 value += quota * 2\n 61 value += tally\n 62 depth = depth + value\n 63 return depth"}, {"step": 5, "tool": "read_file", "args": {"path": "shipping.py"}, "ok": true, "kind": null, "output": " 1 from helpers import normalize_margin\n 2 \n 3 \n 4 def normalize_rows(codes, mode):\n 5 margin = 6\n 6 height = 3\n 7 factor = height + 7\n 8 factor = factor + height * 2\n 9 nums = [6, 1, 8]\n 10 stack = nums\n 11 stack += [17]\n 12 stack = stack + [29]\n 13 cells = nums[:]\n 14 cells.append(32)\n 15 margin += len(nums) + nums[-1]\n 16 bins = [3, 8, 2, 9]\n 17 step = 0\n 18 for entry in bins:\n 19 if entry > height:\n 20 step += entry\n 21 else:\n 22 step -= 1\n 23 margin += step\n 24 factor += 4\n 25 rows = [3, 2, 5, 8, 9]\n 26 slots = rows[1:len(rows) - 1]\n 27 margin += len(slots) + slots[-1]\n 28 margin += factor * 2\n 29 margin += height * 2\n 30 margin += len(codes)\n 31 margin += len(mode)\n 32 margin = margin + normalize_margin(codes[:])\n 33 return margin"}, {"step": 6, "tool": "read_file", "args": {"path": "helpers.py"}, "ok": true, "kind": null, "output": " 1 def normalize_margin(batch):\n 2 budget = 1\n 3 width = 4\n 4 delta = 8\n 5 height = delta + 8\n 6 height = height + delta * 2\n 7 cells = [1, 6, 6]\n 8 marks = cells\n 9 marks += [16]\n 10 marks = marks + [22]\n 11 stack = cells[:]\n 12 stack.append(38)\n 13 budget += len(cells) + cells[-1]\n 14 nums = [1, 7, 5, 3, 0]\n 15 peak = 0\n 16 for elem in nums:\n 17 if elem > width:\n 18 peak += elem\n 19 else:\n 20 peak -= 2\n 21 budget += peak\n 22 height = height * 2 - 9\n 23 slots = [8, 2, 6, 3, 0]\n 24 items = slots[1:len(slots) - 1]\n 25 budget += len(items) + items[-1]\n 26 budget += height\n 27 budget += len(batch)\n 28 budget += width * 2\n 29 budget += delta\n 30 return budget"}, {"step": 7, "tool": "read_file", "args": {"path": "payroll.py"}, "ok": true, "kind": null, "output": " 1 from pricing import estimate_rate\n 2 \n 3 \n 4 def apply_codes(factor):\n 5 rate = 1\n 6 reserve = 6\n 7 mode = 'red'\n 8 score = factor + 1\n 9 score = score + factor * 2\n 10 parts = [3, 9, 9]\n 11 items = parts\n 12 items += [12]\n 13 items = items + [24]\n 14 codes = parts[:]\n 15 codes.append(32)\n 16 rate += len(parts) + parts[-1]\n 17 cells = [3, 0, 5, 9, 7]\n 18 depth = 0\n 19 for e in cells:\n 20 if e > 2:\n 21 depth += e\n 22 else:\n 23 depth -= 1\n 24 rate += depth\n 25 score = score * 2 - 4\n 26 scores = [6, 3, 7, 1, 5, 2]\n 27 marks = scores[1:len(scores) - 1]\n 28 rate += len(marks) + marks[-1]\n 29 rate += score\n 30 rate += factor\n 31 rate += reserve\n 32 rate += len(mode)\n 33 rate = rate + estimate_rate(factor, 'zb')\n 34 return rate"}, {"step": 8, "tool": "read_file", "args": {"path": "pricing.py"}, "ok": true, "kind": null, "output": " 1 def estimate_rate(margin, text):\n 2 scores = [7, 2, 6, 5]\n 3 rows = [8, 1, 2]\n 4 credit = 7\n 5 credit = credit * 2 - 6\n 6 batch = [0, 2]\n 7 stack = batch\n 8 stack += [13]\n 9 stack = stack + [21]\n 10 marks = batch[:]\n 11 marks.append(38)\n 12 margin += len(batch) + batch[-1]\n 13 codes = [5, 7, 6, 2]\n 14 peak = 0\n 15 for x in codes:\n 16 if x > 6:\n 17 peak += x\n 18 else:\n 19 peak -= 1\n 20 margin += peak\n 21 credit = credit // 2\n 22 values = [4, 2, 5, 6, 1, 7]\n 23 bins = values[1:len(values) - 1]\n 24 margin += len(bins) + bins[-1]\n 25 margin += credit\n 26 margin += len(text)\n 27 margin += scores[-1]\n 28 margin += len(rows)\n 29 return margin"}, {"step": 9, "tool": "read_file", "args": {"path": "rewards.py"}, "ok": true, "kind": null, "output": " 1 from pricing import estimate_rate\n 2 \n 3 \n 4 def build_tags(codes):\n 5 margin = 6\n 6 amount = 5\n 7 mode = 'cat'\n 8 quota = amount + 9\n 9 quota -= 4\n 10 items = [1, 1]\n 11 cells = items\n 12 cells += [10]\n 13 cells = cells + [29]\n 14 batch = items[:]\n 15 batch.append(33)\n 16 margin += len(items) + items[-1]\n 17 bins = [6, 2, 1, 5]\n 18 width = 0\n 19 for x in bins:\n 20 if x > 3:\n 21 width += x\n 22 else:\n 23 width -= 1\n 24 margin += width\n 25 quota += amount\n 26 parts = [5, 3, 1, 6, 2]\n 27 queue = parts[1:len(parts) - 1]\n 28 margin += len(queue) + queue[-1]\n 29 margin += quota\n 30 margin += amount\n 31 margin += len(mode)\n 32 margin += len(codes)\n 33 margin = margin + estimate_rate(5, 'azzz')\n 34 return margin"}, {"step": 10, "tool": "read_file", "args": {"path": "ingest.py"}, "ok": true, "kind": null, "output": " 1 from payroll import apply_codes\n 2 from shipping import normalize_rows\n 3 \n 4 \n 5 def aggregate_tags(marks):\n 6 bonus = 6\n 7 step = 3\n 8 limit = 5\n 9 peak = 4\n 10 peak = peak // 2\n 11 queue = [8, 6, 9]\n 12 batch = queue\n 13 batch += [12]\n 14 batch = batch + [27]\n 15 items = queue[:]\n 16 items.append(32)\n 17 marks.append(len(queue) + queue[-1])\n 18 codes = [3, 7, 8, 2, 6]\n 19 rate = 0\n 20 for entry in codes:\n 21 if entry > 6:\n 22 rate += entry\n 23 else:\n 24 rate -= 3\n 25 marks.append(rate)\n 26 peak = peak + bonus * 2\n 27 rows = [7, 4, 5, 3, 8]\n 28 values = rows[1:len(rows) - 1]\n 29 marks.append(len(values) + values[0])\n 30 marks.append(peak)\n 31 marks.append(bonus)\n 32 marks.append(step * 2)\n 33 marks.append(limit)\n 34 marks = marks + [normalize_rows(marks[:], 'yc')]\n 35 marks = marks + [apply_codes(4)]\n 36 return marks"}, {"step": 11, "tool": "edit_file", "args": {"path": "ingest.py", "old": " marks.append(len(values) + values[0])", "new": " marks.append(len(values) + values[-1])"}, "ok": false, "kind": "edit_nomatch", "output": "`old` was not found in ingest.py; it must match the file exactly, indentation included (line numbers from read_file are not part of the file)"}, {"step": 12, "tool": "read_file", "args": {"path": "ingest.py"}, "ok": true, "kind": null, "output": " 1 from payroll import apply_codes\n 2 from shipping import normalize_rows\n 3 \n 4 \n 5 def aggregate_tags(marks):\n 6 bonus = 6\n 7 step = 3\n 8 limit = 5\n 9 peak = 4\n 10 peak = peak // 2\n 11 queue = [8, 6, 9]\n 12 batch = queue\n 13 batch += [12]\n 14 batch = batch + [27]\n 15 items = queue[:]\n 16 items.append(32)\n 17 marks.append(len(queue) + queue[-1])\n 18 codes = [3, 7, 8, 2, 6]\n 19 rate = 0\n 20 for entry in codes:\n 21 if entry > 6:\n 22 rate += entry\n 23 else:\n 24 rate -= 3\n 25 marks.append(rate)\n 26 peak = peak + bonus * 2\n 27 rows = [7, 4, 5, 3, 8]\n 28 values = rows[1:len(rows) - 1]\n 29 marks.append(len(values) + values[0])\n 30 marks.append(peak)\n 31 marks.append(bonus)\n 32 marks.append(step * 2)\n 33 marks.append(limit)\n 34 marks = marks + [normalize_rows(marks[:], 'yc')]\n 35 marks = marks + [apply_codes(4)]\n 36 return marks"}, {"step": 13, "tool": "edit_file", "args": {"path": "ingest.py", "old": " marks.append(len(values) + values[0])", "new": " marks.append(len(values) + values[-1])"}, "ok": false, "kind": "edit_nomatch", "output": "`old` was not found in ingest.py; it must match the file exactly, indentation included (line numbers from read_file are not part of the file)"}, {"step": 14, "tool": "write_file", "args": {"path": "ingest.py", "content": "from payroll import apply_codes\nfrom shipping import normalize_rows\n\n\ndef aggregate_tags(marks):\n bonus = 6\n step = 3\n limit = 5\n peak = 4\n peak = peak // 2\n queue = [8, 6, 9]\n batch = queue\n batch += [12]\n batch = batch + [27]\n items = queue[:]\n items.append(32)\n marks.append(len(queue) + queue[-1])\n codes = [3, 7, 8, 2, 6]\n rate = 0\n for entry in codes:\n if entry > 6:\n rate += entry\n else:\n rate -= 3\n marks.append(rate)\n peak = peak + bonus * 2\n rows = [7, 4, 5, 3, 8]\n values = rows[1:len(rows) - 1]\n marks.append(len(values) + values[-1])\n marks.append(peak)\n marks.append(bonus)\n marks.append(step * 2)\n marks.append(limit)\n marks = marks + [normalize_rows(marks[:], 'yc')]\n marks = marks + [apply_codes(4)]\n return marks\n"}, "ok": true, "kind": null, "output": "rewrote ingest.py"}, {"step": 15, "tool": "run_tests", "args": {}, "ok": true, "kind": null, "output": "tests/test_inventory.py::test_solve_1 PASSED\n0 failed, 1 passed"}], "diff": "--- a/ingest.py\n+++ b/ingest.py\n@@ -27,5 +27,5 @@\n rows = [7, 4, 5, 3, 8]\n values = rows[1:len(rows) - 1]\n- marks.append(len(values) + values[0])\n+ marks.append(len(values) + values[-1])\n marks.append(peak)\n marks.append(bonus)\n", "assistant": ["```tool_code\nrun_tests()\n```", "```tool_code\nread_file(path='inventory.py')\n```", "```tool_code\nread_file(path='ingest.py')\n```", "```tool_code\nread_file(path='ranking.py')\n```", "```tool_code\nread_file(path='shipping.py')\n```", "```tool_code\nread_file(path='helpers.py')\n```", "```tool_code\nread_file(path='payroll.py')\n```", "```tool_code\nread_file(path='pricing.py')\n```", "```tool_code\nread_file(path='rewards.py')\n```", "```tool_code\nread_file(path='ingest.py')\n```", "```tool_code\nedit_file(path='ingest.py', old=' marks.append(len(values) + values[0])', new=' marks.append(len(values) + values[-1])')\n```", "```tool_code\nread_file(path='ingest.py')\n```", "```tool_code\nedit_file(path='ingest.py', old=' marks.append(len(values) + values[0])', new=' marks.append(len(values) + values[-1])')\n```\nWait, I just tried that and it failed. Let me re-examine the `read_file` output for `ingest.py`.\n\nLine 29: ` marks.append(len(values) + values[0])`\nThe indentation is 6 spaces.\n\nLet me try again, making sure I have the exact indentation.\n\n```tool_code\nedit_file(path='ingest.py', old=' marks.append(len(values) + values[0])', new=' marks.append(len(values) + values[-1])')\n```\nWait, I see the issue. I might have miscounted the spaces. Let me try to use the exact string from the `read_file` output.\n\nActually, looking at the `AssertionError`:\n`solve([1, 7, 7, 2, -6], 5) returned [..., 16, 6, 7, 14, 6, 6, 5, ...]`\n`solve([1, 7, 7, 2, -6], 5) expected [..., 16, 6, 6, 14, 6, 6, 5, ...]`\n\nThe difference is a `7` that shouldn't be there.\nLet's trace `solve` in `inventory.py`:\n`scores = scores + aggregate_tags(scores[:])`\n`aggregate_tags` in `ingest.py`:\nLine 17: `marks.append(len(queue) + queue[-1])` -> `len([8, 6, 9]) + 9 = 3 + 9 = 12`\nLine 25: `marks.append(rate)` -> `codes = [3, 7, 8, 2, 6]`. `rate`: `3<=6 (-3), 7>6 (+7), 8>6 (+8), 2<=6 (-3), 6<=6 (-3)`. `rate = -3+7+8-3-3 = 6`.\nLine 29: `marks.append(len(values) + values[0])` -> `rows = [7, 4, 5, 3, 8]`, `values = [4, 5, 3]`. `len(values) + values[0] = 3 + 4 = 7`.\nLine 30: `marks.append(peak)` -> `peak = 4 // 2 + 6 * 2 = 2 + 12 = 14`.\nLine 31: `marks.append(bonus)` -> `6`\n...[956 chars clipped]...\n3 + 3 = 6`.\n\nSo the fix is indeed changing `values[0]` to `values[-1]`.\nThe `edit_file` failed. Let me try to be extremely careful with the string.\n\n```tool_code\nedit_file(path='ingest.py', old=' marks.append(len(values) + values[0])', new=' marks.append(len(values) + values[-1])')\n```\nWait, I just noticed that in the `read_file` output, there are 6 spaces before `marks.append`.\n\nLet me try to use `write_file` to be safe, or just try `edit_file` one more time.\n\nActually, I'll just use `write_file` for `ingest.py` to avoid indentation issues.\n\n```tool_code\nwrite_file(path='ingest.py', content=\"from payroll import apply_codes\\nfrom shipping import normalize_rows\\n\\n\\ndef aggregate_tags(marks):\\n bonus = 6\\n step = 3\\n limit = 5\\n peak = 4\\n peak = peak // 2\\n queue = [8, 6, 9]\\n batch = queue\\n batch += [12]\\n batch = batch + [27]\\n items = queue[:]\\n items.append(32)\\n marks.append(len(queue) + queue[-1])\\n codes = [3, 7, 8, 2, 6]\\n rate = 0\\n for entry in codes:\\n if entry > 6:\\n rate += entry\\n else:\\n rate -= 3\\n marks.append(rate)\\n peak = peak + bonus * 2\\n rows = [7, 4, 5, 3, 8]\\n values = rows[1:len(rows) - 1]\\n marks.append(len(values) + values[-1])\\n marks.append(peak)\\n marks.append(bonus)\\n marks.append(step * 2)\\n marks.append(limit)\\n marks = marks + [normalize_rows(marks[:], 'yc')]\\n marks = marks + [apply_codes(4)]\\n return marks\\n\")\n```", "```tool_code\nwrite_file(path='ingest.py', content=\"from payroll import apply_codes\\nfrom shipping import normalize_rows\\n\\n\\ndef aggregate_tags(marks):\\n bonus = 6\\n step = 3\\n limit = 5\\n peak = 4\\n peak = peak // 2\\n queue = [8, 6, 9]\\n batch = queue\\n batch += [12]\\n batch = batch + [27]\\n items = queue[:]\\n items.append(32)\\n marks.append(len(queue) + queue[-1])\\n codes = [3, 7, 8, 2, 6]\\n rate = 0\\n for entry in codes:\\n if entry > 6:\\n rate += entry\\n else:\\n rate -= 3\\n marks.append(rate)\\n peak = peak + bonus * 2\\n rows = [7, 4, 5, 3, 8]\\n values = rows[1:len(rows) - 1]\\n marks.append(len(values) + values[-1])\\n marks.append(peak)\\n marks.append(bonus)\\n marks.append(step * 2)\\n marks.append(limit)\\n marks = marks + [normalize_rows(marks[:], 'yc')]\\n marks = marks + [apply_codes(4)]\\n return marks\\n\")\n```", "```tool_code\nrun_tests()\n```", "The bug was located in `ingest.py` within the `aggregate_tags` function. Specifically, on line 29, the code was calculating a value using `values[0]` instead of `values[-1]`, which resulted in an incorrect value being appended to the `marks` list. This caused the `solve` function in `inventory.py` to return an incorrect list of scores, failing the test in `tests/test_inventory.py`. I corrected this by changing `values[0]` to `values[-1]`."]}
Reasoning
Realized dims
| dim | value |
|---|---|
| bug_distance | 1.0 |
| calls_to_first_cause_read | 3.0 |
| clone_trap | 0.0 |
| distractor_modules | 0.0 |
| edit_nomatch | 2.0 |
| edit_nonunique | 0.0 |
| files_read | 8.0 |
| files_read_on_path | 2.0 |
| hidden_inputs | 4.0 |
| inlined | 1.0 |
| lines | 294.0 |
| lookalike_twins | 0.0 |
| max_fanout | 2.0 |
| n_bugs | 1.0 |
| n_calls | 15.0 |
| n_crossing_edges | 8.0 |
| n_edges | 8.0 |
| n_edits | 1.0 |
| n_errors | 2.0 |
| n_files | 8.0 |
| n_funcs | 8.0 |
| n_modules | 8.0 |
| n_neighbors | 0.0 |
| n_reads | 10.0 |
| n_searches | 0.0 |
| n_test_runs | 2.0 |
| path_crosses_every_hop | 1.0 |
| protocol_version | 2.0 |
| ran_tests_after_last_edit | 1.0 |
| test_edit_attempts | 0.0 |
| tokens_in_total | 76271.0 |
| truncated_turns | 0.0 |
| unknown_tool | 0.0 |
| whole_file_rewrite | 1.0 |
Latent params
| param | value |
|---|---|
| bug_distance | 1.0 |
| bug_mix | 0.0 |
| clone_trap | 0.0 |
| distractor_modules | 0.0 |
| fanout | 2.0 |
| graph_tools | 0.0 |
| hidden_inputs | 4.0 |
| inline_p | 0.25 |
| lookalike_names | 0.0 |
| misleading_comments | 0.0 |
| n_bugs | 1.0 |
| n_funcs | 8.0 |
| n_modules | 8.0 |
| n_statements | 8.0 |
| opaque_names | 0.0 |
| restate_imports | 0.0 |
| restate_symbols | 0.0 |
| tool_budget | 20.0 |