chore: sync workflow templates - #5800
Conversation
Automated sync from stranske/Workflows Template hash: f8b96e4f5418 Changes synced from sync-manifest.yml
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Important Review skippedAuto reviews are limited based on label configuration. 🚫 Review skipped — only excluded labels are configured. (7)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
There was a problem hiding this comment.
Pull request overview
This PR syncs workflow automation from stranske/Workflows into stranske/Trend_Model_Project, primarily to improve issue formatting/validation behavior and keep agent workflows aligned with the fleet standard.
Changes:
- Added an issue format guard workflow plus a pure-stdlib issue body validator to enforce
AGENT_ISSUE_FORMATand route non-conforming issues to the optimizer. - Updated the issue optimizer workflow to add concurrency control, improve dedup robustness, validate formatted output before applying
agents:formatted, and releaseagents:formaton failed format runs. - Adjusted issue intake and auto-label workflows to better gate execution (e.g., skip closed issues; isolate eligibility action checkout path).
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/agents-issue-optimizer.yml | Adds concurrency + stronger formatting/lease handling and output validation. |
| .github/workflows/agents-issue-intake.yml | Prevents bridge routing on closed issues. |
| .github/workflows/agents-issue-format-guard.yml | New guard workflow to validate issues and dispatch optimizer format runs when needed. |
| .github/workflows/agents-auto-label.yml | Checks out eligibility action into a dedicated path and uses it from there. |
| .github/scripts/issue_format.py | New canonical (stdlib-only) validator for AGENT_ISSUE_FORMAT. |
| .github/scripts/github-api-with-retry.js | Routes retry logging to stderr for better signal separation. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| uses: ./.github/actions/setup-api-client | ||
| with: | ||
| # This guard only reads issue comments with the workflow token. Do not | ||
| # expose the repository-wide secret bundle to the composite action. | ||
| github_token: ${{ github.token }} |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c843acb8fb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - name: Invalidate stale format completion after an invalid issue change | ||
| if: >- | ||
| steps.issue.outputs.exempt != 'true' && steps.validate.outputs.rc == '1' |
There was a problem hiding this comment.
Revalidate before clearing formatted state
When an issue is changed from invalid to valid while an older guard run is in progress, this step removes agents:formatted based on the stale body.md; the later routing step correctly re-fetches the live valid body and exits, while the queued valid edited run never restores the label because restoration is limited to hold-label removal. The issue consequently loses the ready-for-agent marker despite conforming, so re-fetch and revalidate before removing the label.
Useful? React with 👍 / 👎.
| - name: Route non-conforming issue to the optimizer | ||
| if: steps.issue.outputs.exempt != 'true' && steps.issue.outputs.held != 'true' && steps.validate.outputs.rc == '1' |
There was a problem hiding this comment.
Skip closed issues before optimizer dispatch
When a non-exempt closed issue's title or body is edited, the issues: edited event reaches this condition and dispatches the optimizer because no state check is made, even though Resolve issue fetched .state. The optimizer can then rewrite and relabel an already-closed issue; the intake workflow updated in this same commit explicitly excludes closed issues, so apply the equivalent state guard before routing.
Useful? React with 👍 / 👎.
| def _task_has_concrete_target(item: str) -> bool: | ||
| """True when a task checkbox names a file, path, symbol, config, job, or command.""" | ||
| # Category word must be followed by a concrete identifier (not "file handling"). | ||
| for match in re.finditer(rf"\b{_TASK_CATEGORY}\s+(`[^`]+`|[^\s]+)", item, re.I): |
There was a problem hiding this comment.
Accept identifiers that precede their artifact type
For tasks written in the repository guide's documented style, such as Write unit tests for calculateDiscount function, this matcher never examines calculateDiscount because it only recognizes a category followed by its identifier. The task is therefore reported as lacking a concrete target, and because one rejected checkbox invalidates the entire body, the guard unnecessarily dispatches formatting for otherwise compliant issues; recognize the common identifier-before-category form as well.
Useful? React with 👍 / 👎.
|
Superseded by newer sync wave #5801 (sync/workflows-f74d65a1c283). |
Sync Summary
Files Updated
Files Skipped
Review Checklist
Source: stranske/Workflows
Source SHA:
fdc561a5423df88576fb3e000c024f30df1611f1Template hash:
f8b96e4f5418Consumer-sync plan ID:
sha256:f8b96e4f541845294396e3adeed52535aa363a92f660bdf73e9b95c55eb51cdcSync phase:
canarySync branch:
sync/workflows-f8b96e4f5418Consumer repo:
stranske/Trend_Model_ProjectManifest:
.github/sync-manifest.yml