Conversation
Automated sync from stranske/Workflows Template hash: 2bd48a632c6b Changes synced from sync-manifest.yml Consumer-sync plan ID: sha256:2bd48a632c6b81c318f38ac1804a89bd58b0d5431bb347959eb77f8226eb5f4a Plan scope: full Scope base SHA: full Source commit: b0e1045e8cf13f6bf9223ce773ee45203fc8d026 Canary evidence JSON (base64): eyJzY2hlbWEiOiJ3b3JrZmxvd3MuY29uc3VtZXItc3luYy1jYW5hcnktZXZpZGVuY2UvdjEiLCJ2ZXJzaW9uIjoxLCJyZXN1bHRzIjpbeyJyZXBvIjoic3RyYW5za2UvVHJhdmVsLVBsYW4tUGVybWlzc2lvbiIsInBsYW5faWQiOiJzaGEyNTY6MmJkNDhhNjMyYzZiODFjMzE4ZjM4YWMxODA0YTg5YmQ1OGIwZDU0MzFiYjM0Nzk1OWViNzdmODIyNmViNWY0YSIsInBsYW5fc2NvcGUiOiJmdWxsIiwic2NvcGVfYmFzZV9zaGEiOiIiLCJzb3VyY2VfY29tbWl0IjoiYjBlMTA0NWU4Y2YxM2Y2YmY5MjIzY2U3NzNlZTQ1MjAzZmM4ZDAyNiIsInByIjoxNTgyLCJoZWFkX3NoYSI6IjBlMzRlNDgyMThkMTVkYTFjMjA0YjdjOGJiMjNiM2ZkYzcyZjAzMDIiLCJldmlkZW5jZV9zb3VyY2UiOiJvcGVuLWNhbmRpZGF0ZSIsInJlcXVpcmVkX2NoZWNrX3N0YXRlIjoic3VjY2VzcyIsImFjdGl2ZV9yZXZpZXdfdGhyZWFkX2NvdW50IjowfSx7InJlcG8iOiJzdHJhbnNrZS90cmlwLXBsYW5uZXIiLCJwbGFuX2lkIjoic2hhMjU2OjJiZDQ4YTYzMmM2YjgxYzMxOGYzOGFjMTgwNGE4OWJkNThiMGQ1NDMxYmIzNDc5NTllYjc3ZjgyMjZlYjVmNGEiLCJwbGFuX3Njb3BlIjoiZnVsbCIsInNjb3BlX2Jhc2Vfc2hhIjoiIiwic291cmNlX2NvbW1pdCI6ImIwZTEwNDVlOGNmMTNmNmJmOTIyM2NlNzczZWU0NTIwM2ZjOGQwMjYiLCJwciI6MTgyMSwiaGVhZF9zaGEiOiJlYjQ2ZDU2NzEwYzExZjQ5NWJhNzJhZGY2ZjNlZmIyMmMyNGVjY2M3IiwiZXZpZGVuY2Vfc291cmNlIjoib3Blbi1jYW5kaWRhdGUiLCJyZXF1aXJlZF9jaGVja19zdGF0ZSI6InN1Y2Nlc3MiLCJhY3RpdmVfcmV2aWV3X3RocmVhZF9jb3VudCI6MH0seyJyZXBvIjoic3RyYW5za2UvUG9ydGFibGUtQWxwaGEtRXh0ZW5zaW9uLU1vZGVsIiwicGxhbl9pZCI6InNoYTI1NjoyYmQ0OGE2MzJjNmI4MWMzMThmMzhhYzE4MDRhODliZDU4YjBkNTQzMWJiMzQ3OTU5ZWI3N2Y4MjI2ZWI1ZjRhIiwicGxhbl9zY29wZSI6ImZ1bGwiLCJzY29wZV9iYXNlX3NoYSI6IiIsInNvdXJjZV9jb21taXQiOiJiMGUxMDQ1ZThjZjEzZjZiZjkyMjNjZTc3M2VlNDUyMDNmYzhkMDI2IiwicHIiOjIyOTksImhlYWRfc2hhIjoiYjQ2YWM4NDFjYzVmMWNhMTE3YjNjMjQ0YTk3MzNhODM5ZTBiM2Y5YiIsImV2aWRlbmNlX3NvdXJjZSI6Im9wZW4tY2FuZGlkYXRlIiwicmVxdWlyZWRfY2hlY2tfc3RhdGUiOiJzdWNjZXNzIiwiYWN0aXZlX3Jldmlld190aHJlYWRfY291bnQiOjB9XX0=
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
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: Essentials 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.
🟡 Changes recommended
A critical stale workflow attempt can overwrite a newer reservation because mismatched attempt IDs are not always rejected.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Synchronizes workflow templates and automation helpers for contract validation, runner handling, deliberate-break parsing, and Gate follow-ups.
Changes:
- Expands schema validation and discovery.
- Adds workflow-attempt tracking and completion persistence.
- Improves marker parsing and cross-repository wakeup handling.
File summaries
| File | Summary |
|---|---|
scripts/validate_run_contract.py |
Expands capability-bundle validation and schema discovery. |
scripts/runner_lib/core.py |
Adds workflow-attempt tracking and completion handling; a critical stale-completion issue remains. |
scripts/check_deliberate_break.py |
Ignores prose false positives around deliberate-break markers. |
.github/workflows/agents-81-gate-followups.yml |
Makes unauthorized cross-repository wakeups best-effort. |
Review details
- Files reviewed: 4/4 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| if prior.get("workflow_attempt_id") and ( | ||
| prior.get("workflow_attempt_id") != _workflow_attempt_id() | ||
| or (prior.get("key") != key and produced_work is not True) | ||
| ): | ||
| # A completion rerun from an earlier attempt must not overwrite a newer reservation, | ||
| # including when both attempts target the same head. The owning attempt may report | ||
| # a new head only when it explicitly measured productive work. Return an observation only. | ||
| return _unrecorded_completion(prior, key, "stale-attempt") |
|
Closing this generated delivery as no longer current. |
2 similar comments
|
Closing this generated delivery as no longer current. |
|
Closing this generated delivery as no longer current. |
Sync Summary
Files Updated
Files Skipped
Review Checklist
Source: stranske/Workflows
Source SHA:
b0e1045e8cf13f6bf9223ce773ee45203fc8d026Template hash:
2bd48a632c6bConsumer-sync plan ID:
sha256:2bd48a632c6b81c318f38ac1804a89bd58b0d5431bb347959eb77f8226eb5f4aPlan scope:
fullScope base SHA:
fullSync phase:
promoteSync branch:
sync/workflows-deliveryConsumer repo:
stranske/Trend_Model_ProjectManifest:
.github/sync-manifest.ymlautofix: false