feat(triage-bug): add persistence-impact analysis to Step 3 - #262
Conversation
Add a persistence-impact sub-step to Step 3 (Codebase Investigation) that instructs tracing buggy function output through callers to database write operations. When a persistence boundary is found, Step 5 (Generate Task) now includes guidance for adding a data migration to correct existing persisted data. Add eval scenario (id 7) with mock fixtures to test the persistence-impact analysis flow. Implements TC-5363 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Assisted-by: Claude Code
Reviewer's GuideAdds a persistence-impact analysis sub-step to triage-bug Step 3 and corresponding data-migration guidance in Step 5, plus a new eval scenario and mock fixtures to validate the new flow. Flow diagram for new persistence-impact analysis and data-migration guidanceflowchart TD
A[Step 3: Identify buggy function] --> B[Persistence-impact analysis]
B --> C[Trace callers with find_referencing_symbols or Grep]
C --> D{Persistence boundary found?}
D -- Yes --> E[Record table and column]
E --> F[Record write location file and symbol]
F --> G[Classify write as ingestion_time or per_access]
G --> H[Carry persistence impact details to Step 5]
H --> I[Step 5: Add data migration Files to Create]
I --> J[Step 5: Add migration Implementation Notes]
J --> K[Step 5: Add Acceptance Criteria for corrected records]
D -- No --> L[Output is computed at query time]
L --> M[Proceed to Step 4 and Step 5 without data migration]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- In the new persistence-impact analysis step, consider adding guidance for cases where the buggy function has multiple callers that persist its output to different tables/columns (or both ingestion-time and update-time writes) so the workflow is clear about how to prioritize or handle multiple persistence boundaries.
- In the data migration section of Step 5, it may help to specify what to do when a repo has more than one migration style (e.g., raw SQL and ORM helpers) so the implementer knows which convention to follow when creating the new migration.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- In the new persistence-impact analysis step, consider adding guidance for cases where the buggy function has multiple callers that persist its output to different tables/columns (or both ingestion-time and update-time writes) so the workflow is clear about how to prioritize or handle multiple persistence boundaries.
- In the data migration section of Step 5, it may help to specify what to do when a repo has more than one migration style (e.g., raw SQL and ORM helpers) so the implementer knows which convention to follow when creating the new migration.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Eval Results
Eval Results: triage-bug
| Eval | Passed | Failed | Pass Rate |
|---|---|---|---|
| eval-1 | 9/9 | 0 | 100% |
| eval-2 | 4/4 | 0 | 100% |
| eval-3 | 5/5 | 0 | 100% |
| eval-4 | 6/6 | 0 | 100% |
| eval-5 | 4/4 | 0 | 100% |
| eval-6 | 4/4 | 0 | 100% |
| eval-7 | 6/6 | 0 | 100% |
Pass rate: 100% · Tokens: 37,631 · Duration: 141s
Generated by sdlc-workflow/run-evals v0.13.7
|
[sdlc-workflow/verify-pr] Re: @sourcery-ai review — 2 items classified:
|
Verification Report for TC-5363 (commit 0b9c430)
Overall: WARNScope Containment is WARN due to 3 eval files not listed in the task's Files to Modify/Create. These are directly related to the feature (eval coverage for the new persistence-impact analysis) and were added at the user's request during implementation. No action required. This comment was AI-generated by sdlc-workflow/verify-pr v0.13.7. |
Summary
Implements TC-5363
Test plan
Summary by Sourcery
Add persistence-impact handling to the triage-bug workflow and introduce a new eval scenario to validate it.
New Features:
Tests: