From ffe59ac53482f5f9b7bc6bcca57cdb5997472a2f Mon Sep 17 00:00:00 2001 From: Daniel McCoy Stephenson Date: Fri, 7 Aug 2026 01:01:35 -0600 Subject: [PATCH 1/3] Broaden Step 2 to find the PR template under every accepted spelling GitHub accepts PULL_REQUEST_TEMPLATE.md and pull_request_template.md, in .github/, the repo root, or docs/, plus a .github/PULL_REQUEST_TEMPLATE/ directory. Step 2 named only the lowercase .github/ path, so on a case-sensitive filesystem a repo using any other spelling had its template skipped silently under the "skip silently if absent" instruction. Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 2 +- create-dev-loop.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3f23c22..45c20fc 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Generic AI coding assistants treat every repo the same. A tailored dev loop enco | Generic assistant | Tailored dev loop | |---|---| | Guesses your test command | Knows `./mvnw test` vs `cargo test` vs `pytest` | -| Ignores your PR template | Fills it in from `.github/pull_request_template.md` | +| Ignores your PR template | Fills it in from your PR template, whichever spelling and location it uses | | Doesn't know your branch convention | Enforces `feature/` or `fix/` based on your `CONTRIBUTING.md` | | Skips your linter | Runs `ruff check` / `eslint` / `golangci-lint` before every push | | Opens PRs with placeholder reviewers | Requests the right person from `CODEOWNERS` or adds `Copilot` | diff --git a/create-dev-loop.md b/create-dev-loop.md index fb6eb72..2e68491 100644 --- a/create-dev-loop.md +++ b/create-dev-loop.md @@ -83,7 +83,7 @@ Read the following files if they exist (skip silently if absent): **Issue and PR patterns** - `.github/CODEOWNERS` — who reviews PRs -- `.github/pull_request_template.md` — PR body requirements +- The PR template — PR body requirements. GitHub accepts several spellings and locations, and on a case-sensitive filesystem only the exact one present will match, so check for each: `PULL_REQUEST_TEMPLATE.md` or `pull_request_template.md`, in `.github/`, the repo root, or `docs/`; plus a `.github/PULL_REQUEST_TEMPLATE/` directory when the repo offers multiple templates - Recent closed PRs: `gh pr list --state closed --limit 5` — infer title style, squash vs merge, reviewer patterns **Code conventions** From 282849c2c2323c818e4548ea9c8a4b1de7343675 Mon Sep 17 00:00:00 2001 From: Daniel McCoy Stephenson Date: Fri, 7 Aug 2026 01:02:55 -0600 Subject: [PATCH 2/3] Record PR #108 as an Implementations entry under RESEARCH.md finding 3 Co-Authored-By: Claude Opus 5 (1M context) --- RESEARCH.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RESEARCH.md b/RESEARCH.md index 12d21eb..dc743cc 100644 --- a/RESEARCH.md +++ b/RESEARCH.md @@ -94,6 +94,7 @@ Last reviewed: 2026-08-04. **Implementations.** - PR #31 (Localization + regression gates): shipped 2026-05-25. Observed effect: pending — needs N cycles of data. Adds a Phase 3 "Localization verification" step (enumerate files, `test -f`, grep for the named surface area) and a Phase 8 regression gate (bug-fix `Closes #N` requires a new/modified test or validation step). Generalized to projects whose external anchor is manual validation rather than tests. - PR #52 (Add documentation-accuracy and unit-test-expansion work-mode stages to Phase 2): shipped 2026-06-08. Observed effect: pending — needs N cycles of data. Adds Stage B, a characterization-test work-mode that locks in current behavior and builds the regression guards this finding argues are the only way to distinguish a real fix from a coincidental patch — and forbids changing production code under a test-only cycle, so an apparent bug becomes a filed issue rather than an unverified patch. +- PR #108 (Broaden Step 2 to find the PR template under every accepted spelling): shipped 2026-08-07. Observed effect: pending — needs N cycles of data. Widens Step 2's PR-template bullet from a single lowercase path to every spelling and location GitHub accepts. Applies the finding one level earlier than PR #31 does: before a generated skill can localize within its repo, Step 2 must localize the repo's own convention files, and a silently under-matching file list loses that input with no trace. --- From 469649bfe0fe0c01219c6539e54c789ba965c6f2 Mon Sep 17 00:00:00 2001 From: Daniel McCoy Stephenson Date: Fri, 7 Aug 2026 01:03:32 -0600 Subject: [PATCH 3/3] Lead the Step 2 PR-template bullet with a path to match its siblings Every other bullet in Step 2's file lists opens with a backticked path followed by an em-dash description. Restore that shape. Co-Authored-By: Claude Opus 5 (1M context) --- create-dev-loop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/create-dev-loop.md b/create-dev-loop.md index 2e68491..58b99c4 100644 --- a/create-dev-loop.md +++ b/create-dev-loop.md @@ -83,7 +83,7 @@ Read the following files if they exist (skip silently if absent): **Issue and PR patterns** - `.github/CODEOWNERS` — who reviews PRs -- The PR template — PR body requirements. GitHub accepts several spellings and locations, and on a case-sensitive filesystem only the exact one present will match, so check for each: `PULL_REQUEST_TEMPLATE.md` or `pull_request_template.md`, in `.github/`, the repo root, or `docs/`; plus a `.github/PULL_REQUEST_TEMPLATE/` directory when the repo offers multiple templates +- `.github/PULL_REQUEST_TEMPLATE.md` or `.github/pull_request_template.md` (either spelling is also accepted at the repo root or under `docs/`, and a `.github/PULL_REQUEST_TEMPLATE/` directory holds a repo's multiple templates) — PR body requirements. On a case-sensitive filesystem only the exact spelling present will match, so check each rather than the lowercase `.github/` path alone - Recent closed PRs: `gh pr list --state closed --limit 5` — infer title style, squash vs merge, reviewer patterns **Code conventions**