docs(decisions): rescue two orphaned decision records and drain the inbox - #1773
Conversation
The 2026-03-26 RETRO git-safety decision existed only in .squad/decisions/inbox/retro-copilot-git-safety.md on the stale branch bradygaster-fix-merge-continuation-dispatch-inputs. The rule it describes is live in .github/copilot-instructions.md, but the rationale -- incident #631, 361 files deleted by destructive staging -- was never merged into decisions.md and would have been lost when that branch was deleted. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26891f18-3f78-4cda-801b-ee668fecae33
|
🛫 PR Readiness Check
PR Scope: 🔧 Infrastructure
|
| Status | Check | Details |
|---|---|---|
| ❌ | Single commit | 2 commits — consider squashing before review |
| ✅ | Not in draft | Ready for review |
| ❌ | Branch up to date | dev is 1 commit(s) ahead — rebase recommended |
| ❌ | Copilot review | No Copilot review yet — it may still be processing |
| ✅ | Changeset present | No source files changed — changeset not required |
| ✅ | Scope clean | |
| ✅ | No merge conflicts | Merge status unknown — GitHub is still computing |
| ✅ | Copilot threads resolved | 0 active Copilot thread(s) resolved (1 outdated skipped) |
| ❌ | CI passing | 6 check(s) still running |
Files Changed (2 files, +10 −39)
| File | +/− |
|---|---|
.squad/decisions.md |
+10 −0 |
.squad/decisions/inbox/booster-continuation-dispatch-inputs.md |
+0 −39 |
Total: +10 −39
This check runs automatically on every push. Fix any ❌ items and push again.
See CONTRIBUTING.md and PR Requirements for details.
🟢 Impact Analysis — PR #1773Risk tier: 🟢 LOW 📊 Summary
🎯 Risk Factors
📦 Modules Affectedsquad-state (2 files)
This report is generated automatically for every PR. See #733 for details. |
There was a problem hiding this comment.
Pull request overview
This PR rescues and preserves the rationale for the already-enforced “Git Safety — Mandatory” rule by appending the missing decision record (incident #631 context) into the repo’s consolidated .squad/decisions.md.
Changes:
- Appends a new decision entry documenting Copilot Git safety rules and their origin (incident #631).
- Captures “By / What / Why” metadata consistent with the existing decision-record format.
Show a summary per file
| File | Description |
|---|---|
.squad/decisions.md |
Appends the missing decision entry describing Copilot Git safety rules and the incident rationale. |
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
|
|
||
| ### 2026-03-26: Copilot git safety rules | ||
| **By:** RETRO (Security) | ||
| **What:** Added mandatory Git Safety section to copilot-instructions.md: prohibits staging the entire working tree with a bare-dot `git add` (i.e. `git add` followed by just `.`), requires feature branches and PRs, adds pre-push checklist, defines red-flag stop conditions. |
Merges the remaining inbox entry into decisions.md and removes it from .squad/decisions/inbox so a fresh clone starts with an empty inbox. Headings are demoted to a single ### entry rather than spliced in at their original H1/H2 levels, avoiding the hierarchy break tracked in #1760. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 26891f18-3f78-4cda-801b-ee668fecae33
Two decision records existed only outside
devand would have been lost. Both are now in.squad/decisions.md, and.squad/decisions/inbox/is empty — so a fresh clone starts clean.What was rescued
1. Git safety (2026-03-26, RETRO/Security) — lived only on the deleted
bradygaster-laughing-winnerbranch. Documents incident #631, where destructive staging deleted 361 files. The resulting rule is already live in.github/copilot-instructions.mdunder## Git Safety — Mandatory, but the rationale existed nowhere indev. Without this, a future contributor sees a strict rule with no explanation and is free to relax it.2. Merge-continuation dispatch inputs (2026-08-20) — the last unmerged file in
.squad/decisions/inbox/. Records an earlier dispatch failure where the payload was sent as top-level keys instead of nested underinputs, plus a guardrail proposal that static gates should check both sides of the dispatch contract. That proposal is directly relevant to #1772; it is cross-referenced there.Notes
Both entries are appended as single
###entries. Their original heading levels were demoted rather than spliced in as-is, so this does not reintroduce the heading-hierarchy break tracked in #1760..squad/decisions.mdentries are appended in merge order, not sorted by date — consistent with the existing file.