Repository navigation
feat(skills): a sync-upstream routine that proves fork changes survive - #52
Merged
Merged
Conversation
Upstream syncs were done by hand and lost fork changes without anyone noticing. The new sync-upstream skill makes the sync a fixed routine: branch from fork main, merge, run fork-delta-check.py to list every fork line the merge dropped, run every test suite one at a time, check web and iOS live, open a PR, and release only from the merged main. ship-mac.sh now refuses anything but a clean origin/main and creates the release as a draft pinned to the built commit, so going live stays a separate, approved step. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Thread transfer impact
This comment will update automatically after the next completed run. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upstream syncs were done by hand. The 0.0.76 sync lost fork changes, and they were only caught by a manual comparison. The release was also cut from a branch commit instead of merged main.
This adds a
sync-upstreamskill with a fixed routine:fork-delta-check.pylists every line fork main added on top of upstream that is missing after the merge. It sorts them into DROPPED (nothing upstream did explains it) and REWRITTEN (upstream rewrote the code the fork changed). Lines upstream itself later removed are left out.run-suites.shruns every package's tests one at a time. Running them in parallel gets web, mobile and relay killed for memory on a Mac. On macOS the desktop suite gets a case-sensitive temp volume, so its Linux icon tests pass.ship-mac.shbuilds only from a cleanorigin/mainand creates the release as a draft pinned to the built commit. Publishing stays a separate, approved step.Proof:
82b95065db): flags the Codex usage-limit and storage settings losses, both fixed by hand in that sync.Effect.fn, upstream's own Claude auth check, the subagent picker moved intoComposerControlsBar). The rest are tests or dead code.origin/main.🤖 Generated with Claude Code
Model: Claude Opus 5.5, harness: Claude Code in PseudoCode