GEMMA DEVELOPER AGENTSAVED EVIDENCE
← Dataset Exploration
ARCHIVED TRAINING / omni-us/jsonargparse

omni-us__jsonargparse-839

This is a preserved training example. Membership in the current training wave has not been verified.
omni-us/jsonargparse · Task 110 of 169

Problem statement

Error with Union of nested dataclasses: Does not validate against any of the Union subtypes ... Not a valid subclass of
## 🐛 Bug report

I am trying to move from simple-parsing to jsonargparse and I have this error for a config with dataclasses that have Union of other nested dataclasses as a type: 

```
Does not validate against any of the Union subtypes 
Not a valid subclass of
```

### To reproduce

2. Manually constructing a parser

```python
import sys
from dataclasses import dataclass, field
from datetime import UTC, date, datetime
from enum import StrEnum, auto

from jsonargparse import ArgumentParser
from jsonargparse.typing import register_type


def date_serializer(value: date) -> str:
    return value.isoformat()


def date_deserializer(value: str) -> date:
    return datetime.strptime(value, "%Y-%m-%d").astimezone(UTC).date()


register_type(date, date_serializer, date_deserializer)


class Environment(StrEnum):
    dev = auto()
    tst = auto()
    val = auto()
    prd = ""
    dc_prd = "prd"


class Layer(StrEnum):
    landing = auto()
    bronze = auto()
    silver = auto()
    gold = auto()
    any = ""


class FileFormat(StrEnum):
    parquet = auto()
    delta = auto()
    csv = auto()
    json = auto()


@dataclass
class TablePath:
    catalog: str
    schema: str
    table: str

@dataclass
class File:
    name: str
    format: FileFormat
@dataclass
class FilePath:
    location: str
    folder: str
    file: File


@dataclass
class TableArgs:
    path: TablePath | FilePath
    env: Environment
    layer: Layer = Layer.any
    columns: list[str] = field(default_factory=list)
    pk_cols: list[str] = field(default_factory=list)


@dataclass
class ConfigArgs:
    main_catalog: str
    dates_dimension_start_date: date = field(
        default_factory=lambda: datetime(2010, 1, 1, tzinfo=UTC).date(),
    )


@dataclass
class MainArgs:
    config: ConfigArgs
    source: TableArgs
    target: TableArgs


def parse_args(cli_args: list[str]) -> MainArgs:
    parser = ArgumentParser()
    parser.add_class_arguments(
        MainArgs,
        as_group=False,
        as_positional=False,
    )
    print(cli_args)
    result = parser.parse_args(cli_args)
    print(parser.dump(result))

    ns = parser.instantiate_classes(result)
    return MainArgs(**ns.as_dict())


class TestJsonargparse:

    def test_table_source(self) -> None:
        """Parse table source (format not set)."""
        cli_args = [
            "--config.main_catalog",
            "spark_catalog",
            "--config.dates_dimension_start_date",
            "2010-01-01",
            "--source.path.catalog",
            "source_cat",
            "--source.path.schema",
            "source_sch",
            "--source.path.table",
            "source_tbl",
            "--source.env",
            "dev",
            "--target.path.catalog",
            "target_cat",
            "--target.path.schema",
            "target_sch",
            "--target.path.table",
            "target_tbl",
            "--target.env",
            "dev",
            "--target.columns",
            "['col1', 'col2']",
        ]

        result = parse_args(cli_args)

        assert result.source.path.catalog == "source_cat"
        assert result.source.path.schema == "source_sch"
        assert result.target.columns == ["col1", "col2"]

    def test_file_source(self) -> None:
        """Parse file source (format is set)."""
        cli_args = [
            "--config.main_catalog",
            "spark_catalog",
            "--source.path.location",
            "/data/file.csv",
            "--source.path.folder",
            "/data/file.csv",
            "--source.path.file.name",
            "file.csv",
            "--source.path.file.format",
            "csv",
            "--source.env",
            "dev",
            "--source.layer",
            "any",
            "--target.path.catalog",
            "target_cat",
            "--target.path.schema",
            "target_sch",
            "--target.path.table",
            "target_tbl",
            "--target.env",
            "dev",
        ]

        result = parse_args(cli_args)

        assert result.source.path.location == "/data/file.csv"
        assert result.source.path.folder == "/data/file.csv"
        assert result.source.layer == Layer.any


if __name__ == "__main__":
    parse_args(sys.argv)

```
Running help with FilePath gives me this:
```
python test_json_parse.py --source.path.help FilePath 
['test_json_parse.py', '--source.path.help', 'FilePath']
usage: test_json_parse.py --source.path.location LOCATION --source.path.folder FOLDER --source.path.file.name NAME --source.path.file.format {parquet,delta,csv,json}

Help for --source.path.help=__main__.FilePath

FilePath(location: str, folder: str, file: __main__.File):
  --source.path.location LOCATION
                        (required, type: str)
  --source.path.folder FOLDER
                        (required, type: str)

File(name: str, format: __main__.FileFormat):
  --source.path.file.name NAME
                        (required, type: str)
  --source.path.file.format {parquet,delta,csv,json}
                        (required, type: FileFormat)
```

