Develop - #395
Develop#395efraespada wants to merge 116 commits into
Conversation
[#366] 🤖 - Add repository locale and safe request adaptation
[#367] 🤖 - Make GitHub publication semantic durable and quiet
…tion [#368] 🤖 - featlocalization add generic repository message catalogs
[#369] 🤖 - Enforce localized productagent responses
[#370] 🤖 - Localize branchsync notices for any repository locale
[#371] 🤖 - Keep automated reports out of Bugbot human context
[#372] 🤖 - Keep generated catalogs out of review context
Close semantic communication contracts
…ence Normalize merged communication evidence
Remove legacy locale and translation contracts
…figuration Remove decorative image configuration
…cation state contracts
Block PR readiness when Bugbot coverage is partial and keep the maintainer waiting state explicit. Suppress greenfield migration notes when repository evidence confirms there are no users or persisted production state, with updated SDDs, tests, docs, and generated bundles.
…ontracts Enforce current-only publication state contracts
|
To preview the documentation for this pull request, visit the following URL:
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #395 +/- ##
==========================================
+ Coverage 91.67% 92.42% +0.74%
==========================================
Files 632 658 +26
Lines 15839 18252 +2413
Branches 4031 4760 +729
==========================================
+ Hits 14521 16869 +2348
- Misses 538 566 +28
- Partials 780 817 +37
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Current status: Overall coverage is partial; this snapshot does not prove that all of its findings are resolved.
Last reconciled on55067b9. See aggregate Bugbot status.
🤖 Bugbot review snapshot
Bugbot reported 1 potential problem when commit 9873a49 was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.
Findings
- medium: Catalog resolver failures abort publication instead of falling back —
src/application/policies/resolved_message_catalog_policy.ts:65
| return toResolvedMessageCatalogView(await resolver.resolve({ | ||
| targetLocale: locale || DEFAULT_REPOSITORY_LOCALE, | ||
| ids, | ||
| sourceCatalog, | ||
| bundledCatalogs, | ||
| configuration, |
There was a problem hiding this comment.
Catalog resolver failures abort publication instead of falling back
Severity: medium
Category: reliability · Confidence: 88%
Location: src/application/policies/resolved_message_catalog_policy.ts:65-70
When a caller supplies a MessageCatalogResolutionPort whose resolve method rejects or returns an invalid catalog, this function propagates the failure. The documented contract requires failed or incomplete dynamic localization to fall back atomically to the English catalog, but publication workflows can instead fail before producing their user-facing output.
Evidence:
resolveMessageCatalogView directly awaits resolver.resolve(...) and immediately passes the result to toResolvedMessageCatalogView; there is no catch, validation, or fallback path around the resolver call. The repository documentation states that unavailable, failed, or incomplete dynamic resolution must fall back atomically to English.
Suggested fix:
Catch resolver failures and validate the returned catalog before converting it to a view; on any failure or invalid response, return resolveStaticMessageCatalogView(locale, sourceCatalog, bundledCatalogs) so publication remains available in English.
Bugbot: review incomplete
Findings
Incomplete coverage
|
There was a problem hiding this comment.
Current status: Overall coverage is partial; this snapshot does not prove that all of its findings are resolved.
Last reconciled on55067b9. See aggregate Bugbot status.
🤖 Bugbot review snapshot
Bugbot reported 1 potential problem when commit 55067b9 was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.
Findings
- low: Review edits run the full pull-request workflow —
.github/workflows/copilot_pull_request_review_state.yml:6
|
|
||
| on: | ||
| pull_request_review: | ||
| types: [submitted, edited, dismissed] |
There was a problem hiding this comment.
Review edits run the full pull-request workflow
Severity: low
Category: correctness · Confidence: 82%
Location: .github/workflows/copilot_pull_request_review_state.yml:6
The new review-state workflow subscribes to edited review events, but it invokes the regular Copilot action. A pull_request_review event with action edited reaches runPullRequestWorkflow, whose edited branch invokes the pull-request title update workflow. This can rewrite a human-edited PR title even though the review-state workflow is documented to reconcile only lifecycle labels.
Evidence:
The workflow includes edited in its pull_request_review trigger. The application maps that event to the normal pull-request route, and runPullRequestWorkflow handles context.action === 'edited' by invoking updateTitle; the review-state workflow therefore performs title mutation in addition to lifecycle synchronization.
Suggested fix:
Guard the normal pull-request route from pull_request_review events, or provide a dedicated review-state execution path that performs lifecycle synchronization without invoking pull-request title, project, reviewer, or description workflows.
This change consolidates GitHub communication around localized, semantic publication with durable status, concurrency, freshness, and evidence handling. It also adds configurable issue workflows with runtime admission, generated repository guidance, setup diagnosis, and synchronized documentation and specifications.
What changed
copilot doctorcoverage.Review notes
.copilot/setup-backups/, while customized files are preserved and reported as drift.Copilot - Pull Requestcheck while review-state events use their separate check and concurrency lane.