Skip to content

feat(core): add read-only progress diagnostics (#1060)#1103

Open
shaun0927 wants to merge 1 commit into
developfrom
feat/1060-cua-adoption
Open

feat(core): add read-only progress diagnostics (#1060)#1103
shaun0927 wants to merge 1 commit into
developfrom
feat/1060-cua-adoption

Conversation

@shaun0927
Copy link
Copy Markdown
Owner

Closes #1060.

Directionality / overlap check

  • Builds on existing ProgressTracker and activity-tracker telemetry instead of adding a new autonomous harness loop.
  • Read-only and advisory only: no stop, retry, checkpoint restore, navigation, browser action, or LLM call is executed by this tool.
  • Checked current open PRs before implementation; no open PR adds an oc_progress_status surface or equivalent anti-wandering diagnostic endpoint.

Summary

  • Adds oc_progress_status with structured progressing | stalling | stuck diagnostics.
  • Reports bounded counters for repeated errors, non-progress streaks, screenshot loops, coordinate-click streaks, repeated tool calls, and two-tool oscillation.
  • Returns capped advisory next-call hints such as refresh_state, switch_strategy, checkpoint_and_recover, or stop_episode without performing those actions.
  • Redacts sensitive recent-call argument summaries when includeRecentCalls is requested.
  • Keeps the tool available during unhealthy sessions by skipping session initialization and treating it as state-stable/high-frequency.

Verification

  • npm test -- --runInBand tests/tools/oc-progress-status.test.ts
  • npm run lint:changed
  • npm run build (after npm install to restore yaml from current develop dependencies)

Merge-after validation with OpenChrome

  1. Start OpenChrome MCP and perform three observation-only calls (read_page, tabs_context, computer screenshot), then call oc_progress_status({ includeRecentCalls: true }); expect status: "stalling", redacted compact call summaries, and suggestedPolicy: "refresh_state".
  2. Perform three failed stale-ref interactions, then call oc_progress_status; expect status: "stuck", consecutiveErrors >= 3, and suggestedPolicy: "checkpoint_and_recover".
  3. Perform three repeated coordinate clicks without a DOM/ref-based action, then call oc_progress_status; expect coordinateClickStreak >= 3, topSignal.rule: "coordinate-click-stall", and suggestedPolicy: "switch_strategy".
  4. Confirm none of the above calls closes tabs, restores checkpoints, retries actions, or mutates browser state beyond recording the diagnostic call itself.

Not tested

  • Live browser smoke was not run in this worktree; the PR includes deterministic unit coverage for the same scenarios.

Constraint: OpenChrome core may expose deterministic session facts but must not stop, retry, or recover on behalf of the host.\nRejected: Automatic stuck-session recovery in core | would turn hinting into hidden workflow policy and conflict with the pilot boundary.\nConfidence: high\nScope-risk: moderate\nDirective: Keep recovery execution in pilot-only tools; oc_progress_status should remain advisory and side-effect-free.\nTested: npm test -- --runInBand tests/tools/oc-progress-status.test.ts; npm run build; npm run lint:changed\nNot-tested: Live MCP browser smoke with coordinate-click fixture
@gemini-code-assist
Copy link
Copy Markdown

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@qodo-code-review
Copy link
Copy Markdown

ⓘ You've reached your Qodo monthly free-tier limit. Reviews pause until next month — upgrade your plan to continue now, or link your paid account if you already have one.

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Repo admins can enable using credits for code reviews in their settings.

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