Do not run complete verification for extract blocks or tasks without nav goal + disable complete verification for nav blocks in task v2 run (#1973)

This commit is contained in:
Shuchang Zheng
2025-03-19 18:16:55 -07:00
committed by GitHub
parent d211024adf
commit 32ad324af7
5 changed files with 32 additions and 2 deletions

View File

@@ -257,6 +257,7 @@ class ForgeAgent:
close_browser_on_completion: bool = True,
task_block: BaseTaskBlock | None = None,
browser_session_id: str | None = None,
complete_verification: bool = True,
) -> Tuple[Step, DetailedAgentStepOutput | None, Step | None]:
workflow_run: WorkflowRun | None = None
if task.workflow_run_id:
@@ -383,7 +384,12 @@ class ForgeAgent:
await self.register_async_operations(organization, task, page)
step, detailed_output = await self.agent_step(
task, step, browser_state, organization=organization, task_block=task_block
task,
step,
browser_state,
organization=organization,
task_block=task_block,
complete_verification=complete_verification,
)
await app.AGENT_FUNCTION.post_step_execution(task, step)
task = await self.update_task_errors_from_detailed_output(task, detailed_output)
@@ -519,6 +525,7 @@ class ForgeAgent:
close_browser_on_completion=close_browser_on_completion,
browser_session_id=browser_session_id,
task_block=task_block,
complete_verification=complete_verification,
)
elif settings.execute_all_steps() and next_step:
return await self.execute_step(
@@ -529,6 +536,7 @@ class ForgeAgent:
close_browser_on_completion=close_browser_on_completion,
browser_session_id=browser_session_id,
task_block=task_block,
complete_verification=complete_verification,
)
else:
LOG.info(
@@ -743,6 +751,7 @@ class ForgeAgent:
browser_state: BrowserState,
organization: Organization | None = None,
task_block: BaseTaskBlock | None = None,
complete_verification: bool = True,
) -> tuple[Step, DetailedAgentStepOutput]:
detailed_agent_step_output = DetailedAgentStepOutput(
scraped_page=None,
@@ -1072,7 +1081,13 @@ class ForgeAgent:
break
task_completes_on_download = task_block and task_block.complete_on_download and task.workflow_run_id
if not has_decisive_action and not task_completes_on_download and not isinstance(task_block, ActionBlock):
if (
not has_decisive_action
and not task_completes_on_download
and not isinstance(task_block, ActionBlock)
and complete_verification
and (task.navigation_goal or task.complete_criterion)
):
disable_user_goal_check = app.EXPERIMENTATION_PROVIDER.is_feature_enabled_cached(
"DISABLE_USER_GOAL_CHECK",
task.task_id,