Sorry - can't delete this subject

Hi ! I’m trying to build a crew but i’m stuck with an error and have no idea how to solve it.
Does anyone have a clue ?
Thanks !

(.venv) (base) victorgalli@MBP-de-Victor superscoping % crewai run
Running the Crew
Traceback (most recent call last):
  File "/Users/victorgalli/superscoping/.venv/bin/run_crew", line 10, in <module>
    sys.exit(run())
             ^^^^^
  File "/Users/victorgalli/superscoping/src/superscoping/main.py", line 5, in run
    crew = SuperscopingCrew()
           ^^^^^^^^^^^^^^^^^^
  File "/Users/victorgalli/superscoping/.venv/lib/python3.11/site-packages/crewai/project/crew_base.py", line 36, in __init__
    self.map_all_task_variables()
  File "/Users/victorgalli/superscoping/.venv/lib/python3.11/site-packages/crewai/project/crew_base.py", line 203, in map_all_task_variables
    self._map_task_variables(
  File "/Users/victorgalli/superscoping/.venv/lib/python3.11/site-packages/crewai/project/crew_base.py", line 225, in _map_task_variables
    if context_list := task_info.get("context"):
                       ^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'
An error occurred while running the crew: Command '['uv', 'run', 'run_crew']' returned non-zero exit status 1.

Here is my crew.py :

from crewai import Agent, Crew, Process, Task
from crewai.project import CrewBase, agent, crew, task, before_kickoff, after_kickoff 

@CrewBase
class SuperscopingCrew:
    """Superscoping Crew"""
    # Paths to your YAML configuration files
    # To see an example agent and task defined in YAML, checkout the following:
    # - Task: https://docs.crewai.com/concepts/tasks#yaml-configuration-recommended
    # - Agents: https://docs.crewai.com/concepts/agents#yaml-configuration-recommended
    agents_config = 'config/agents.yaml'
    tasks_config = 'config/tasks.yaml'
    
    @before_kickoff
    def prepare_inputs(self, inputs):
        inputs['additional_data'] = "Some extra information"
        return inputs

    @after_kickoff
    def process_output(self, output):
        output.raw += "\nProcessed after kickoff."
        return output

    @agent
    def agent_metier(self) -> Agent:
        return Agent(
            config=self.agents_config['agent_metier'],
            verbose=True,
            allow_delegation=True
        )

    @agent
    def ai_problem_solver(self) -> Agent:
        return Agent(
            config=self.agents_config['ai_problem_solver'],
            verbose=True,
            allow_delegation=True
        )

    @agent
    def tech_lead(self) -> Agent:
        return Agent(
            config=self.agents_config['tech_lead'],
            verbose=True,
            allow_delegation=True
        )

    @agent
    def ai_tech_validator(self) -> Agent:
        return Agent(
            config=self.agents_config['ai_tech_validator'],
            verbose=True,
            allow_delegation=True
        )

    @agent
    def ai_software_engineer(self) -> Agent:
        return Agent(
            config=self.agents_config['ai_software_engineer'],
            verbose=True,
            allow_delegation=True
        )

    @agent
    def ai_tech_project_supervisor(self) -> Agent:
        return Agent(
            config=self.agents_config['ai_tech_project_supervisor'],
            verbose=True
        )

    @task
    def qualification_analysis(self) -> Task:
        return Task(
            config=self.tasks_config['qualification_analysis']
        )

    @task
    def job_to_be_done_formalization(self) -> Task:
        return Task(
            config=self.tasks_config['job_to_be_done_formalization']
        )

    @task
    def success_metrics_definition(self) -> Task:
        return Task(
            config=self.tasks_config['success_metrics_definition']
        )

    @task
    def roi_estimation(self) -> Task:
        return Task(
            config=self.tasks_config['roi_estimation']
        )

    @task
    def algorithmic_translation(self) -> Task:
        return Task(
            config=self.tasks_config['algorithmic_translation']
        )

    @task
    def algorithmic_pipeline_definition(self) -> Task:
        return Task(
            config=self.tasks_config['algorithmic_pipeline_definition']
        )

    @task
    def data_identification(self) -> Task:
        return Task(
            config=self.tasks_config['data_identification']
        )

    @task
    def technical_components_proposal(self) -> Task:
        return Task(
            config=self.tasks_config['technical_components_proposal']
        )

    @task
    def technical_feasibility_validation(self) -> Task:
        return Task(
            config=self.tasks_config['technical_feasibility_validation']
        )

    @task
    def security_and_compliance_check(self) -> Task:
        return Task(
            config=self.tasks_config['security_and_compliance_check']
        )

    @task
    def feature_breakdown(self) -> Task:
        return Task(
            config=self.tasks_config['feature_breakdown']
        )

    @task
    def time_estimation(self) -> Task:
        return Task(
            config=self.tasks_config['time_estimation']
        )

    @task
    def global_consistency_check(self) -> Task:
        return Task(
            config=self.tasks_config['global_consistency_check']
        )

    @task
    def final_summary(self) -> Task:
        return Task(
            config=self.tasks_config['final_summary'],
            output_file="output/project_summary.md"
        )

    @crew
    def crew(self) -> Crew:
        return Crew(
            agents=self.agents, # Automatically collected by the @agent decorator
            tasks=self.tasks, # Automatically collected by the @tasks decorator
            process=Process.sequential,
            verbose=True,
        )