Browser: add ChatGPT Scheduled task controls - #322
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed August 2, 2026, 2:20 PM ET / 18:20 UTC. ClawSweeper reviewWhat this changesThis PR adds Merge readiness⛔ Blocked until real behavior proof is added - 9 items remain Keep this PR open for human review. It adds a new public browser workflow, but the unchanged branch still treats any stable Scheduled-mode assistant text as success without verifying that ChatGPT created an active task; the claimed five-task smoke also has no inspectable after-fix artifact. Likely related people: Peter Steinberger (high confidence, current browser completion path), StartupBros (medium confidence, prior completion-gate work), and Derek Zeng (medium confidence, prior merged browser fixes). Priority: P2 Review scores
Verification
How this fits togetherOracle’s browser engine configures and drives a ChatGPT Chrome session, waits for a completed assistant turn, then saves the resulting conversation and runtime metadata. This PR adds a Scheduled-page submission mode and an optional sidebar-pinning step after completion. flowchart LR
CLI[Browser CLI flags] --> Config[Browser configuration]
Config --> Scheduled[ChatGPT Scheduled page]
Scheduled --> Submit[Prompt submission and handoff]
Submit --> Completion[Assistant completion check]
Completion --> Verify[Verify active Scheduled task]
Verify --> Pin[Optional conversation pin]
Pin --> Metadata[Saved session metadata]
Decision needed
Why: This is a new operator-facing workflow and configuration surface; source review can identify unsafe success criteria but cannot determine whether maintainers want to own this ChatGPT UI-dependent contract. Before merge
Findings
Agent review detailsSecurityNone. Review metrics
Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Keep Scheduled mode fail-closed until it verifies an active task row associated with the submitted task before reporting success, then attach redacted live evidence showing creation, task-list verification, canonical conversation handoff, and pinning. Do we have a high-confidence way to reproduce the issue? No high-confidence live reproduction artifact is available. Source inspection does establish the problematic path: stable response text can complete Scheduled mode without querying an active Scheduled-task row. Is this the best way to solve the issue? No. The proposed stable-text fallback may be useful for ChatGPT’s different confirmation UI, but it must be paired with explicit active-task verification rather than treating assistant prose as evidence that the task exists. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against f5c087616b55. LabelsLabel justifications:
EvidenceWhat I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
HistoryReview history (23 earlier review cycles; latest 8 shown)
|
|
Closing per the maintainer review and the detailed analysis already posted above. The implementation can drive the scheduled-task controls, but it does not verify the durable result in the programmatic task row. That means Oracle can report success after an interaction without proving that ChatGPT actually created or changed the scheduled task, which violates the fail-closed quality bar for browser automation. Thank you for exploring the workflow. |
Summary
--browser-scheduled-taskto submit prompts through ChatGPT's/scheduledcomposer and verify the Scheduled-specific conversation handoff--browser-pin-conversationto pin the resulting source conversation and fail closed unless the sidebar exposes the verifiedUnpinstateWEB:conversation IDs with canonical IDs/scheduledURLs at both CLI and browser-library boundariesValidation
pnpm run checkpnpm test(1,567 passed, 43 skipped)pnpm run docs:checkpnpm run buildUnpinstateNotes
Normal browser runs retain the existing strict action-bar completion gate. The stable-text fallback is scoped only to
scheduledTaskMode, after the/scheduledcomposer has handed off to a conversation and while no stop control or strong thinking activity is present.