Skip to content

feat(ghl): GHL site profile, google_sso flow, PIT macros, manual-fallback protocol#5

Open
arc-web wants to merge 2 commits into
mainfrom
claude/feat/arc-browser-ghl-v1
Open

feat(ghl): GHL site profile, google_sso flow, PIT macros, manual-fallback protocol#5
arc-web wants to merge 2 commits into
mainfrom
claude/feat/arc-browser-ghl-v1

Conversation

@arc-web
Copy link
Copy Markdown
Owner

@arc-web arc-web commented May 18, 2026

Summary

  • Add app.gohighlevel.com to site_registry with google_sso flow + 2FA/captcha detect selectors + per-domain click-speed policy
  • Ship 7 dedicated GHL tools: ghl_auth_refresh, ghl_verify_session, ghl_switch_view, ghl_switch_subaccount, ghl_create_pit, ghl_list_pits, agentic_browser_send_prompt
  • Fix browser_snapshot regression (Patchright dropped page.accessibility namespace; new DOM walker replaces it)
  • Add reusable UI macro primitives: wait_for_hydration, extract_modal_text, tick_all_checkboxes, click_by_text
  • New agentic_browser_prompt helper posts to Discord #agentic-browser (ARC server, Agents category) and waits for human reply or /tmp/<session>_resume flag - used by 2FA pauses, captcha handoffs, manual-fallback offers
  • Add MANUAL_FALLBACK.md protocol: macros call agentic_browser_prompt on failure instead of silently falling back

Why

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 of arc-browser hardening v2 cycle.

Test plan

  • Module import clean (python -m arc_browser.server registers 31 tools, was 24)
  • All 7 new tools surface in MCP list_tools
  • Live e2e ghl_create_pit("agency", "stackpack-full", "all") against GHL UI (next session)
  • 2FA pause via real Google challenge (deferred until user triggers SSO challenge)
  • Modal-token scrape against actual PIT-display modal (deferred until e2e)

Linked Tasks

🤖 Generated with Claude Code

…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>
@arc-web
Copy link
Copy Markdown
Owner Author

arc-web commented May 19, 2026

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>
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.

1 participant