Skip to content

fix(plan-feature): rewrite eval assertions for file-based evidence#229

Merged
mrizzi merged 1 commit into
mainfrom
TC-5054
Jul 3, 2026
Merged

fix(plan-feature): rewrite eval assertions for file-based evidence#229
mrizzi merged 1 commit into
mainfrom
TC-5054

Conversation

@mrizzi

@mrizzi mrizzi commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Rewrites 33 assertion/prompt lines across all 6 plan-feature evals to accept file-based evidence instead of requiring Jira API operation evidence (digest re-fetch, additional_fields params, link creation, comment posting)
  • Adds eval prompt instructions for writing Jira comments as output files and documenting additional_fields in the impact map
  • Fixes eval-6 assertion 6 to exempt documentation/testing tasks from Files to Modify/Create and Implementation Notes requirements (matching eval-1 format)

Assertion counts unchanged: 90 total (19+16+15+11+15+14).

Implements TC-5054

Test plan

  • Run /run-evals plan-feature and verify pass rates improve over the 78% baseline
  • Verify that a deliberately incomplete eval output (e.g., impact map with no priority references) still fails the priority assertion
  • Confirm assertion count per eval remains the same (no assertions silently dropped) — verified: 90 total

🤖 Generated with Claude Code

Summary by Sourcery

Update plan-feature eval definitions to support file-based Jira evidence and align assertion rules across all evals.

New Features:

  • Allow plan-feature evals to accept file-based Jira evidence outputs instead of requiring direct Jira API operations.

Bug Fixes:

  • Adjust eval-6 assertion 6 to exempt documentation and testing tasks from file and implementation note requirements, matching eval-1 behavior.

Enhancements:

  • Refine eval prompts and assertions to document Jira additional_fields usage and comment outputs in the impact map while keeping overall assertion counts unchanged.

Rewrites 33 assertion/prompt lines across all 6 plan-feature evals to
accept file-based evidence instead of requiring Jira API operation
evidence (digest re-fetch, additional_fields params, link creation,
comment posting), which cannot be produced in file-only eval mode.

Changes:
- All 6 eval prompts: add instructions for writing Jira comments as
  output files and documenting additional_fields in the impact map
- Digest assertions (6): accept digest files, impact map entries, or
  marker strings in any output file
- Priority assertions (6): accept documented field propagation in
  impact map or task description files
- fixVersion assertions (6): same evidence pattern as priority
- Summary comment assertions (6): accept summary-comment.md or impact
  map section
- Eval-6 assertion 6: add documentation/testing task exemption
  (matching eval-1 format)
- Eval-6 assertions 4,7: accept impact map evidence for Incorporates
  links and Epic creation

Assertion counts unchanged: 90 total (19+16+15+11+15+14).

Implements TC-5054

Assisted-by: Claude Code
@sourcery-ai

sourcery-ai Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Rewrites plan-feature eval prompts/assertions to accept file-based Jira evidence, updates instructions for outputting Jira comments and additional_fields, and adjusts a specific assertion’s logic for documentation/testing tasks while preserving total assertion counts.

File-Level Changes

Change Details Files
Relax eval assertions to prefer file-based Jira evidence over direct Jira API operations.
  • Updated 33 prompt/assertion lines across all 6 plan-feature eval cases to treat file-based artifacts (e.g., saved comments, additional_fields specs, link creations) as valid evidence instead of requiring live Jira API operations.
  • Standardized wording in assertions to clarify acceptable evidence formats and remove hard dependency on specific Jira actions like digest re-fetch or comment posting.
evals/plan-feature/evals.json
Clarify eval instructions for Jira comments and additional_fields documentation in impact maps.
  • Augmented eval prompts to explicitly instruct writing Jira comments as output files rather than direct API posts.
  • Added guidance that additional_fields must be documented in the impact map, including how they should be referenced and validated by assertions.
