Skip to content

feat(ci): automated bug retro checklist on issue close [ON HOLD] - #910

Closed
diberry wants to merge 1 commit into
devfrom
squad/819-bug-retro-checklist
Closed

diberry wants to merge 1 commit into
devfrom
squad/819-bug-retro-checklist

Conversation

@diberry

@diberry diberry commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a GitHub Actions workflow that posts a retro checklist comment when bug-labeled issues are closed.

What it does

  • Triggers on issues.closed events for bug-labeled issues
  • Posts a structured retro checklist as a comment
  • Helps the team systematically learn from bugs

Workflow details

  • Uses actions/github-script@v7 with minimal issues: write permission
  • Follows existing squad-* workflow naming convention
  • Includes concurrency group to prevent duplicate runs
  • No changeset needed — CI-only change, no product source code modified

Closes #819

@github-actions

github-actions Bot commented Apr 8, 2026 •

Copy link
Copy Markdown
Contributor

🟢 Impact Analysis — PR #910

Risk tier: 🟢 LOW

📊 Summary

Metric Count
Files changed 1
Files added 1
Files modified 0
Files deleted 0
Modules touched 1

🎯 Risk Factors

  • 1 files changed (≤5 → LOW)
  • 1 module(s) touched (≤1 → LOW)

📦 Modules Affected

ci-workflows (1 file)
  • .github/workflows/squad-bug-retro.yml

This report is generated automatically for every PR. See #733 for details.

@github-actions

github-actions Bot commented Apr 8, 2026 •

Copy link
Copy Markdown
Contributor

🏗️ Architectural Review

⚠️ Architectural review: 1 info.

Severity Category Finding Files
ℹ️ info template-sync Template files changed in .github/workflows/ but not in other template locations. If these templates should stay in sync, consider updating the others too. Changed: .github/workflows/, Unchanged: templates/, .squad-templates/, packages/squad-cli/templates/

Automated architectural review — informational only.

@github-actions

github-actions Bot commented Apr 8, 2026 •

Copy link
Copy Markdown
Contributor

🔒 Security Review

🔒 Security review: 1 info.

Severity Category Finding Location
ℹ️ info workflow-permissions Workflow grants write permission — verify this is the minimum required scope. .github/workflows/squad-bug-retro.yml:11

Automated security review — informational only.

@diberry
diberry force-pushed the squad/819-bug-retro-checklist branch from 6d3d955 to 69c15a2 Compare April 8, 2026 14:23
@diberry diberry added the skip-changelog Skip changelog enforcement for this PR label Apr 8, 2026
@diberry
diberry force-pushed the squad/819-bug-retro-checklist branch from 69c15a2 to dd5cf42 Compare April 8, 2026 15:56
@diberry

diberry commented Apr 8, 2026

Copy link
Copy Markdown
Contributor Author

🔍 Squad Review — Kaylee (Engineering)

# Check Status Notes
1 Changelog entry ✅ skip-changelog label applied
2 Squashed to 1 commit ✅ 1 commit
3 CI green ✅ All 11 checks passed/skipped
4 Copilot comments resolved ✅ 0 unresolved threads
5 No .squad/ files ✅ Clean
6 No unrelated files ✅ 1 file — workflow only, matches scope
7 Tests for changes ✅ N/A — CI workflow, no packages/*/src/ code
8 Not a duplicate/reversal ✅ Unique retro automation for #819

Verdict: ✅ Ready to merge


Review by Squad AI team (Kaylee — Engineering) · requested by Dina Berry

@diberry

diberry commented Apr 8, 2026

Copy link
Copy Markdown
Contributor Author

🧪 FIDO — Quality Review

Verdict: ⚠️ COMMENT

Test Coverage

  • No tests. Workflow-only PR — acceptable for CI automation, but the workflow logic (label filtering, comment body) is untestable without a workflow test harness.

Edge Cases / Risks

  • Missing timeout-minutes on the post-retro-checklist job. If actions/github-script hangs (GitHub API outage), this job runs until the 6-hour GitHub default. Add timeout-minutes: 5.
  • No bot guard. If a bot closes a bug-labeled issue, the retro checklist still fires. Consider if: contains(github.event.issue.labels.*.name, 'bug') && github.event.sender.type != 'Bot'.
  • Encoding issue. The emoji in the checklist body (🔍) appears as mojibake in the diff (≡ƒöä). Verify the file is saved as UTF-8.
  • No duplicate prevention. If a bug issue is closed, reopened, and closed again, a second retro checklist comment is posted. Consider checking for an existing checklist comment before posting.
  • actions/github-script@v7 is tag-pinned, not SHA-pinned. Per hardening conventions (PR feat(test): CI template hardening tests — 20 structural assertions [ON HOLD] #915), this should use a SHA pin.

CI Impact

  • New workflow, no impact on existing CI. contents: read is missing from permissions (implicit default) — only issues: write is declared, which is correct.

Recommendation

Add timeout-minutes: 5, add duplicate-comment prevention, and consider bot guard.

@diberry

diberry commented Apr 8, 2026

Copy link
Copy Markdown
Contributor Author

🔒 RETRO — Security Review

Verdict: ✅ APPROVE

Security Findings

Credential / PII Check

  • No secrets or PII introduced. Uses the default \GITHUB_TOKEN\ for issue comments.

Workflow Permissions

  • \permissions: issues: write\ — correctly scoped to minimum required (issue comments only).
  • Concurrency block present with \cancel-in-progress: true.
  • Bot guard: relies on \if: contains(github.event.issue.labels.*.name, 'bug')\ — label filter is sufficient; bots creating bug-labeled issues would trigger this, but the impact is a benign checklist comment.

Recommendation

Clean merge. Well-scoped permissions, static content, no dynamic input.

@diberry

diberry commented Apr 8, 2026

Copy link
Copy Markdown
Contributor Author

🏗️ Flight — Architecture Review

Verdict: ⚠️ COMMENT

Findings

Module Boundary Check

  • No boundary violations. Pure workflow addition, no package code touched.

Recommendation

Clarify intent: is this a Squad platform feature (needs template sync) or a repo-specific workflow (current placement is correct)? The workflow itself is clean.

@diberry diberry changed the title feat(ci): automated bug retro checklist on issue close feat(ci): automated bug retro checklist on issue close [ON HOLD] Apr 8, 2026
@diberry diberry closed this Apr 10, 2026
@bradygaster
bradygaster deleted the squad/819-bug-retro-checklist branch August 8, 2026 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

skip-changelog Skip changelog enforcement for this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(ci): automated bug retro checklist on issue close

1 participant