[#376] 🤖 - Localize and simplify GitHub Actions summaries - #376
Conversation
|
To preview the documentation for this pull request, visit the following URL:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #376 +/- ##
===========================================
+ Coverage 90.94% 92.60% +1.66%
===========================================
Files 135 647 +512
Lines 6251 16762 +10511
Branches 1338 4275 +2937
===========================================
+ Hits 5685 15523 +9838
- Misses 172 483 +311
- Partials 394 756 +362
🚀 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 on56614d9. See aggregate Bugbot status.
🤖 Bugbot review snapshot
Bugbot reported 1 potential problem when commit 00920a9 was analyzed. This snapshot is historical; use the status block above for current state. 1 finding is linked to changed code.
Findings
- medium: Dynamic catalog text can inject Job Summary Markdown —
src/application/policies/action_summary_policy.ts:97
Bugbot: review incomplete
Incomplete coverage
|
📌 Summary
Localizes generic GitHub Actions Job Summaries using the configured
repository-locale, with English as the default. The summary now resolves a complete typed catalog for the selected locale, falls back atomically to English when resolution is incomplete, preserves stable machine-oriented facts, and renders localization evidence only once.🎯 Related Issues / Tickets
🧩 Scope of Changes
🛠️ Technical Details
Generic summaries resolve one complete catalog for
repository-locale. Bundleden-USandes-EScatalogs are supported; valid arbitrary locales use the shared dynamic resolver and fall back atomically to English when the response is invalid or incomplete.Human-readable presentation is localized while event names, lifecycle values, finding-state data, error codes, references, and other machine-oriented facts remain stable. Catalog output and specialized localization labels are sanitized so injected Markdown cannot alter the summary structure. Deployment summaries retain their specialized localization evidence, while generic summaries render that section exactly once.
🔍 How to Test
repository-locale: es-ESand run a generic GitHub Action workflow.🧪 Test Coverage
Validation reported for this change includes 434 Jest suites and 3,884 tests, full coverage with all 11 numeric coverage budgets, typecheck, lint, specification, documentation, workflow, npm package, and generated-build validations.
📸 Screenshots / Recordings (UI changes only)
Not applicable; this change affects generated Job Summary text and does not require screenshots or recordings.
🚀 Deployment Notes
Details: The generated GitHub Action bundle is included, and no new deployment configuration is required.
🔒 Security Considerations
The change adds defensive sanitization and regression coverage for catalog output while preserving existing stable machine-value handling. It does not change authentication, authorization, or secret handling.
📈 Performance Impact
Catalog resolution runs as part of existing summary generation and uses the shared resolver's caching behavior. It does not change domain operations or GitHub mutation behavior.
📝 Notes for Reviewers
Please verify the generic-summary path separately from the deployment-summary path, especially Spanish catalog output, arbitrary-locale resolution, atomic fallback behavior, Markdown sanitization, the single localization section, and preservation of stable event, lifecycle, finding-state, and error-code values.
✅ Checklist
📚 Additional Context
The PR updates
specs/repository-locale-and-localization.md,specs/semantic-github-publication-and-notification.md,specs/catalog.json, andspecs/CATALOG.mdso the implementation evidence and localization contract remain aligned with the generated bundle, architecture boundaries, and coverage budgets.