evals/plan-feature/evals.json
Align eval-6 assertion behavior with eval-1 for documentation/testing tasks.
  • Adjusted eval-6 assertion 6 logic to exempt documentation/testing-only tasks from requirements around Files to Modify/Create and Implementation Notes.
  • Verified assertion counts per eval remain unchanged (90 total across all 6 evals) to ensure no assertions were removed or silently dropped.
evals/plan-feature/evals.json

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • The new file-based evidence instructions look duplicated across multiple evals; consider extracting this into a shared template/snippet to avoid drift if the guidance needs to be updated later.
  • For the eval-6 assertion 6 exemption logic for documentation/testing tasks, consider making the criteria (e.g., task labels or patterns) explicitly enumerated and consistent with eval-1 so future changes don’t introduce subtle differences between the two.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The new file-based evidence instructions look duplicated across multiple evals; consider extracting this into a shared template/snippet to avoid drift if the guidance needs to be updated later.
- For the eval-6 assertion 6 exemption logic for documentation/testing tasks, consider making the criteria (e.g., task labels or patterns) explicitly enumerated and consistent with eval-1 so future changes don’t introduce subtle differences between the two.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eval Results

Eval Results: plan-feature

Eval Passed Failed Pass Rate
eval-1 19/19 0 100%
eval-2 16/16 0 100%
eval-3 15/15 0 100%
eval-4 11/11 0 100%
eval-5 15/15 0 100%
eval-6 14/14 0 100%

Pass rate: 100% · Tokens: 76,291 · Duration: 337s

Baseline (fcbfa091): 93% · 44,336 tokens · 250s


Generated by sdlc-workflow/run-evals v0.12.1

@mrizzi

mrizzi commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator Author

[sdlc-workflow/verify-pr] Re: @sourcery-ai[bot] review —

  1. "Extract file-based evidence instructions into shared template/snippet" — Classified as suggestion — CONVENTIONS.md does not document a convention for shared eval assertion templates, and no existing eval file uses a shared snippet mechanism (all 8 skill eval files use self-contained inline assertion strings). No established codebase pattern supports this upgrade. No sub-task created.

  2. "Make eval-6 assertion 6 exemption criteria consistent with eval-1" — Classified as suggestion — the PR already addresses this: eval-6 assertion 6 text is now identical to eval-1 assertion 1 (string equality confirmed). The consistency concern is resolved by the implementation itself. No sub-task created.

@mrizzi

mrizzi commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator Author

Verification Report for TC-5054 (commit f1d53eb)

Check Result Details
Review Feedback PASS 2 suggestions from sourcery-ai — no code change requests, no convention upgrades
Root-Cause Investigation N/A No sub-tasks created
Scope Containment PASS Only evals/plan-feature/evals.json modified, exactly matching Files to Modify
Diff Size PASS 33 additions, 33 deletions in 1 file — proportionate text replacement
Commit Traceability PASS Single commit references "Implements TC-5054" with Assisted-by trailer
Sensitive Patterns PASS No secrets or credentials in diff
CI Status PASS All CI checks pass; evals 100% (90/90), up from 93% baseline
Acceptance Criteria PASS 7 of 7 criteria met
Test Quality PASS Eval Quality: PASS (100% pass rate, 90/90 assertions). Repetitive Test Detection: N/A. Test Documentation: N/A
Test Change Classification N/A No test files modified
Verification Commands N/A No verification commands specified

Overall: PASS

All checks pass. The PR correctly rewrites 33 assertion/prompt lines across all 6 plan-feature evals to accept file-based evidence instead of Jira API operation evidence. Assertion counts preserved (90 total). Eval pass rate improved from 93% to 100%.


This comment was AI-generated by sdlc-workflow/verify-pr v0.12.1.

@mrizzi mrizzi merged commit 9a6ca95 into main Jul 3, 2026
4 checks passed
@mrizzi mrizzi deleted the TC-5054 branch July 3, 2026 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant