GEMMA DEVELOPER AGENTSAVED EVIDENCE
← Dataset Exploration
ARCHIVED TRAINING / coady/multimethod

coady__multimethod-26

This is a preserved training example. Membership in the current training wave has not been verified.
coady/multimethod · Task 57 of 169

Problem statement

TypeError when one of the type hints is type or another metaclass
Using `type` (or any other subclass of `type`, e.g. a custom metaclass) as the type hint for one of the parameters of a function of a multimethod makes the dispatch process raise a `TypeError` when calling `type.mro()` (which expects the type object as an argument).

## Example

```python
@multimethod
def f(x: type):
    print("success")
```

### Expected

```python
>>> f(int)
success
```


### Actual

```python
>>> f(int)
TypeError: unbound method type.mro() needs an argument
```

Traceback:

<details>

```
Traceback (most recent call last):
  File "C:\Users\Paolo\Code\JB-PycharmProjects\LoveLetter\venv\lib\site-packages\IPython\core\interactiveshell.py", line 3418, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-34-0374cd2152b2>", line 1, in <module>
    f(int)
  File "C:\Users\Paolo\Code\JB-PycharmProjects\LoveLetter\venv\lib\site-packages\multimethod\__init__.py", line 184, in __call__
    return self[tuple(map(self.get_type, args))](*args, **kwargs)
  File "C:\Users\Paolo\Code\JB-PycharmProjects\LoveLetter\venv\lib\site-packages\multimethod\__init__.py", line 184, in __call__
    return self[tuple(map(self.get_type, args))](*args, **kwargs)
  File "C:\Users\Paolo\Code\JB-PycharmProjects\LoveLetter\venv\lib\site-packages\multimethod\__init__.py", line 174, in __missing__
    groups = groupby(signature(types).__sub__, self.parents(types))
  File "C:\Users\Paolo\Code\JB-PycharmProjects\LoveLetter\venv\lib\site-packages\multimethod\__init__.py", line 17, in groupby
    groups[func(value)].append(value)
  File "C:\Users\Paolo\Code\JB-PycharmProjects\LoveLetter\venv\lib\site-packages\multimethod\__init__.py", line 104, in __sub__
    return tuple(mro.index(cls if cls in mro else object) for mro, cls in zip(mros, other))
  File "C:\Users\Paolo\Code\JB-PycharmProjects\LoveLetter\venv\lib\site-packages\multimethod\__init__.py", line 104, in <genexpr>
    return tuple(mro.index(cls if cls in mro else object) for mro, cls in zip(mros, other))
  File "C:\Users\Paolo\Code\JB-PycharmProjects\LoveLetter\venv\lib\site-packages\multimethod\__init__.py", line 103, in <genexpr>
    mros = (subclass.mro() for subclass in self)
TypeError: unbound method type.mro() needs an argument
```

</details>

## Cause

Methods of metaclasses like `type`, e.g. `.mro()` expect an explicit first argument which is the actual type object being used.

Training membership

opd_e4b_pure_v6b opd_e4b_pure_v7 opd_e4b_pure_v7b

Task issues extracted from preserved verified_rft_messages training examples. This is not a verified current RL wave manifest.

Task and snapshot provenance

Snapshot captured 2026-11-12T17:06:59.476467+00:00 · Autoresearch-Arena/gemma-4-developer-agent

