From e7e15b92bda98b50de40f7e5a009a7555456766e Mon Sep 17 00:00:00 2001 From: Gustavo Madeira Santana Date: Mon, 30 Mar 2026 18:43:14 -0400 Subject: [PATCH] Chore: remove orphaned agent workflow --- .agent/workflows/update_clawdbot.md | 380 ---------------------------- 1 file changed, 380 deletions(-) delete mode 100644 .agent/workflows/update_clawdbot.md diff --git a/.agent/workflows/update_clawdbot.md b/.agent/workflows/update_clawdbot.md deleted file mode 100644 index 0543e7c2a68..00000000000 --- a/.agent/workflows/update_clawdbot.md +++ /dev/null @@ -1,380 +0,0 @@ ---- -description: Update OpenClaw from upstream when branch has diverged (ahead/behind) ---- - -# OpenClaw Upstream Sync Workflow - -Use this workflow when your fork has diverged from upstream (e.g., "18 commits ahead, 29 commits behind"). - -## Quick Reference - -```bash -# Check divergence status -git fetch upstream && git rev-list --left-right --count main...upstream/main - -# Full sync (rebase preferred) -git fetch upstream && git rebase upstream/main && pnpm install && pnpm build && ./scripts/restart-mac.sh - -# Check for Swift 6.2 issues after sync -grep -r "FileManager\.default\|Thread\.isMainThread" src/ apps/ --include="*.swift" -``` - ---- - -## Step 1: Assess Divergence - -```bash -git fetch upstream -git log --oneline --left-right main...upstream/main | head -20 -``` - -This shows: - -- `<` = your local commits (ahead) -- `>` = upstream commits you're missing (behind) - -**Decision point:** - -- Few local commits, many upstream → **Rebase** (cleaner history) -- Many local commits or shared branch → **Merge** (preserves history) - ---- - -## Step 2A: Rebase Strategy (Preferred) - -Replays your commits on top of upstream. Results in linear history. - -```bash -# Ensure working tree is clean -git status - -# Rebase onto upstream -git rebase upstream/main -``` - -### Handling Rebase Conflicts - -```bash -# When conflicts occur: -# 1. Fix conflicts in the listed files -# 2. Stage resolved files -git add - -# 3. Continue rebase -git rebase --continue - -# If a commit is no longer needed (already in upstream): -git rebase --skip - -# To abort and return to original state: -git rebase --abort -``` - -### Common Conflict Patterns - -| File | Resolution | -| ---------------- | ------------------------------------------------ | -| `package.json` | Take upstream deps, keep local scripts if needed | -| `pnpm-lock.yaml` | Accept upstream, regenerate with `pnpm install` | -| `*.patch` files | Usually take upstream version | -| Source files | Merge logic carefully, prefer upstream structure | - ---- - -## Step 2B: Merge Strategy (Alternative) - -Preserves all history with a merge commit. - -```bash -git merge upstream/main --no-edit -``` - -Resolve conflicts same as rebase, then: - -```bash -git add -git commit -``` - ---- - -## Step 3: Rebuild Everything - -After sync completes: - -```bash -# Install dependencies (regenerates lock if needed) -pnpm install - -# Build TypeScript -pnpm build - -# Build UI assets -pnpm ui:build - -# Run diagnostics -pnpm clawdbot doctor -``` - ---- - -## Step 4: Rebuild macOS App - -```bash -# Full rebuild, sign, and launch -./scripts/restart-mac.sh - -# Or just package without restart -pnpm mac:package -``` - -### Install to /Applications - -```bash -# Kill running app -pkill -x "OpenClaw" || true - -# Move old version -mv /Applications/OpenClaw.app /tmp/OpenClaw-backup.app - -# Install new build -cp -R dist/OpenClaw.app /Applications/ - -# Launch -open /Applications/OpenClaw.app -``` - ---- - -## Step 4A: Verify macOS App & Agent - -After rebuilding the macOS app, always verify it works correctly: - -```bash -# Check gateway health -pnpm clawdbot health - -# Verify no zombie processes -ps aux | grep -E "(clawdbot|gateway)" | grep -v grep - -# Test agent functionality by sending a verification message -pnpm clawdbot agent --message "Verification: macOS app rebuild successful - agent is responding." --session-id YOUR_TELEGRAM_SESSION_ID - -# Confirm the message was received on Telegram -# (Check your Telegram chat with the bot) -``` - -**Important:** Always wait for the Telegram verification message before proceeding. If the agent doesn't respond, troubleshoot the gateway or model configuration before pushing. - ---- - -## Step 5: Handle Swift/macOS Build Issues (Common After Upstream Sync) - -Upstream updates may introduce Swift 6.2 / macOS 26 SDK incompatibilities. Use analyze-mode for systematic debugging: - -### Analyze-Mode Investigation - -```bash -# Gather context with parallel agents -morph-mcp_warpgrep_codebase_search search_string="Find deprecated FileManager.default and Thread.isMainThread usages in Swift files" repo_path="/Volumes/Main SSD/Developer/clawdis" -morph-mcp_warpgrep_codebase_search search_string="Locate Peekaboo submodule and macOS app Swift files with concurrency issues" repo_path="/Volumes/Main SSD/Developer/clawdis" -``` - -### Common Swift 6.2 Fixes - -**FileManager.default Deprecation:** - -```bash -# Search for deprecated usage -grep -r "FileManager\.default" src/ apps/ --include="*.swift" - -# Replace with proper initialization -# OLD: FileManager.default -# NEW: FileManager() -``` - -**Thread.isMainThread Deprecation:** - -```bash -# Search for deprecated usage -grep -r "Thread\.isMainThread" src/ apps/ --include="*.swift" - -# Replace with modern concurrency check -# OLD: Thread.isMainThread -# NEW: await MainActor.run { ... } or DispatchQueue.main.sync { ... } -``` - -### Peekaboo Submodule Fixes - -```bash -# Check Peekaboo for concurrency issues -cd src/canvas-host/a2ui -grep -r "Thread\.isMainThread\|FileManager\.default" . --include="*.swift" - -# Fix and rebuild submodule -cd /Volumes/Main SSD/Developer/clawdis -pnpm canvas:a2ui:bundle -``` - -### macOS App Concurrency Fixes - -```bash -# Check macOS app for issues -grep -r "Thread\.isMainThread\|FileManager\.default" apps/macos/ --include="*.swift" - -# Clean and rebuild after fixes -cd apps/macos && rm -rf .build .swiftpm -./scripts/restart-mac.sh -``` - -### Model Configuration Updates - -If upstream introduced new model configurations: - -```bash -# Check for OpenRouter API key requirements -grep -r "openrouter\|OPENROUTER" src/ --include="*.ts" --include="*.js" - -# Update openclaw.json with fallback chains -# Add model fallback configurations as needed -``` - ---- - -## Step 6: Verify & Push - -```bash -# Verify everything works -pnpm clawdbot health -pnpm test - -# Push (force required after rebase) -git push origin main --force-with-lease - -# Or regular push after merge -git push origin main -``` - ---- - -## Troubleshooting - -### Build Fails After Sync - -```bash -# Clean and rebuild -rm -rf node_modules dist -pnpm install -pnpm build -``` - -### Type Errors (Bun/Node Incompatibility) - -Common issue: `fetch.preconnect` type mismatch. Fix by using `FetchLike` type instead of `typeof fetch`. - -### macOS App Crashes on Launch - -Usually resource bundle mismatch. Full rebuild required: - -```bash -cd apps/macos && rm -rf .build .swiftpm -./scripts/restart-mac.sh -``` - -### Patch Failures - -```bash -# Check patch status -pnpm install 2>&1 | grep -i patch - -# If patches fail, they may need updating for new dep versions -# Check patches/ directory against package.json patchedDependencies -``` - -### Swift 6.2 / macOS 26 SDK Build Failures - -**Symptoms:** Build fails with deprecation warnings about `FileManager.default` or `Thread.isMainThread` - -**Search-Mode Investigation:** - -```bash -# Exhaustive search for deprecated APIs -morph-mcp_warpgrep_codebase_search search_string="Find all Swift files using deprecated FileManager.default or Thread.isMainThread" repo_path="/Volumes/Main SSD/Developer/clawdis" -``` - -**Quick Fix Commands:** - -```bash -# Find all affected files -find . -name "*.swift" -exec grep -l "FileManager\.default\|Thread\.isMainThread" {} \; - -# Replace FileManager.default with FileManager() -find . -name "*.swift" -exec sed -i '' 's/FileManager\.default/FileManager()/g' {} \; - -# For Thread.isMainThread, need manual review of each usage -grep -rn "Thread\.isMainThread" --include="*.swift" . -``` - -**Rebuild After Fixes:** - -```bash -# Clean all build artifacts -rm -rf apps/macos/.build apps/macos/.swiftpm -rm -rf src/canvas-host/a2ui/.build - -# Rebuild Peekaboo bundle -pnpm canvas:a2ui:bundle - -# Full macOS rebuild -./scripts/restart-mac.sh -``` - ---- - -## Automation Script - -Save as `scripts/sync-upstream.sh`: - -```bash -#!/usr/bin/env bash -set -euo pipefail - -echo "==> Fetching upstream..." -git fetch upstream - -echo "==> Current divergence:" -git rev-list --left-right --count main...upstream/main - -echo "==> Rebasing onto upstream/main..." -git rebase upstream/main - -echo "==> Installing dependencies..." -pnpm install - -echo "==> Building..." -pnpm build -pnpm ui:build - -echo "==> Running doctor..." -pnpm clawdbot doctor - -echo "==> Rebuilding macOS app..." -./scripts/restart-mac.sh - -echo "==> Verifying gateway health..." -pnpm clawdbot health - -echo "==> Checking for Swift 6.2 compatibility issues..." -if grep -r "FileManager\.default\|Thread\.isMainThread" src/ apps/ --include="*.swift" --quiet; then - echo "⚠️ Found potential Swift 6.2 deprecated API usage" - echo " Run manual fixes or use analyze-mode investigation" -else - echo "✅ No obvious Swift deprecation issues found" -fi - -echo "==> Testing agent functionality..." -# Note: Update YOUR_TELEGRAM_SESSION_ID with actual session ID -pnpm clawdbot agent --message "Verification: Upstream sync and macOS rebuild completed successfully." --session-id YOUR_TELEGRAM_SESSION_ID || echo "Warning: Agent test failed - check Telegram for verification message" - -echo "==> Done! Check Telegram for verification message, then run 'git push --force-with-lease' when ready." -```