fix: strip markdown code fences from reflection JSON response #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
When running
review_roadmapwith self-reflection enabled, the reflection node was logging a warning:The LLM was returning valid JSON, but wrapped in markdown code fences (
json ...) because the prompt shows the expected format that way. This causedjson.loads()to fail, triggering the fallback path.Solution
json...\n) and truncated ones (where the closing ``` is missing)Testing
Added two new tests:
test_reflection_handles_json_in_code_fence- Tests complete code fence handlingtest_reflection_handles_truncated_code_fence- Tests truncated code fence handlingAll 91 tests pass with 84.32% coverage.