Skip to content

Realistic live bench via camofox + shortlist crash fix #9

Description

@espetro

integration/out/comparison.json scored 0% on both arms — not a verdict on HTLM, a broken instrument: ~30-40% of tasks structurally unwinnable against a flagged, automation-detected headless Chromium (Cloudflare/CAPTCHA/access-denied), plus a real crash (PlanShortlist.shortlist_indices unbounded, minimax emits huge index lists, JSON truncates, pydantic fails, 4/20 htlm tasks lost). Swap in the anti-detection camofox browser (Camoufox/Firefox fork, REST API on :9377, own snapshot/action format — needs a bridge, not a drop-in for browser-use's BrowserSession) so the live A/B (llm vs htlm grounder, from #7) measures grounding, not bot-detection.

Plan: .agents/plans/2026-07-16-live-proof-of-work.md (Track A)

Deliverables:

  • integration/camofox_adapter.pysnapshot_to_page (camofox accessibility refs → integer index, camofox roles → map_mind2web._map_role categories) + action_to_camofox (action → REST call).
  • integration/run_bench_camofox.py (or --browser {chromium,camofox} flag on run_bench.py) — same loop/planner/judge, camofox session; keep the llm/htlm A/B intact.
  • integration/planner.py:89 crash fix — bound shortlist_indices (max_length=64, matching the prompt's stated cap) and/or hard-truncate in Planner.shortlist. Land regardless of the rest of this track.
  • Bucket/skip judge-flagged impossible_task/captcha rows so the reported number reflects winnable tasks only.

Success = a non-degenerate live success number (not both-arms-0%) that separates the htlm and llm arms, written to integration/out/ with a short results note. Background/secondary to #8 — offline 91.2% stays the primary claim.

Metadata

Metadata

Assignees

No one assigned

    Labels

    infraClassification: infra

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions