Troubleshoot deep review

Before you start

deep_review runs a multi-pass review by coordinating three subagents — security-reviewer, quality-reviewer, and test-gap-reviewer — then synthesizes their findings into a single consolidated report. Most failures trace to one of three causes: a bad path argument, a subagent that didn't complete, or a synthesis step that produced an incomplete report.

Symptom table

If you observe Check
deep_review raises an exception immediately Whether path resolves to a real directory or file on disk
Report is missing a section (Security, Quality, or Test Gaps) Which subagent produced that section — one of security-reviewer, quality-reviewer, or test-gap-reviewer may have failed silently
Overall code health score is absent from the Summary Whether DeepReviewAgentSDKWorkflow.execute() returned a complete WorkflowResult or an early partial result
Review completes but findings appear empty or generic Whether path pointed at the intended target — a wrong path yields a valid but content-free report
Execution is much slower than expected Whether path targets a very large directory; the three subagents run across the full tree

Diagnosis steps

  1. Confirm the path argument is valid. Run ls <path> (or dir <path> on Windows) before invoking deep_review. An inaccessible or misspelled path is the most common cause of immediate failure and costs nothing to check.

  2. Reproduce with the minimal call. Strip the invocation down to its required argument:

    from workflows.deep_review import DeepReviewAgentSDKWorkflow
    result = DeepReviewAgentSDKWorkflow().execute(path="<your-path>")
    print(result)
    

    Confirm the failure occurs outside any surrounding orchestration before investigating further.

  3. Check which subagents completed. The three subagents are security-reviewer, quality-reviewer, and test-gap-reviewer. If the consolidated report is missing one of the corresponding sections (Security, Quality, or Test Gaps), the matching subagent is the likely failure point. Review any exception or truncated output associated with that agent.

  4. Run the related tests.

    pytest -k "deep_review" -v
    

    A failing test that exercises your code path will surface the exact input and fixture state that triggers the bug.

  5. Inspect the WorkflowResult directly. If the call returns without raising but the report looks wrong, print the raw WorkflowResult returned by execute(). A partial or malformed result indicates the synthesis step — which runs after all three subagents finish — did not receive complete input.

Common fixes

Source files

Tags: review, security, quality, tests, comprehensive-review