Skip to content

feat(ai-test): handle no-changes-needed case in contracts test system#18484

Merged
aliersh merged 1 commit intodevelopfrom
ari/ai-test-no-changes-needed
Dec 3, 2025
Merged

feat(ai-test): handle no-changes-needed case in contracts test system#18484
aliersh merged 1 commit intodevelopfrom
ari/ai-test-no-changes-needed

Conversation

@aliersh
Copy link
Copy Markdown
Contributor

@aliersh aliersh commented Dec 3, 2025

This PR adds support for handling test files that require no changes in the AI Contracts Test Maintenance System.

Reason

Previously, when Devin analyzed a test file and determined no changes were needed, the system would fail because it expected either a PR or an error state. This caused legitimate successful analyses to be treated as failures, preventing proper logging and notifications. The system now correctly handles this third outcome by using Devin's structured output feature to distinguish between "no changes needed" and actual failures.

Changes

  • Add structured output schema to Devin prompt instructing completion status reporting
  • Update devin_client.py to check for analysis_complete and changes_needed fields when handling blocked sessions
  • Add finished_no_changes status for sessions that complete analysis without requiring modifications
  • Create slack-notifier component with prepare_notification.sh script to handle notification logic
  • Add prepare-slack-notification command to justfile
  • Add Slack notification message for finished_no_changes status
  • Replace inline Slack notification logic in CircleCI config with just command
  • Update VERSION to 1.3.0
  • Update runbook.md to reflect new status and structured output handling

@aliersh aliersh requested review from a team and maurelian December 3, 2025 15:51
@aliersh aliersh force-pushed the ari/ai-test-no-changes-needed branch from abf42f4 to 5638758 Compare December 3, 2025 16:02
- add structured_output schema to devin prompt instructing completion status
- add check for structured_output in devin_client.py blocked status handler
- add finished_no_changes status when analysis complete without changes
- create slack-notifier component with prepare_notification.sh script
- add prepare-slack-notification command to justfile
- add slack notification for finished_no_changes status
- replace inline slack logic in circleci config with just command
@aliersh aliersh force-pushed the ari/ai-test-no-changes-needed branch from 5638758 to dcd5398 Compare December 3, 2025 16:17
@codecov
Copy link
Copy Markdown

codecov Bot commented Dec 3, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 75.32%. Comparing base (fcd09d5) to head (dcd5398).
⚠️ Report is 9 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #18484      +/-   ##
===========================================
- Coverage    75.62%   75.32%   -0.30%     
===========================================
  Files          187      187              
  Lines        11199    11199              
===========================================
- Hits          8469     8436      -33     
- Misses        2584     2619      +35     
+ Partials       146      144       -2     
Flag Coverage Δ
cannon-go-tests-64 66.58% <ø> (-0.82%) ⬇️
contracts-bedrock-tests 80.24% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@aliersh aliersh added this pull request to the merge queue Dec 3, 2025
Merged via the queue into develop with commit be88810 Dec 3, 2025
84 checks passed
@aliersh aliersh deleted the ari/ai-test-no-changes-needed branch December 3, 2025 18:41
aliersh pushed a commit that referenced this pull request Dec 8, 2025
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.

2 participants