Skip to content

fix: resilient two-phase setup — skills install without bun/Playwright - #683

Closed
jteng wants to merge 2 commits into
garrytan:mainfrom
jteng:fix/resilient-setup
Closed

jteng wants to merge 2 commits into
garrytan:mainfrom
jteng:fix/resilient-setup

Conversation

@jteng

@jteng jteng commented Mar 30, 2026 •

Copy link
Copy Markdown

Summary

  • Restructures ./setup into Phase 1 (skill linking — zero deps beyond bash+git) and Phase 2 (browse build + Playwright — requires bun)
  • Phase 1 always runs first, so Claude skills are linked on any system — even corporate laptops that can't install bun or Playwright
  • Phase 2 failures produce warnings, not fatal exits. Unified summary at end reports what succeeded

What changed

  • Fatal bun check → conditional HAS_BUN flag
  • Skill linking moved before browse build
  • Codex/Factory linking guarded on .agents//.factory/ directory existence
  • Kiro browse symlinks guarded on browse/dist existence
  • Phase 2 wrapped in set +e / set -e for error tolerance
  • 8 new structural tests for phase ordering and resilience

Test plan

  • bun test passes (633 tests, 0 failures)
  • Run ./setup without bun → links Claude skills, warns about rest, no fatal exit
  • Run ./setup with bun but Playwright fails → no exit 1 in browse build or Playwright sections
  • Run ./setup normally → identical behavior to current, plus unified summary

🤖 Generated with Claude Code

Jing Teng and others added 2 commits March 30, 2026 17:16
…wright

Restructure setup into Phase 1 (skill linking, zero deps beyond bash+git)
and Phase 2 (browse build + Playwright, requires bun). Phase 1 always runs
first so Claude skills are linked on any system. Phase 2 failures produce
warnings, not exits. Adds unified summary at end.

- Convert fatal bun check to conditional HAS_BUN flag
- Move skill linking before browse build
- Guard Codex/Factory linking on .agents/.factory directory existence
- Guard Kiro browse symlinks on browse/dist existence
- Wrap Phase 2 in set +e / set -e for error tolerance
- Add 8 structural tests for phase ordering and resilience

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Resolve conflict in setup: keep resilient two-phase approach (HAS_BUN flag)
while incorporating upstream's security-hardened bun install instructions
with checksum verification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@time-attack

Copy link
Copy Markdown
Contributor

@16francej — recommend closing this PR as superseded by #2233. It is far behind current setup behavior and has failure-handling defects; #2233 is the current containment work, while broader no-Bun support requires a separate product decision. Credit #683 for the earlier skill-survival insight, but do not carry over the branch code.

@capy-ai

capy-ai Bot commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

Thanks for this, @jteng. The fix is now on main: setup was restructured into phases with staged swaps, so this rewrite no longer applies (see v1.91.16.0, #3014). Closing as superseded; if you still see the problem on the latest gstack, please open an issue with ./setup --status output.

@capy-ai capy-ai Bot closed this Oct 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants