fix(ci): add pass-through jobs for path-filtered required checks#1207
fix(ci): add pass-through jobs for path-filtered required checks#1207rjmurillo-bot wants to merge 4 commits intomainfrom
Conversation
Branch protection blocks PR merges when required checks report SKIPPED instead of SUCCESS. This occurs when path filters exclude the real jobs. Add pass-through jobs with matching check names that emit SUCCESS when the path filter skips the real job. Affected checks: - Aggregate Results (ai-pr-quality-gate.yml) - Validate Spec Coverage (ai-spec-validation.yml) - Validate memory citations (memory-validation.yml) Fixes #1168 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
PR Validation ReportCaution ❌ Status: FAIL Description Validation
QA Validation
|
|
Caution Review failedFailed to post review comments 📝 WalkthroughWalkthroughAdds test cases for path normalization handling of Markdown bold markers and a new episodic memory record. The tests validate that Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). Comment |
…atching The list item regex pattern captured leading `**` from bold-formatted filenames in list items (e.g. `- **file.yml**: description`). This caused false CRITICAL issues when the extracted `**file.yml` did not suffix-match the actual diff path `.github/workflows/file.yml`. Strip `*` characters in normalize_path so both the bold pattern and list item pattern produce clean filenames for matching. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
✅ Pass: Memory ValidationNo memories with citations found. 📊 Validation Details
|
AI Quality Gate ReviewTip ✅ Final Verdict: PASS WalkthroughThis PR was reviewed by six AI agents in parallel, analyzing different aspects of the changes:
Review Summary
💡 Quick Access: Click on individual agent jobs (e.g., "🔒 security Review", "🧪 qa Review") in the workflow run to see detailed findings and step summaries. Security Review DetailsSecurity Review: PR #1207PR Type Classification
Findings
Analysis SummarySession/Episode JSON Files (CONFIG)
Test File (CODE)
RecommendationsNone required. Changes are low-risk additions to existing test coverage. VerdictQA Review DetailsLet me check where the skip-aggregate job is in this workflow: Now I have a complete picture. Let me view the test file changes to verify test quality: Now I have a complete picture of this PR. Let me provide the QA verdict: QA Review VerdictTest Coverage Assessment
Quality Concerns
Regression Risk Assessment
Verification of PR Claims
Pattern ComplianceThe pass-through job pattern is consistent across all three workflows:
Analyst Review DetailsI now have enough information to provide the analysis. Analyst Review: PR #1207Code Quality Score
Overall: 5/5 Impact Assessment
Findings
Analysis DetailsWorkflow Changes (Verified in current codebase):
Pattern Validation:
Test Changes:
Recommendations
VerdictArchitect Review DetailsThe file only has 803 lines. Let me check around line 60-140 for the skip-aggregate job mentioned in the PR description. I need to find the skip-aggregate job mentioned in the PR. Let me search for it: Now I have enough context. Let me check the test file changes: I have gathered sufficient information to complete the architectural review. Design Quality Assessment
Overall Design Score: 5/5 Architectural Concerns
Breaking Change Assessment
Technical Debt Analysis
ADR Assessment
Recommendations
VerdictDevOps Review DetailsLet me find the pass-through job for the quality gate: The file view shows the ai-pr-quality-gate.yml ends at line 803. Let me look at the git diff for this PR directly to see what was actually changed: Based on my review of the workflow files in the current repository, I have enough information to provide the DevOps review. The PR description indicates changes to add pass-through jobs to handle path-filtered required checks. Let me analyze what I've seen: DevOps Review: PR #1207 - Add Pass-Through Jobs for Path-Filtered Required ChecksPR Scope Detection
Pipeline Impact Assessment
CI/CD Quality Checks
Design ReviewThe pass-through job pattern is correctly implemented: ai-spec-validation.yml (lines 92-102):
memory-validation.yml (lines 171-182):
ai-pr-quality-gate.yml:
Findings
Template Assessment
Automation Opportunities
The pass-through job pattern is a known solution for GitHub branch protection's SKIPPED status limitation. No new automation needed. Recommendations
Notes on Expected PatternsThe following patterns are normal and acceptable:
Roadmap Review DetailsStrategic Alignment Assessment
Feature Completeness
Impact Analysis
RICE Score (Reference)
KANO ClassificationMust-Be (Basic Expectation): Branch protection should not block PRs incorrectly. Users expect the merge button to work when checks pass. This is a defect fix, not a feature. Concerns
Recommendations
VerdictRun Details
Powered by AI Quality Gate workflow |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
.github/workflows/ai-pr-quality-gate.yml (1)
408-416: Add timeout-minutes for consistency.The memory-validation.yml skip job has
timeout-minutes: 1. This skip-aggregate job should match. Without a timeout, a hypothetical hang consumes the 360-minute default.🔧 Add timeout
skip-aggregate: name: Aggregate Results runs-on: ubuntu-24.04-arm + timeout-minutes: 1 needs: check-changes if: always() && needs.check-changes.outputs.should-run != 'true' steps:🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/ai-pr-quality-gate.yml around lines 408 - 416, The skip-aggregate job (job name "skip-aggregate", workflow job id skip-aggregate) lacks a timeout and can hang for the default 360 minutes; add a timeout-minutes: 1 entry to the job definition (same level as runs-on/needs/if) so the pass-through Aggregate Results job times out quickly like the memory-validation.yml skip job..github/workflows/ai-spec-validation.yml (1)
92-100: Add timeout-minutes for consistency.Same as the ai-pr-quality-gate skip job: memory-validation.yml sets
timeout-minutes: 1on its skip job. Match that pattern here.🔧 Add timeout
skip-spec: name: Validate Spec Coverage runs-on: ubuntu-24.04-arm + timeout-minutes: 1 needs: check-paths if: needs.check-paths.outputs.has-code-changes != 'true' steps:🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/ai-spec-validation.yml around lines 92 - 100, The skip-spec job (named "Validate Spec Coverage" with job id skip-spec) is missing a timeout and should match the pattern used elsewhere; add a timeout-minutes: 1 property to the skip-spec job definition so the job has the same short timeout as the other skip jobs (e.g., as in memory-validation.yml), ensuring the timeout key is placed at the same indentation level as runs-on and needs within the skip-spec job block.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In @.github/workflows/ai-pr-quality-gate.yml:
- Around line 408-416: The skip-aggregate job (job name "skip-aggregate",
workflow job id skip-aggregate) lacks a timeout and can hang for the default 360
minutes; add a timeout-minutes: 1 entry to the job definition (same level as
runs-on/needs/if) so the pass-through Aggregate Results job times out quickly
like the memory-validation.yml skip job.
In @.github/workflows/ai-spec-validation.yml:
- Around line 92-100: The skip-spec job (named "Validate Spec Coverage" with job
id skip-spec) is missing a timeout and should match the pattern used elsewhere;
add a timeout-minutes: 1 property to the skip-spec job definition so the job has
the same short timeout as the other skip jobs (e.g., as in
memory-validation.yml), ensuring the timeout key is placed at the same
indentation level as runs-on and needs within the skip-spec job block.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Session Protocol Compliance ReportTip ✅ Overall Verdict: PASS All session protocol requirements satisfied. What is Session Protocol?Session logs document agent work sessions and must comply with RFC 2119 requirements:
See Compliance Summary
Detailed Validation ResultsClick each session to see the complete validation report with specific requirement failures. 📄 sessions-2026-02-25-session-1=== Session Validation === [PASS] Session log is valid ✨ Zero-Token ValidationThis validation uses deterministic script analysis instead of AI:
Powered by 📊 Run Details
Powered by Session Protocol Validator workflow |
Review Triage RequiredNote Priority: NORMAL - Human approval required before bot responds Review Summary
Next Steps
Powered by PR Maintenance workflow - Add triage:approved label |
Pull Request
Summary
Add pass-through jobs to three workflows so that path-filtered required checks emit SUCCESS instead of SKIPPED when irrelevant files change. This unblocks PR merges that do not touch code, memory, or spec paths.
Specification References
Changes
skip-aggregatejob with name "Aggregate Results" that runs whenshould-run != 'true'skip-specjob with name "Validate Spec Coverage" that runs whenhas-code-changes != 'true'skip-validationjob from "Skip validation (no changes)" to "Validate memory citations" to match the required check name. Removed unnecessary checkout step.Type of Change
Testing
YAML syntax validated locally with
yaml.safe_load(). Pre-existing test failures confirmed onmain(unrelated to this change).Agent Review
Security Review
Other Agent Reviews
Checklist
Related Issues
Fixes #1168