### Expected behavior

The first test that uses TablePath passes. But the second test that uses FilePath fails with this error:

```
ex         = TypeError('Parser key "source.path":\n  Does not validate against any of the Union subtypes\n  Subtypes: [<class \'components.qm.task_args.test_json_parse.TablePath\'>, <class \'components.qm.task_args.test_json_parse.FilePath\'>]\n  Errors:\n    - Not a valid subclass of TablePath\n      Subclass types expect one of:\n      - a class path (str)\n      - a dict with class_path entry\n      - a dict without class_path but with init_args entry (class path given previously)\n      - a dict with parameters accepted by the base class (implicit class_path)\n    - Not a valid subclass of FilePath\n      Subclass types expect one of:\n      - a class path (str)\n      - a dict with class_path entry\n      - a dict without class_path but with init_args entry (class path given previously)\n      - a dict with parameters accepted by the base class (implicit class_path)\n  Given value type: <class \'jsonargparse._namespace.Namespace\'>\n  Given value: Namespace(location=\'/data/file.csv\', folder=\'/data/file.csv\', file=Namespace(name=None, format=None), init_args=Namespace(location=\'/data/file.csv\', folder=\'/data/file.csv\', file=Namespace(name=\'file.csv\', format=<FileFormat.csv: \'csv\'>)), class_path=\'components.qm.task_args.test_json_parse.FilePath\')')
help_action = _HelpAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None)
message    = ('Parser key "source.path":\n'
 '  Does not validate against any of the Union subtypes\n'
 "  Subtypes: [<class 'components.qm.task_args.test_json_parse.TablePath'>, "
 "<class 'components.qm.task_args.test_json_parse.FilePath'>]\n"
 '  Errors:\n'
 '    - Not a valid subclass of TablePath\n'
 '      Subclass types expect one of:\n'
 '      - a class path (str)\n'
 '      - a dict with class_path entry\n'
 '      - a dict without class_path but with init_args entry (class path given '
 'previously)\n'
 '      - a dict with parameters accepted by the base class (implicit '
 'class_path)\n'
 '    - Not a valid subclass of FilePath\n'
 '      Subclass types expect one of:\n'
 '      - a class path (str)\n'
 '      - a dict with class_path entry\n'
 '      - a dict without class_path but with init_args entry (class path given '
 'previously)\n'
 '      - a dict with parameters accepted by the base class (implicit '
 'class_path)\n'
 "  Given value type: <class 'jsonargparse._namespace.Namespace'>\n"
 "  Given value: Namespace(location='/data/file.csv', folder='/data/file.csv', "
 'file=Namespace(name=None, format=None), '
 "init_args=Namespace(location='/data/file.csv', folder='/data/file.csv', "
 "file=Namespace(name='file.csv', format=<FileFormat.csv: 'csv'>)), "
 "class_path='components.qm.task_args.test_json_parse.FilePath')")
parser     = ArgumentParser(prog='run_pytest_script.py', usage=None, description=None, formatter_class=<class 'jsonargparse._formatters.DefaultHelpFormatter'>, conflict_handler='error', add_help=True)
prog       = 'run_pytest_script.py'
self       = ArgumentParser(prog='run_pytest_script.py', usage=None, description=None, formatter_class=<class 'jsonargparse._formatters.DefaultHelpFormatter'>, conflict_handler='error', add_help=True)

../.venv/lib/python3.12/site-packages/jsonargparse/_core.py:1069: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = ArgumentParser(prog='run_pytest_script.py', usage=None, description=None, formatter_class=<class 'jsonargparse._formatters.DefaultHelpFormatter'>, conflict_handler='error', add_help=True)
status = 2, message = None

    def exit(self, status=0, message=None):
        if message:
            self._print_message(message, _sys.stderr)
>       _sys.exit(status)
E       SystemExit: 2

message    = None
self       = ArgumentParser(prog='run_pytest_script.py', usage=None, description=None, formatter_class=<class 'jsonargparse._formatters.DefaultHelpFormatter'>, conflict_handler='error', add_help=True)
status     = 2

../../../.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/argparse.py:2637: SystemExit
----------------------------- Captured stdout call -----------------------------
['--config.main_catalog', 'spark_catalog', '--source.path.location', '/data/file.csv', '--source.path.folder', '/data/file.csv', '--source.path.file.name', 'file.csv', '--source.path.file.format', 'csv', '--source.env', 'dev', '--source.layer', 'any', '--target.path.catalog', 'target_cat', '--target.path.schema', 'target_sch', '--target.path.table', 'target_tbl', '--target.env', 'dev']
----------------------------- Captured stderr call -----------------------------
usage: run_pytest_script.py [--config CONFIG]
                            --config.main_catalog MAIN_CATALOG
                            [--config.dates_dimension_start_date DATES_DIMENSION_START_DATE]
                            [--source CONFIG] --source.path PATH
                            --source.env {dev,tst,val,prd,dc_prd}
                            [--source.layer {landing,bronze,silver,gold,any}]
                            [--source.columns [ITEM,...]]
                            [--source.pk_cols [ITEM,...]] [--target CONFIG]
                            --target.path PATH
                            --target.env {dev,tst,val,prd,dc_prd}
                            [--target.layer {landing,bronze,silver,gold,any}]
                            [--target.columns [ITEM,...]]
                            [--target.pk_cols [ITEM,...]]
tip: For details of accepted options run: run_pytest_script.py --help
error: Parser key "source.path":
  Does not validate against any of the Union subtypes
  Subtypes: [<class 'components.qm.task_args.test_json_parse.TablePath'>, <class 'components.qm.task_args.test_json_parse.FilePath'>]
  Errors:
    - Not a valid subclass of TablePath
      Subclass types expect one of:
      - a class path (str)
      - a dict with class_path entry
      - a dict without class_path but with init_args entry (class path given previously)
      - a dict with parameters accepted by the base class (implicit class_path)
    - Not a valid subclass of FilePath
      Subclass types expect one of:
      - a class path (str)
      - a dict with class_path entry
      - a dict without class_path but with init_args entry (class path given previously)
      - a dict with parameters accepted by the base class (implicit class_path)
  Given value type: <class 'jsonargparse._namespace.Namespace'>
  Given value: Namespace(location='/data/file.csv', folder='/data/file.csv', file=Namespace(name=None, format=None), init_args=Namespace(location='/data/file.csv', folder='/data/file.csv', file=Namespace(name='file.csv', format=<FileFormat.csv: 'csv'>)), class_path='components.qm.task_args.test_json_parse.FilePath')
```

