Skip to content

feat: redesign fork-dependent systems for overlay-build world (#1097) - #1110

Merged
jeonghun-jj-lee merged 1 commit into
jj/1091-absorb-opencode-forkfrom
jj/1097-system-redesigns
Sep 13, 2026
Merged

jeonghun-jj-lee merged 1 commit into
jj/1091-absorb-opencode-forkfrom
jj/1097-system-redesigns

Conversation

@jeonghun-jj-lee

Copy link
Copy Markdown
Contributor

Summary

Redesigns the 5 systems that assumed a live fork checkout, completing Phase 4a of the fork-absorption campaign (#1091).

Systems redesigned

System Files Delta What changed
Rebuild chat_bridge.ts, main_source_resolver.ts -120 lines Unified to single overlay-build path; no local/main mode split
repo-sync scripts/repo-sync.sh ×2 rewritten --fork exits 2 with explanation; fork access check → overlay manifest health
Doctor surfaces.ts refactored Staleness via anomalyco/opencode releases; rootRepoFork optional; --upstream-version flag for hermetic testing
Upgrade upgrade.ts -20 lines materialize → build:binary → smoke → freeze; operates on rootRepoAmicode
VSIX build chat_bridge.ts simplified 4-step flow; no opencodePath needed; no AMICODE_OPENCODE_SRC

Net delta

14 files changed, 267 insertions, 387 deletions — net reduction of 120 lines.

Verification

  • amico-run: 96 test files, 1621 tests, all pass
  • Extension: 3512/3516 pass; 4 failures are pre-existing on base (skills_integrity ×2, service_runner app-dist, clipboard-image timeout)
  • Boot smoke: pass

Notes

  • checkPendingPromotion in main_source_resolver.ts still queries local/amicode but is informational-only and silently degrades — cleanup deferred to S6
  • Fork repo fixtures in test/helpers.ts remain for backward compat — test migration is S6's scope
  • bun is now required for all local binary builds (accepted regression, documented)

Closes #1097. Part of #1091.

Redesign 5 systems that assumed a live fork checkout:
- Rebuild: uses build:binary from overlay tree (single mode, bun required)
- repo-sync: retire --fork mode, remove fork access check, add overlay health
- Doctor: staleness via anomalyco/opencode releases, not fork tags
- Upgrade: amicode repo git discipline + build:binary, not fork checkout
- VSIX build: remove AMICODE_OPENCODE_SRC, use build:binary

Key changes:
- SurfaceContext.rootRepoFork is now optional (deprecated for S6 migration)
- SurfaceContext.upstreamVersion replaces fork-tag-based staleness
- queryUpstreamVersion() queries gh api repos/anomalyco/opencode/releases/latest
- serverBinaryVerb operates on rootRepoAmicode, not rootRepoFork
- Fixture constants updated: FUTURE_BUILD/PAST_BUILD use meaningful versions

Part of fork-absorption campaign #1091.
@jeonghun-jj-lee jeonghun-jj-lee added the afk Implementable without human interaction label Sep 13, 2026
@coderabbitai

coderabbitai Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 29f40788-c5ae-49cb-961c-e648a813325d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@jeonghun-jj-lee
jeonghun-jj-lee marked this pull request as ready for review September 13, 2026 23:22
@jeonghun-jj-lee
jeonghun-jj-lee merged commit 32b8b4f into jj/1091-absorb-opencode-fork Sep 13, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

afk Implementable without human interaction

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant