Fixes#3696
When context: None is specified in YAML, yaml.safe_load() converts it to
the string 'None' instead of Python's None object. The code was attempting
to iterate over this string character by character, causing KeyError: 'N'
when trying to look up task names.
Changes:
- Added isinstance(context_list, list) check in crew_base.py before
iterating context_list to handle YAML's conversion of None to string
- Added test case test_task_with_none_context_from_yaml to verify tasks
can be configured with context: None without errors
- Added test YAML configurations in tests/config_none_context/ to
reproduce and verify the fix
The fix ensures that only actual list values are processed, allowing
None and other non-list values to pass through without causing errors.
Co-Authored-By: João <joao@crewai.com>