Conversation
* fix: correct YAML syntax in agents-issue-intake.yml template The 'if' condition in the check_labels job was improperly formatted, causing the line to wrap incorrectly with 'runs-on' ending up on the same line. This resulted in startup_failure errors when the workflow was deployed to consumer repos. Changes: - Use multiline scalar (|) for complex if condition - Properly indent continuation lines - Ensure runs-on is on its own line Fixes workflow failures in stranske/Travel-Plan-Permission and other consumer repositories using this template. * fix: add validation safeguards for template changes Problem: Template changes sync to 4+ consumer repos. A syntax error in agents-issue-intake.yml caused startup_failure in all consumer repos because there was no validation preventing bad templates. Changes: 1. Fix YAML syntax error in check_labels job (multiline if condition) 2. Add validate_workflow_yaml.py script to catch YAML/style issues 3. Add pre-commit hook to validate templates before commit 4. Add CRITICAL section to CLAUDE.md about template changes Safeguards added: - Pre-commit hook blocks template commits with validation errors - Script checks: YAML syntax, line length (100), runs-on placement - Clear warning in CLAUDE.md with validation commands - Enforces repo standards before sync Related: Travel-Plan-Permission#253, Workflows#602
* fix: correct YAML syntax in agents-issue-intake.yml template The 'if' condition in the check_labels job was improperly formatted, causing the line to wrap incorrectly with 'runs-on' ending up on the same line. This resulted in startup_failure errors when the workflow was deployed to consumer repos. Changes: - Use multiline scalar (|) for complex if condition - Properly indent continuation lines - Ensure runs-on is on its own line Fixes workflow failures in stranske/Travel-Plan-Permission and other consumer repositories using this template. * fix: add validation safeguards for template changes Problem: Template changes sync to 4+ consumer repos. A syntax error in agents-issue-intake.yml caused startup_failure in all consumer repos because there was no validation preventing bad templates. Changes: 1. Fix YAML syntax error in check_labels job (multiline if condition) 2. Add validate_workflow_yaml.py script to catch YAML/style issues 3. Add pre-commit hook to validate templates before commit 4. Add CRITICAL section to CLAUDE.md about template changes Safeguards added: - Pre-commit hook blocks template commits with validation errors - Script checks: YAML syntax, line length (100), runs-on placement - Clear warning in CLAUDE.md with validation commands - Enforces repo standards before sync Related: Travel-Plan-Permission#253, Workflows#602
The workflow now uses the CODESPACES_WORKFLOWS secret which has merge permissions, falling back to GITHUB_TOKEN if not available. Successfully merged sync PRs in Manager-Database, Template, and trip-planner using this token.
- Parse multiline REGISTERED_CONSUMER_REPOS env var instead of hardcoded list - Add stale PR cleanup: close and delete branches for older sync PRs - Process repos in order from REGISTERED_CONSUMER_REPOS (7 repos total) - Increase per_page to 20 to catch multiple stale PRs - Add stale_closed status tracking in summary
- Extract consumer repo list from maint-68-sync-consumer-repos.yml at runtime - Use yq to parse the authoritative REGISTERED_CONSUMER_REPOS env var - Remove duplicated hardcoded list to maintain single source of truth
- Change default max_length from 150 to 100 to match repo standards (black, ruff, isort) - Add explicit encoding='utf-8' to all file operations for cross-platform compatibility - Remove redundant condition check (already verified by elif condition)
- Add critical section to CLAUDE.md about checking new workflows for file artifacts - Create comprehensive WORKFLOW_ARTIFACT_CHECKLIST.md with decision trees and examples - Document common artifact patterns that cause merge conflicts in consumer repos - Provide recovery procedures for artifact pollution - Emphasize template workflows sync to 7+ repos (one mistake = 7+ conflicts)
- Require addressing ALL bot comments before merging PRs - Document that bot comments are mandatory fixes, not suggestions - Provide process for evaluating and resolving bot feedback - Emphasize impact: ignored comments → bugs in 7+ consumer repos - Add examples of critical issues bots catch (encoding, defaults, logic)
- Add workflow to EXPECTED_NAMES test mapping - Document in docs/ci/WORKFLOWS.md with description - Add to docs/ci/WORKFLOW_SYSTEM.md workflow table - Fixes test failures: test_canonical_workflow_names_match_expected_mapping, test_workflow_names_match_filename_convention, test_inventory_docs_list_all_workflows
- Quote $repos variable in yq pipeline to prevent word splitting (SC2086) - Quote $GITHUB_OUTPUT and $GITHUB_STEP_SUMMARY variables - Fixes shellcheck warnings in actionlint
The fallback to GITHUB_TOKEN causes merge failures since GITHUB_TOKEN lacks merge permissions. Require CODESPACES_WORKFLOWS secret explicitly.
Keep CODESPACES_WORKFLOWS without fallback to fix merge permissions.
Prevents merge conflicts and wasted CI resources by requiring git fetch/merge before gh pr create.
- Consumer repos should automatically create bootstrap PRs when issues are labeled with agent:codex or similar labels - Previously used 'invite' mode which only waits for humans to create PRs - Changed template to 'create' mode to enable automatic PR creation - This will propagate to all consumer repos via sync workflow Also fixed line length issues to pass validation.
Automated Status SummaryHead SHA: fc7ed8f
Coverage Overview
Coverage Trend
Top Coverage Hotspots (lowest coverage)
Updated automatically; will refresh on subsequent CI/Docker completions. Keepalive checklistScopeNo scope information available Tasks
Acceptance criteria
|
🤖 Keepalive Loop StatusPR #605 | Agent: Codex | Iteration 0/5 Current State
🔍 Failure Classification| Error type | infrastructure | |
There was a problem hiding this comment.
Pull request overview
This PR addresses a workflow startup failure by changing the PR creation mode in the agents issue intake workflow template. The changes include code formatting improvements and a critical mode parameter update.
Key changes:
- Changed the PR creation mode from "invite" to "create" for the reusable issue bridge workflow
- Reformatted multi-line comments for better readability
- Split long agent label extraction logic across multiple lines for clarity
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| agent: ${{ needs.check_labels.outputs.agent }} | ||
| issue_number: ${{ needs.check_labels.outputs.issue_number }} | ||
| mode: "invite" | ||
| mode: "create" |
There was a problem hiding this comment.
Changing the mode from "invite" to "create" will only affect manual workflow_dispatch runs. For issue-triggered events (opened, reopened, labeled), the reusable workflow's "Select PR mode" step forces the mode back to "invite" regardless of the input value (see lines 257-269 in reusable-agents-issue-bridge.yml). If this fix is intended to apply to issue-triggered events, the override logic in the reusable workflow needs to be adjusted as well.
| mode: "create" | |
| mode: "invite" |
No description provided.