Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .copilot/skills/pr-lifecycle/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: "pr-lifecycle"
description: "Complete issue → PR → merge lifecycle with readiness checks"
domain: "workflow"
confidence: "high"
source: "extracted from pr-readiness.mjs, CONTRIBUTING.md, PR_REQUIREMENTS.md, squad-ci.yml"
source: "extracted from CONTRIBUTING.md, PR_REQUIREMENTS.md, squad-ci.yml"
---

## Context
Expand Down Expand Up @@ -419,7 +419,7 @@ Adds profile resolution API to the SDK.

## Readiness Check Gaps & Recommendations

After analyzing `scripts/pr-readiness.mjs`, `.github/workflows/squad-ci.yml`, and `.github/workflows/squad-repo-health.yml`, three gaps were identified. Gaps 1 and 3 are now implemented (checks 10 and 11). Gap 2 is deferred.
After analyzing `.github/workflows/squad-ci.yml`, three gaps were identified. Gaps 1 and 3 are now implemented (checks 10 and 11). Gap 2 is deferred.

### Gap 1: Issue Linkage Check (Check 10) — IMPLEMENTED

Expand Down
4 changes: 0 additions & 4 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,10 +146,6 @@ Any PR that modifies files under `packages/squad-cli/src/` or `packages/squad-sd
- The `changelog-gate` CI check will fail without this
- Escape hatch: add the `skip-changelog` label (use sparingly)

## Automated PR Nudge

The **PR Nudge** workflow (`.github/workflows/squad-pr-nudge.yml`) runs on weekdays at 2pm UTC and posts actionable comments on open PRs that have been stale for 7+ days. It diagnoses specific blockers — failing CI checks, unresolved review threads, missing approvals, outdated branches, and draft status — so PR authors know exactly what to do next. Draft PRs get a 14-day grace period. The workflow won't nudge the same PR more than once per week.

## Decisions

If you make a decision that affects other team members, write it to:
Expand Down
29 changes: 29 additions & 0 deletions .github/workflows/squad-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -821,3 +821,32 @@ jobs:

console.log('✅ All ' + passed + ' subpath exports resolve and import successfully');
"

scope-check:
# Enforces PR scope boundary: repo-health PRs must not touch product source code.
# Replaces the removed squad-scope-check.yml workflow.
if: >-
github.event_name == 'pull_request'
&& contains(github.event.pull_request.labels.*.name, 'repo-health')
runs-on: ubuntu-latest
timeout-minutes: 3
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Check for product source changes in repo-health PR
run: |
BASE="${{ github.event.pull_request.base.sha }}"
HEAD="${{ github.event.pull_request.head.sha }}"
CHANGED=$(git diff --name-only "$BASE"..."$HEAD" | grep -E '^packages/squad-(cli|sdk)/src/' || true)
if [ -n "$CHANGED" ]; then
echo "::error::SCOPE VIOLATION — repo-health PRs must not modify product source code."
echo "The following product source files were changed:"
echo "$CHANGED" | while read -r f; do echo " - $f"; done
echo ""
echo "Product source (packages/squad-cli/src/ and packages/squad-sdk/src/) is off-limits for repo-health PRs."
echo "If this change requires product source edits, use a 'fix' or 'feat' label instead."
exit 1
fi
echo "✅ No product source files modified — scope boundary respected"
38 changes: 0 additions & 38 deletions .github/workflows/squad-docs-links.yml

This file was deleted.

83 changes: 0 additions & 83 deletions .github/workflows/squad-impact.yml

This file was deleted.

184 changes: 0 additions & 184 deletions .github/workflows/squad-pr-nudge.yml

This file was deleted.

Loading