From 7c7521eca976f69d1a8a447e373ece10c805c8cb Mon Sep 17 00:00:00 2001 From: Adam Higgins Date: Thu, 29 Oct 2026 10:37:21 +0000 Subject: [PATCH] docs(skills): upstream syncs check the files that merged cleanly Sync checks only covered conflicted files, and fork CI never runs, so upstream tests asserting behaviour the fork changed and helpers the fork no longer calls merged cleanly and stayed broken across syncs. Co-Authored-By: Claude Opus 5.5 --- .agents/skills/sync-upstream/SKILL.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.agents/skills/sync-upstream/SKILL.md b/.agents/skills/sync-upstream/SKILL.md index ea64f77420bf1..9d95cf94acbe7 100644 --- a/.agents/skills/sync-upstream/SKILL.md +++ b/.agents/skills/sync-upstream/SKILL.md @@ -37,6 +37,12 @@ Then search for fork features that merged cleanly but are now dead, such as a pr newly added upstream switch. `git diff upstream/main -- ` shows everything the fork still differs by. +The reverse also merges cleanly: upstream tests and helpers written against behavior the fork +changed. List the upstream test changes in the range with +`git diff --stat $base upstream/main -- '*.test.*'`. Run the ones near fork features, and when one +asserts upstream's behavior, update it to the fork's. A shared helper whose only callers sit in +code the fork replaced is dead in the fork; delete it rather than leave it exported. + ### Files upstream split Git does not follow code that upstream moves into new files. A fork edit inside a moved block @@ -75,6 +81,13 @@ below is separate and needs the user's permission after the PR is open. `@t3tools/mobile` when they conflicted. - `vp test run ` for tests in conflicted files. - `vp check --fix ` on the resolved files, then `git diff --check`. +- `vp run check:changed`, after the merge commit exists. It covers the files that merged cleanly, + which the checks above never reach, and a clean merge skips the pre-commit hook. + +Fork CI never runs (see below), so this sync is the only place the fork's checks run beyond single +commits. A failure that also happens on `origin/main` was not caused by the merge, but it is not +done either: list it in the PR body, then fix it in a follow-up PR stacked on the sync branch +(`--base `) so it lands with the sync instead of becoming the next sync's baseline. Commit the resolution into the merge commit (`git add` then `git commit --no-edit`), not as a follow-up commit, so the merge stays one reviewable unit.