Skip to content

Recover empty stopped responses and select Latest Pro - #23

Merged
JJLiebig merged 3 commits into
mainfrom
feat/stopped-response-continue
Sep 10, 2026
Merged

JJLiebig merged 3 commits into
mainfrom
feat/stopped-response-continue

Conversation

@JJLiebig

@JJLiebig JJLiebig commented Sep 10, 2026 •

Copy link
Copy Markdown
Owner

When ChatGPT stops thinking without an answer, ask-pro now sends continue once. A second empty stop returns control with an explicit resume-or-retry choice, while preserving unsent drafts and preventing duplicate automatic sends across recovery paths.

Fresh runs select the literal Latest model and Pro effort. Active tool work is reported as thinking, progress panels are excluded from answer extraction, and unfinished responses time out instead of being saved as complete.

Validation: focused continuation, CLI, response, picker, thinking, runner and reattach tests passed; build, lint/typecheck, formatting, plugin validation and package dry-run passed. Both implementation slices passed fast Review Suite. Installed-plugin live dogfood completed in 142 seconds: Latest + Pro, context upload, active thinking, source-aware answer capture and successful harvest. One post-capture Chrome cleanup warning did not affect the answer. Full suite and hosted CI were waived in favor of relevant local checks.

Summary by CodeRabbit

  • New Features

    • Automatically selects ChatGPT’s rolling Latest model with Pro intelligence.
    • Recognizes active tool work as ongoing thinking and excludes tool-status panels from answers.
    • Automatically sends one “continue” prompt when ChatGPT stops without answering.
    • Provides resume or retry guidance when generation stops again.
  • Bug Fixes

    • Improved timeout and incomplete-response handling across browser and CLI workflows.
    • Preserves recoverable session status during interrupted or reattached sessions.
  • Documentation

    • Updated usage guidance, risk notes, and testing instructions to reflect the Latest model and continuation behavior.

@JJLiebig
JJLiebig merged commit eedac40 into main Sep 10, 2026
3 of 4 checks passed
@coderabbitai

coderabbitai Bot commented Sep 10, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 9109b4f9-4d95-4bc6-8333-6aaa78e600dd

📥 Commits

Reviewing files that changed from the base of the PR and between 9afa747 and a9b3206.

📒 Files selected for processing (24)
  • AGENTS.md
  • CHANGELOG.md
  • README.md
  • bin/ask-pro-cli.ts
  • docs/05-command-surface.md
  • docs/11-risk-register.md
  • docs/manual-tests.md
  • docs/windows-work.md
  • skills/ask-pro/SKILL.md
  • src/ask-pro/browserRunner.ts
  • src/browser/actions/assistantResponse.ts
  • src/browser/actions/modelSelection.ts
  • src/browser/actions/promptComposer.ts
  • src/browser/actions/thinkingStatus.ts
  • src/browser/chatgptModelCatalog.ts
  • src/browser/errors.ts
  • src/browser/index.ts
  • src/browser/reattach.ts
  • tests/ask-pro/browserRunner.test.ts
  • tests/ask-pro/cli.test.ts
  • tests/browser/assistantResponse.test.ts
  • tests/browser/modelSelection.test.ts
  • tests/browser/reattach.test.ts
  • tests/browser/thinkingStatus.test.ts

📝 Walkthrough

Walkthrough

The browser flow now selects ChatGPT’s Latest model with Pro intelligence. It excludes streaming status panels, detects stopped responses, sends one automatic continue, and reports repeated stops as INCOMPLETE_ANSWER with resume-or-retry guidance.

Changes

Latest model selection

Layer / File(s) Summary
Latest model selection and validation
src/browser/chatgptModelCatalog.ts, src/browser/actions/modelSelection.ts, src/ask-pro/browserRunner.ts, tests/browser/modelSelection.test.ts, tests/ask-pro/browserRunner.test.ts
The browser flow targets the literal Latest option and rejects dated alternatives. Browser-runner expectations and model-selection tests use the new label.
Selection documentation
AGENTS.md, README.md, docs/05-command-surface.md, docs/11-risk-register.md, docs/manual-tests.md, docs/windows-work.md, skills/ask-pro/SKILL.md
The documented picker flow now selects Latest before setting Pro intelligence.

Stopped-response recovery

Layer / File(s) Summary
Response detection and continuation
src/browser/errors.ts, src/browser/actions/assistantResponse.ts, src/browser/actions/promptComposer.ts, src/browser/actions/thinkingStatus.ts, tests/browser/assistantResponse.test.ts, tests/browser/thinkingStatus.test.ts
Response snapshots exclude streaming status panels and detect empty Stopped thinking turns. The wait loop sends one continue prompt and raises AssistantStoppedError when continuation is exhausted.
Session and CLI handling
src/browser/index.ts, src/browser/reattach.ts, src/ask-pro/browserRunner.ts, bin/ask-pro-cli.ts, tests/ask-pro/browserRunner.test.ts, tests/browser/reattach.test.ts, tests/ask-pro/cli.test.ts
Browser sessions record INCOMPLETE_ANSWER with reason stopped_without_answer. The CLI prints resume-or-retry guidance, and reattach flows preserve the stopped error.
Behavior records
CHANGELOG.md, docs/windows-work.md, skills/ask-pro/SKILL.md
The changelog and operational guidance describe automatic continuation and explicit resume or retry behavior.

Estimated code review effort: 4 (Complex) | ~45 minutes

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/stopped-response-continue

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

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