feat(ghl): GHL site profile, google_sso flow, PIT macros, manual-fallback protocol#5
feat(ghl): GHL site profile, google_sso flow, PIT macros, manual-fallback protocol#5arc-web wants to merge 2 commits into
Conversation
…fallback protocol - arc_browser/config/site_registry.json: add app.gohighlevel.com entry with google_sso flow, 2FA + captcha detect selectors, per-domain click-speed policy - arc_browser/browser.py: extend auto_login() to branch on auth.flow=google_sso; add _login_google_sso, wait_for_hydration, extract_modal_text, tick_all_checkboxes, click_by_text helpers - arc_browser/server.py: fix browser_snapshot (Patchright dropped page.accessibility - DOM walker replacement); add 7 new MCP tools: ghl_auth_refresh, ghl_verify_session, ghl_switch_view, ghl_switch_subaccount, ghl_create_pit, ghl_list_pits, agentic_browser_send_prompt - arc_browser/utils/prompt.py: agentic_browser_prompt helper posts to Discord #agentic-browser, polls for human reply or /tmp/<session>_resume flag - MANUAL_FALLBACK.md: manual-fallback protocol - agent asks user before falling back to manual click-through, never silently Closes COMM-36, COMM-37, COMM-38, COMM-39, COMM-40, COMM-58, COMM-59, COMM-60 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Readiness review on 2026-05-19 JST:\n\n- Local branch: /Users/home/ai/tools/browser/arc-browser on claude/feat/arc-browser-ghl-v1, clean.\n- PR state: OPEN, mergeStateStatus CLEAN, head dbd53a1.\n- Static verification passed: /opt/homebrew/bin/python3 -m py_compile arc_browser/browser.py arc_browser/server.py arc_browser/utils/prompt.py.\n- Unit verification passed: /opt/homebrew/bin/python3 -m pytest -q tests/test_google_cloud.py, 4 passed.\n- Diff whitespace check passed: git diff --check origin/main..HEAD.\n- MCP smoke passed structurally: /opt/homebrew/bin/python3 scripts/smoke_mcp.py listed 31 tools and confirmed google-cloud helper tools registered.\n- Remaining risk: smoke output reports browser_camofox_health={"ok": false, "error": "sidecar not reachable at http://127.0.0.1:9377"}.\n- Remaining PR body gaps: live e2e ghl_create_pit("agency", "stackpack-full", "all"), real Google 2FA pause, and modal-token scrape are still unchecked.\n\nRecommendation: keep this PR open in Needs Approval until the Camofox sidecar/runtime path and live GHL e2e checks are verified, then merge if those pass. |
Adds PR template checklist + CI workflow caller (reusable workflow at arc-web/claude-skills).
Adds AGENTS.md / instruction-file reference to canonical rule where clean.
Rule: agents do not invent durations ('30min', 'quick task'). Real
deadlines from humans, human-set Plane time fields, calendar dates allowed.
See https://github.com/arc-web/claude-skills/blob/main/house-rules/no-fabricated-estimates.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
app.gohighlevel.comto site_registry with google_sso flow + 2FA/captcha detect selectors + per-domain click-speed policyghl_auth_refresh,ghl_verify_session,ghl_switch_view,ghl_switch_subaccount,ghl_create_pit,ghl_list_pits,agentic_browser_send_promptbrowser_snapshotregression (Patchright droppedpage.accessibilitynamespace; new DOM walker replaces it)wait_for_hydration,extract_modal_text,tick_all_checkboxes,click_by_textagentic_browser_prompthelper posts to Discord#agentic-browser(ARC server, Agents category) and waits for human reply or/tmp/<session>_resumeflag - used by 2FA pauses, captcha handoffs, manual-fallback offersMANUAL_FALLBACK.mdprotocol: macros callagentic_browser_prompton failure instead of silently falling backWhy
StackPack GHL PIT-creation flow surfaced gaps: no GHL site recipe, no PIT macro, broken snapshot, no human-pause hook. Full friction audit:
~/.claude/plans/arc_browser_ghl_gaps_and_improvements.md. P1 ofarc-browser hardening v2cycle.Test plan
python -m arc_browser.serverregisters 31 tools, was 24)list_toolsghl_create_pit("agency", "stackpack-full", "all")against GHL UI (next session)Linked Tasks
🤖 Generated with Claude Code