{"record":{"id":"2b23d14f3c4fb6e5","repo":"feder-cr/Jobs_Applier_AI_Agent_AIHawk","slug":"invalid-data-for-experience-e","errorCode":null,"errorMessage":"Invalid data for Experience: {e}","messagePattern":"Invalid data for Experience: (.+?)","errorType":"exception","errorClass":"TypeError","httpStatus":null,"severity":"error","filePath":"src/resume_schemas/resume.py","lineNumber":182,"sourceCode":"                key_responsibilities = [\n                    Responsibility(description=list(resp.values())[0])\n                    for resp in exp.get('key_responsibilities', [])\n                ]\n                skills_acquired = [str(skill) for skill in exp.get('skills_acquired', [])]\n                experience = ExperienceDetails(\n                    position=exp['position'],\n                    company=exp['company'],\n                    employment_period=exp['employment_period'],\n                    location=exp['location'],\n                    industry=exp['industry'],\n                    key_responsibilities=key_responsibilities,\n                    skills_acquired=skills_acquired\n                )\n                experience_list.append(experience)\n            except KeyError as e:\n                raise KeyError(f\"Missing field in experience details: {e}\") from e\n            except TypeError as e:\n                raise TypeError(f\"Invalid data for Experience: {e}\") from e\n            except AttributeError as e:\n                raise AttributeError(f\"AttributeError in Experience: {e}\") from e\n            except Exception as e:\n                raise Exception(f\"Unexpected error in Experience processing: {e}\") from e\n        return experience_list\n\n\n@dataclass\nclass Exam:\n    name: str\n    grade: str\n\n@dataclass\nclass Responsibility:\n    description: str","sourceCodeStart":164,"sourceCodeEnd":197,"githubUrl":"https://github.com/feder-cr/Jobs_Applier_AI_Agent_AIHawk/blob/79155b52faccfbd19b834680af285eac70dd2df4/src/resume_schemas/resume.py#L164-L197","documentation":"ExperienceDetails (or a nested constructor such as building key_responsibilities/skills_acquired) raised TypeError: wrong argument count/types — e.g. a required kwarg missing, an unexpected kwarg, or a list comprehension receiving a non-iterable like None.","triggerScenarios":"exp.get('key_responsibilities') returning None and being iterated; passing a scalar where a List[str] field expects an iterable; missing required positional argument in ExperienceDetails(**kwargs).","commonSituations":"Extraction output where skills/key_responsibilities are absent (None) instead of empty lists; a single string instead of a list; schema drift after adding fields.","solutions":["Check the TypeError text for the exact argument name.","Normalize list fields: vals = exp.get('key_responsibilities') or []; wrap scalars: [vals] if isinstance(vals, str) else vals.","Add Optional/List defaults to the dataclass fields.","Validate types before constructing ExperienceDetails."],"exampleFix":"// before\nkey_responsibilities = exp['key_responsibilities']\nskills_acquired = exp['skills_acquired']\n\n# after\nkey_responsibilities = exp.get('key_responsibilities') or []\nskills_acquired = exp.get('skills_acquired') or []","handlingStrategy":"validation","validationCode":"def as_str_list(v):\n    if v is None:\n        return []\n    if isinstance(v, str):\n        return [v]\n    return list(v)\n\nkey_responsibilities = as_str_list(exp.get('key_responsibilities'))\nskills_acquired = as_str_list(exp.get('skills_acquired'))","typeGuard":"def is_str_list(x: Any) -> TypeGuard[list[str]]:\n    return isinstance(x, list) and all(isinstance(i, str) for i in x)","tryCatchPattern":"try:\n    exp_list = _process_experience_details(data)\nexcept TypeError as e:\n    logger.error(\"experience type mismatch: %s\", e)\n    raise","preventionTips":["Coerce None → [] and str → [str] for list fields","Add Optional[list] = field(default_factory=list) defaults","Verify argument names against the dataclass definition"],"tags":["typeerror","dataclass","python"],"backgroundTag":"dataclass-construction-typeerror","analyzedSha":"79155b52faccfbd19b834680af285eac70dd2df4","analyzedAt":"2026-08-28T14:10:26.659Z","schemaVersion":2},"datasetVersion":"2026-08-28T16:17:29.566Z"}