You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[browser] Extract the generic browser-task engine from the apply loop #70
[browser] Extract the generic browser-task engine from the apply loop
Factor the job-specific parts out of lib/apply-loop.ts so the pure loop can drive ANY objective, with zero behavior change to job-apply.
Do
Keep runApplyLoop / ApplyDeps<J extends BrowserJobBase> as the generic core (it already is).
Move job-specific pieces behind the decide dep + a pluggable prompt: applySystemPrompt, decideAction, and the job-only finish outcomes (submitted/ready/expired/blocked). Introduce a generic outcome set (done/blocked/needs_input/failed/...) the apply variant maps onto.
No new entry points here — apply keeps calling the same code paths.
Acceptance
Job-apply behavior + tests unchanged (full apply suite green).
The generic engine is importable without pulling in job-specific prompt/outcomes.
Part of the browser-generalization epic. Blocks the rest.
Closing as implemented through the browser-task work on main. Evidence: BrowserTaskWorkflow uses the generic runApplyLoop with browser-task-specific prompt/decision in workers/api/src/lib/browser-task-loop.ts, keeping the apply loop reusable without job-specific entry points.
Activity
serge-ivo commentedon Aug 6, 2026
Closing as implemented through the browser-task work on main. Evidence: BrowserTaskWorkflow uses the generic runApplyLoop with browser-task-specific prompt/decision in workers/api/src/lib/browser-task-loop.ts, keeping the apply loop reusable without job-specific entry points.
serge-ivo commentedon Aug 6, 2026
Implementation links: no associated PR was found; this landed direct on main as part of 9303abb.
feat(agents): a browser agent that cannot click Pay is one you can po…