### Environment

- jsonargparse version: 4.45.0
- Python version: 3.12
- How jsonargparse was installed: through uv
- OS: Ubuntu 24.04

Training membership

opd_e4b_hybrid_v3 opd_e4b_onpolicy_v3 opd_e4b_pure_v6b opd_e4b_pure_v7 opd_e4b_pure_v7b rft_e4b_aligned_v2 rft_v1 rft_v2

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_hybrid_v3",
    "opd_e4b_onpolicy_v3",
    "opd_e4b_pure_v6b",
    "opd_e4b_pure_v7",
    "opd_e4b_pure_v7b",
    "rft_e4b_aligned_v2",
    "rft_v1",
    "rft_v2"
  ],
  "examples": 21,
  "instance_id": "omni-us__jsonargparse-839",
  "problem_statement": "Error with Union of nested dataclasses: Does not validate against any of the Union subtypes ... Not a valid subclass of\n## 🐛 Bug report\n\nI am trying to move from simple-parsing to jsonargparse and I have this error for a config with dataclasses that have Union of other nested dataclasses as a type: \n\n```\nDoes not validate against any of the Union subtypes \nNot a valid subclass of\n```\n\n### To reproduce\n\n2. Manually constructing a parser\n\n```python\nimport sys\nfrom dataclasses import dataclass, field\nfrom datetime import UTC, date, datetime\nfrom enum import StrEnum, auto\n\nfrom jsonargparse import ArgumentParser\nfrom jsonargparse.typing import register_type\n\n\ndef date_serializer(value: date) -> str:\n    return value.isoformat()\n\n\ndef date_deserializer(value: str) -> date:\n    return datetime.strptime(value, \"%Y-%m-%d\").astimezone(UTC).date()\n\n\nregister_type(date, date_serializer, date_deserializer)\n\n\nclass Environment(StrEnum):\n    dev = auto()\n    tst = auto()\n    val = auto()\n    prd = \"\"\n    dc_prd = \"prd\"\n\n\nclass Layer(StrEnum):\n    landing = auto()\n    bronze = auto()\n    silver = auto()\n    gold = auto()\n    any = \"\"\n\n\nclass FileFormat(StrEnum):\n    parquet = auto()\n    delta = auto()\n    csv = auto()\n    json = auto()\n\n\n@dataclass\nclass TablePath:\n    catalog: str\n    schema: str\n    table: str\n\n@dataclass\nclass File:\n    name: str\n    format: FileFormat\n@dataclass\nclass FilePath:\n    location: str\n    folder: str\n    file: File\n\n\n@dataclass\nclass TableArgs:\n    path: TablePath | FilePath\n    env: Environment\n    layer: Layer = Layer.any\n    columns: list[str] = field(default_factory=list)\n    pk_cols: list[str] = field(default_factory=list)\n\n\n@dataclass\nclass ConfigArgs:\n    main_catalog: str\n    dates_dimension_start_date: date = field(\n        default_factory=lambda: datetime(2010, 1, 1, tzinfo=UTC).date(),\n    )\n\n\n@dataclass\nclass MainArgs:\n    config: ConfigArgs\n    source: TableArgs\n    target: TableArgs\n\n\ndef parse_args(cli_args: list[str]) -> MainArgs:\n    parser = ArgumentParser()\n    parser.add_class_arguments(\n        MainArgs,\n        as_group=False,\n        as_positional=False,\n    )\n    print(cli_args)\n    result = parser.parse_args(cli_args)\n    print(parser.dump(result))\n\n    ns = parser.instantiate_classes(result)\n    return MainArgs(**ns.as_dict())\n\n\nclass TestJsonargparse:\n\n    def test_table_source(self) -> None:\n        \"\"\"Parse table source (format not set).\"\"\"\n        cli_args = [\n            \"--config.main_catalog\",\n            \"spark_catalog\",\n            \"--config.dates_dimension_start_date\",\n            \"2010-01-01\",\n            \"--source.path.catalog\",\n            \"source_cat\",\n            \"--source.path.schema\",\n            \"source_sch\",\n            \"--source.path.table\",\n            \"source_tbl\",\n            \"--source.env\",\n            \"dev\",\n            \"--target.path.catalog\",\n            \"target_cat\",\n            \"--target.path.schema\",\n            \"target_sch\",\n            \"--target.path.table\",\n            \"target_tbl\",\n            \"--target.env\",\n            \"dev\",\n            \"--target.columns\",\n            \"['col1', 'col2']\",\n        ]\n\n        result = parse_args(cli_args)\n\n        assert result.source.path.catalog == \"source_cat\"\n        assert result.source.path.schema == \"source_sch\"\n        assert result.target.columns == [\"col1\", \"col2\"]\n\n    def test_file_source(self) -> None:\n        \"\"\"Parse file source (format is set).\"\"\"\n        cli_args = [\n            \"--config.main_catalog\",\n            \"spark_catalog\",\n            \"--source.path.location\",\n            \"/data/file.csv\",\n            \"--source.path.folder\",\n            \"/data/file.csv\",\n            \"--source.path.file.name\",\n            \"file.csv\",\n            \"--source.path.file.format\",\n            \"csv\",\n            \"--source.env\",\n            \"dev\",\n            \"--source.layer\",\n            \"any\",\n            \"--target.path.catalog\",\n            \"target_cat\",\n            \"--target.path.schema\",\n            \"target_sch\",\n            \"--target.path.table\",\n            \"target_tbl\",\n            \"--target.env\",\n            \"dev\",\n        ]\n\n        result = parse_args(cli_args)\n\n        assert result.source.path.location == \"/data/file.csv\"\n        assert result.source.path.folder == \"/data/file.csv\"\n        assert result.source.layer == Layer.any\n\n\nif __name__ == \"__main__\":\n    parse_args(sys.argv)\n\n```\nRunning help with FilePath gives me this:\n```\npython test_json_parse.py --source.path.help FilePath \n['test_json_parse.py', '--source.path.help', 'FilePath']\nusage: test_json_parse.py --source.path.location LOCATION --source.path.folder FOLDER --source.path.file.name NAME --source.path.file.format {parquet,delta,csv,json}\n\nHelp for --source.path.help=__main__.FilePath\n\nFilePath(location: str, folder: str, file: __main__.File):\n  --source.path.location LOCATION\n                        (required, type: str)\n  --source.path.folder FOLDER\n                        (required, type: str)\n\nFile(name: str, format: __main__.FileFormat):\n  --source.path.file.name NAME\n                        (required, type: str)\n  --source.path.file.format {parquet,delta,csv,json}\n                        (required, type: FileFormat)\n```\n\n### Expected behavior\n\nThe first test that uses TablePath passes. But the second test that uses FilePath fails with this error:\n\n```\nex         = TypeError('Parser key \"source.path\":\\n  Does not validate against any of the Union subtypes\\n  Subtypes: [<class \\'components.qm.task_args.test_json_parse.TablePath\\'>, <class \\'components.qm.task_args.test_json_parse.FilePath\\'>]\\n  Errors:\\n    - Not a valid subclass of TablePath\\n      Subclass types expect one of:\\n      - a class path (str)\\n      - a dict with class_path entry\\n      - a dict without class_path but with init_args entry (class path given previously)\\n      - a dict with parameters accepted by the base class (implicit class_path)\\n    - Not a valid subclass of FilePath\\n      Subclass types expect one of:\\n      - a class path (str)\\n      - a dict with class_path entry\\n      - a dict without class_path but with init_args entry (class path given previously)\\n      - a dict with parameters accepted by the base class (implicit class_path)\\n  Given value type: <class \\'jsonargparse._namespace.Namespace\\'>\\n  Given value: Namespace(location=\\'/data/file.csv\\', folder=\\'/data/file.csv\\', file=Namespace(name=None, format=None), init_args=Namespace(location=\\'/data/file.csv\\', folder=\\'/data/file.csv\\', file=Namespace(name=\\'file.csv\\', format=<FileFormat.csv: \\'csv\\'>)), class_path=\\'components.qm.task_args.test_json_parse.FilePath\\')')\nhelp_action = _HelpAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, required=False, help='show this help message and exit', metavar=None)\nmessage    = ('Parser key \"source.path\":\\n'\n '  Does not validate against any of the Union subtypes\\n'\n \"  Subtypes: [<class 'components.qm.task_args.test_json_parse.TablePath'>, \"\n \"<class 'components.qm.task_args.test_json_parse.FilePath'>]\\n\"\n '  Errors:\\n'\n '    - Not a valid subclass of TablePath\\n'\n '      Subclass types expect one of:\\n'\n '      - a class path (str)\\n'\n '      - a dict with class_path entry\\n'\n '      - a dict without class_path but with init_args entry (class path given '\n 'previously)\\n'\n '      - a dict with parameters accepted by the base class (implicit '\n 'class_path)\\n'\n '    - Not a valid subclass of FilePath\\n'\n '      Subclass types expect one of:\\n'\n '      - a class path (str)\\n'\n '      - a dict with class_path entry\\n'\n '      - a dict without class_path but with init_args entry (class path given '\n 'previously)\\n'\n '      - a dict with parameters accepted by the base class (implicit '\n 'class_path)\\n'\n \"  Given value type: <class 'jsonargparse._namespace.Namespace'>\\n\"\n \"  Given value: Namespace(location='/data/file.csv', folder='/data/file.csv', \"\n 'file=Namespace(name=None, format=None), '\n \"init_args=Namespace(location='/data/file.csv', folder='/data/file.csv', \"\n \"file=Namespace(name='file.csv', format=<FileFormat.csv: 'csv'>)), \"\n \"class_path='components.qm.task_args.test_json_parse.FilePath')\")\nparser     = ArgumentParser(prog='run_pytest_script.py', usage=None, description=None, formatter_class=<class 'jsonargparse._formatters.DefaultHelpFormatter'>, conflict_handler='error', add_help=True)\nprog       = 'run_pytest_script.py'\nself       = ArgumentParser(prog='run_pytest_script.py', usage=None, description=None, formatter_class=<class 'jsonargparse._formatters.DefaultHelpFormatter'>, conflict_handler='error', add_help=True)\n\n../.venv/lib/python3.12/site-packages/jsonargparse/_core.py:1069: \n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \n\nself = ArgumentParser(prog='run_pytest_script.py', usage=None, description=None, formatter_class=<class 'jsonargparse._formatters.DefaultHelpFormatter'>, conflict_handler='error', add_help=True)\nstatus = 2, message = None\n\n    def exit(self, status=0, message=None):\n        if message:\n            self._print_message(message, _sys.stderr)\n>       _sys.exit(status)\nE       SystemExit: 2\n\nmessage    = None\nself       = ArgumentParser(prog='run_pytest_script.py', usage=None, description=None, formatter_class=<class 'jsonargparse._formatters.DefaultHelpFormatter'>, conflict_handler='error', add_help=True)\nstatus     = 2\n\n../../../.local/share/uv/python/cpython-3.12.12-linux-x86_64-gnu/lib/python3.12/argparse.py:2637: SystemExit\n----------------------------- Captured stdout call -----------------------------\n['--config.main_catalog', 'spark_catalog', '--source.path.location', '/data/file.csv', '--source.path.folder', '/data/file.csv', '--source.path.file.name', 'file.csv', '--source.path.file.format', 'csv', '--source.env', 'dev', '--source.layer', 'any', '--target.path.catalog', 'target_cat', '--target.path.schema', 'target_sch', '--target.path.table', 'target_tbl', '--target.env', 'dev']\n----------------------------- Captured stderr call -----------------------------\nusage: run_pytest_script.py [--config CONFIG]\n                            --config.main_catalog MAIN_CATALOG\n                            [--config.dates_dimension_start_date DATES_DIMENSION_START_DATE]\n                            [--source CONFIG] --source.path PATH\n                            --source.env {dev,tst,val,prd,dc_prd}\n                            [--source.layer {landing,bronze,silver,gold,any}]\n                            [--source.columns [ITEM,...]]\n                            [--source.pk_cols [ITEM,...]] [--target CONFIG]\n                            --target.path PATH\n                            --target.env {dev,tst,val,prd,dc_prd}\n                            [--target.layer {landing,bronze,silver,gold,any}]\n                            [--target.columns [ITEM,...]]\n                            [--target.pk_cols [ITEM,...]]\ntip: For details of accepted options run: run_pytest_script.py --help\nerror: Parser key \"source.path\":\n  Does not validate against any of the Union subtypes\n  Subtypes: [<class 'components.qm.task_args.test_json_parse.TablePath'>, <class 'components.qm.task_args.test_json_parse.FilePath'>]\n  Errors:\n    - Not a valid subclass of TablePath\n      Subclass types expect one of:\n      - a class path (str)\n      - a dict with class_path entry\n      - a dict without class_path but with init_args entry (class path given previously)\n      - a dict with parameters accepted by the base class (implicit class_path)\n    - Not a valid subclass of FilePath\n      Subclass types expect one of:\n      - a class path (str)\n      - a dict with class_path entry\n      - a dict without class_path but with init_args entry (class path given previously)\n      - a dict with parameters accepted by the base class (implicit class_path)\n  Given value type: <class 'jsonargparse._namespace.Namespace'>\n  Given value: Namespace(location='/data/file.csv', folder='/data/file.csv', file=Namespace(name=None, format=None), init_args=Namespace(location='/data/file.csv', folder='/data/file.csv', file=Namespace(name='file.csv', format=<FileFormat.csv: 'csv'>)), class_path='components.qm.task_args.test_json_parse.FilePath')\n```\n\n### Environment\n\n- jsonargparse version: 4.45.0\n- Python version: 3.12\n- How jsonargparse was installed: through uv\n- OS: Ubuntu 24.04",
  "repo": "omni-us/jsonargparse",
  "source": "v2/experiments/train_data/opd_e4b_hybrid_v3/verified_rft_messages.jsonl",
  "source_sha256": "bd326303eb127e8e5e08f03daf97bb88d79d19709d59f3f93f348bc56686a8df"
}
{
  "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"
    }
  ]
}