Failed to convert text into a Pydantic model due to error: 2 validation errors

Hi,
I have a problem that happens several times randomly. I have this Pydantic model for my reviewer, basing my work on this tutorial:

class ReviewEvaluation(BaseModel):
    valid: bool
    feedback: Optional[List[str]]

My tasks is giving me outputs like:

```json
{
  "valid": False,
  "feedback": [
    "The test case with id=7 should have an expected output of '[0]' instead of '[]' because for input value 0, the Fibonacci sequence is just [0], not empty.",
    "Test cases do not cover limit cases like negative integers or extremely large positive numbers. Adding such tests could ensure robustness against a wider range of inputs."
  ]
}```

or:

```json
{
  "valid": False,
  "feedback": [
    "- The input type for 'Verify Positive Integer Input' should explicitly be defined as 'PositiveInteger'.",
    "- Step 1 under 'Validate Input (Verify Positive Integer Input)' is missing explicit validation against non-integer inputs.",
    "- In requirement number 3, the conditions based on last term values need to clarify that they are exclusive and collectively exhaustive. Additionally, specifying what happens if no Fibonacci sequence terms fall within those ranges could be considered for completeness."
  ]
}```

These two examples are giving the same error:

crewai.utilities.converter.ConverterError: Failed to convert text into a Pydantic model due to error: 2 validation errors for ReviewEvaluation
valid
  Field required [type=missing, input_value={'properties': {'valid': ...der range of inputs.']}}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.11/v/missing
feedback
  Field required [type=missing, input_value={'properties': {'valid': ...der range of inputs.']}}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.11/v/missing

To complete, this output example isn’t giving me any error:

```json
{
  "valid": false,
  "feedback": [
    "- The requirement ValidateInput: integer should clarify that 'positiveInteger' implies both a positive value greater than zero.",
    "- In GetFibonacciTerms, the actions to execute are not clearly defined step by step as per requirements. There is no action specified for determining if input boolean indicates display even terms or all/odd terms when last term conditions vary."
  ]
}```

To help, here is my crew configuration:

@CrewBase
class Reviews_Definition_Crew:
    agents_config = "config/agents.yaml"
    tasks_config = "config/tasks_review.yaml"

    @agent
    def Reviewer(self) -> Agent:
        return Agent(
            config=self.agents_config["Reviewer"],
        )

    @task
    def Review_Definition(self) -> Task:
        return Task(
            config=self.tasks_config["Review_Definition"],
            output_pydantic=ReviewEvaluation,
        )

    @crew
    def crew(self) -> Crew:
        return Crew(
            agents=self.agents,
            tasks=self.tasks,
            process=Process.sequential,
            verbose=True,
        )

For information I am running locally the LLM ollama/phi4-mini and maybe it’s the problem?
I have also this problem for some other tasks and I didn’t find anything about that on this forum.
Thanks a lot for your help! :grin: