Skip to content

feat: Add agent-delegated discovery crawling#2

Merged
Desperado merged 2 commits intomainfrom
feat/agent-crawl-discovery
Mar 14, 2026
Merged

feat: Add agent-delegated discovery crawling#2
Desperado merged 2 commits intomainfrom
feat/agent-crawl-discovery

Conversation

@Desperado
Copy link
Contributor

Summary

  • Add crawl.go — chromedp-based browser crawl module for discovery crawling
  • Modify agent.go — poll for crawl sessions alongside test assignments

This enables the local agent to run AI crawl discovery using a local browser, sending page snapshots to the QualityMax server for LLM-based navigation decisions. Allows crawling sites behind firewalls, VPNs, and localhost.

Features

  • chromedp browser launch (headless by default, QAMAX_CRAWL_HEADED=true for debug)
  • DOM extraction via server-provided JS snapshot script
  • Screenshot capture at each step
  • Action execution: click, fill, select, combobox_select
  • Cookie consent dismissal
  • 3x retry with backoff on server errors
  • 10-minute session timeout, 5s per-action timeout

Companion PRs

Test plan

  • go build ./... passes
  • Agent polls /api/agent/{id}/crawl/pending without errors when no sessions
  • Full crawl session works against a test site

🤖 Generated with Claude Code

Crawl module (crawl.go):
- chromedp-based browser control for discovery crawling
- Snapshot capture, action execution (click/fill/select/combobox)
- Cookie consent dismissal, retry logic, session timeouts
- Agent polls /api/agent/{id}/crawl/pending alongside test assignments

Test suite (217 tests, 64% coverage):
- agent_test.go: registration, heartbeat, polling, artifacts, Run loop
- crawl_test.go: HTTP interaction, retry, snapshot/action parsing
- crawl_actions/browser_test.go: chromedp integration (QAMAX_BROWSER_TESTS=1)
- cmd_test.go + cmd_subprocess_test.go: CLI commands
- sysmetrics tests: CPU, memory, JSON serialization

Lint fixes: all errcheck violations resolved.
Bug fix: ExecuteTest cleans up activeTests on early returns.
CI: golangci-lint, race detection, coverage reports.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Desperado Desperado force-pushed the feat/agent-crawl-discovery branch from bbb9ba6 to a8664e8 Compare March 14, 2026 21:11
- 10 new tests for cmdCapture arg validation (subprocess pattern)
- 4 new tests for cmdLogin token callback flow (real HTTP server)
- Fix flaky heartbeat timing tests
- Coverage: 71.4% without browser, 81.2% with QAMAX_BROWSER_TESTS=1

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@Desperado Desperado merged commit 8d0121b into main Mar 14, 2026
1 check passed
@Desperado Desperado deleted the feat/agent-crawl-discovery branch March 14, 2026 21:39
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