{
  "datasets": [
    "opd_e4b_pure_v6b",
    "opd_e4b_pure_v7",
    "opd_e4b_pure_v7b"
  ],
  "examples": 13,
  "instance_id": "coady__multimethod-26",
  "problem_statement": "TypeError when one of the type hints is type or another metaclass\nUsing `type` (or any other subclass of `type`, e.g. a custom metaclass) as the type hint for one of the parameters of a function of a multimethod makes the dispatch process raise a `TypeError` when calling `type.mro()` (which expects the type object as an argument).\r\n\r\n## Example\r\n\r\n```python\r\n@multimethod\r\ndef f(x: type):\r\n    print(\"success\")\r\n```\r\n\r\n### Expected\r\n\r\n```python\r\n>>> f(int)\r\nsuccess\r\n```\r\n\r\n\r\n### Actual\r\n\r\n```python\r\n>>> f(int)\r\nTypeError: unbound method type.mro() needs an argument\r\n```\r\n\r\nTraceback:\r\n\r\n<details>\r\n\r\n```\r\nTraceback (most recent call last):\r\n  File \"C:\\Users\\Paolo\\Code\\JB-PycharmProjects\\LoveLetter\\venv\\lib\\site-packages\\IPython\\core\\interactiveshell.py\", line 3418, in run_code\r\n    exec(code_obj, self.user_global_ns, self.user_ns)\r\n  File \"<ipython-input-34-0374cd2152b2>\", line 1, in <module>\r\n    f(int)\r\n  File \"C:\\Users\\Paolo\\Code\\JB-PycharmProjects\\LoveLetter\\venv\\lib\\site-packages\\multimethod\\__init__.py\", line 184, in __call__\r\n    return self[tuple(map(self.get_type, args))](*args, **kwargs)\r\n  File \"C:\\Users\\Paolo\\Code\\JB-PycharmProjects\\LoveLetter\\venv\\lib\\site-packages\\multimethod\\__init__.py\", line 184, in __call__\r\n    return self[tuple(map(self.get_type, args))](*args, **kwargs)\r\n  File \"C:\\Users\\Paolo\\Code\\JB-PycharmProjects\\LoveLetter\\venv\\lib\\site-packages\\multimethod\\__init__.py\", line 174, in __missing__\r\n    groups = groupby(signature(types).__sub__, self.parents(types))\r\n  File \"C:\\Users\\Paolo\\Code\\JB-PycharmProjects\\LoveLetter\\venv\\lib\\site-packages\\multimethod\\__init__.py\", line 17, in groupby\r\n    groups[func(value)].append(value)\r\n  File \"C:\\Users\\Paolo\\Code\\JB-PycharmProjects\\LoveLetter\\venv\\lib\\site-packages\\multimethod\\__init__.py\", line 104, in __sub__\r\n    return tuple(mro.index(cls if cls in mro else object) for mro, cls in zip(mros, other))\r\n  File \"C:\\Users\\Paolo\\Code\\JB-PycharmProjects\\LoveLetter\\venv\\lib\\site-packages\\multimethod\\__init__.py\", line 104, in <genexpr>\r\n    return tuple(mro.index(cls if cls in mro else object) for mro, cls in zip(mros, other))\r\n  File \"C:\\Users\\Paolo\\Code\\JB-PycharmProjects\\LoveLetter\\venv\\lib\\site-packages\\multimethod\\__init__.py\", line 103, in <genexpr>\r\n    mros = (subclass.mro() for subclass in self)\r\nTypeError: unbound method type.mro() needs an argument\r\n```\r\n\r\n</details>\r\n\r\n## Cause\r\n\r\nMethods of metaclasses like `type`, e.g. `.mro()` expect an explicit first argument which is the actual type object being used.",
  "repo": "coady/multimethod",
  "source": "v2/experiments/train_data/opd_e4b_pure_v6b/verified_rft_messages.jsonl",
  "source_sha256": "0f62460a9706eea5e1605255896f191ab00cb5706c5f1f2e1c293e9a718218dc"
}
{
  "captured_at": "2026-11-12T17:06:59.476467+00:00",
  "membership": "archived training",
  "membership_evidence": "Task issues extracted from preserved verified_rft_messages training examples. This is not a verified current RL wave manifest.",
  "name": "Preserved post-training task archive",
  "source": "Autoresearch-Arena/gemma-4-developer-agent",
  "source_revision": "016496de222aaafca0d4ee4c18efc63ba616f76e",
  "sources": [
    {
      "path": "v2/experiments/train_data/opd_e4b_cispo_v5/verified_rft_messages.jsonl",
      "sha256": "a43610ad0dfb6ace95375cfae09000f41afc0338cc925af870a4ade7a9b20c4c"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_hybrid_v3/verified_rft_messages.jsonl",
      "sha256": "bd326303eb127e8e5e08f03daf97bb88d79d19709d59f3f93f348bc56686a8df"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_onpolicy_v3/verified_rft_messages.jsonl",
      "sha256": "960c680e797e823a0d3a22f4b1d5ef60a72971373d703b877340b0c9126aaf68"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v6a/verified_rft_messages.jsonl",
      "sha256": "f045b7ca5b3883a1e2eaee81e1c02a4a1b53dd7b7b36e98bacb2ba5823a15148"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v6b/verified_rft_messages.jsonl",
      "sha256": "0f62460a9706eea5e1605255896f191ab00cb5706c5f1f2e1c293e9a718218dc"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v7/verified_rft_messages.jsonl",
      "sha256": "e37f7bd675322f3f81500b73559d60d5f602ca0537bf19f5cb06332c728c7b72"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_pure_v7b/verified_rft_messages.jsonl",
      "sha256": "b864bdc8695183433eef6e31cb8d33fad44ba3aded2170c1ade4ad5b2944ce23"
    },
    {
      "path": "v2/experiments/train_data/opd_e4b_self_audit_v4/verified_rft_messages.jsonl",
      "sha256": "0026023745afb8f3dc1c176dc7f7171157b4ad5a66656b524af218e8e19ceee6"
    },
    {
      "path": "v2/experiments/train_data/rft_e4b_aligned_v2/verified_rft_messages.jsonl",
      "sha256": "92a4515fee9d152b0d4c510ee3ce4caaaffe2003ba7584469f8027f174aab18c"
    },
    {
      "path": "v2/experiments/train_data/rft_v1/verified_rft_messages.jsonl",
      "sha256": "a42453ccd7ac7680b0a03865e8e7080bc8bf74c8d9d193b440c441ed46f8512b"
    },
    {
      "path": "v2/experiments/train_data/rft_v2/verified_rft_messages.jsonl",
      "sha256": "18f4b3bd7e651f83c6acab479c9475e3fa50dc652a384f309e97146983ac85ba"
    }
  ]
}