Skip to content

Browser: add ChatGPT conversation import - #287

Closed
mustafa0x wants to merge 1 commit into
steipete:mainfrom
mustafa0x:import-chatgpt-conversation
Closed

Browser: add ChatGPT conversation import#287
mustafa0x wants to merge 1 commit into
steipete:mainfrom
mustafa0x:import-chatgpt-conversation

Conversation

@mustafa0x

@mustafa0x mustafa0x commented Jul 3, 2026

Copy link
Copy Markdown

Summary

  • add oracle import-chatgpt-url for registering manual ChatGPT conversation URLs as completed browser sessions
  • store sanitized browser metadata so normal --followup can resume through the existing fail-closed path
  • document the flow and add unit/integration coverage

Verification

  • pnpm exec vitest run tests/cli/importChatgptConversation.test.ts tests/cli/followup.test.ts tests/cli/integrationCli.test.ts
  • pnpm run check
  • pnpm run docs:check
  • pnpm run build
  • autoreview clean: no accepted/actionable findings reported

@clawsweeper

clawsweeper Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs real behavior proof before merge. Reviewed August 1, 2026, 1:03 PM ET / 17:03 UTC.

ClawSweeper review

What this changes

This PR adds oracle import-chatgpt-url to register a validated manually started ChatGPT conversation as a browser session that can later continue through --followup.

Merge readiness

Blocked until real behavior proof is added - 4 items remain

Keep this PR open for maintainer review rather than cleanup: current main has the fail-closed browser follow-up boundary but no equivalent manual conversation-import command, and the proposed implementation is focused with automated coverage. It still lacks the required after-fix proof of importing a real signed-in ChatGPT thread and successfully submitting its first follow-up; the new public workflow also needs maintainer acceptance.

Priority: P3
Reviewed head: fb7bb7c07f01b9f3fc2cc3b022507347cb0403e3
Owner decision: Required. See Decision needed.

Review scores

Measure Result What it means
Overall readiness 🧂 unranked krab (1/6) The implementation is focused and covered by targeted tests, but it is not merge-ready without real browser proof for this persisted-session workflow.
Proof confidence 🧂 unranked krab (1/6) Needs real behavior proof before merge: The PR body reports automated checks only; add redacted after-fix terminal output, logs, or a recording that shows a real signed-in conversation import and its first successful --followup, without exposing conversation contents, URLs, IP addresses, cookies, or credentials. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Needs proof Needs real behavior proof before merge: The PR body reports automated checks only; add redacted after-fix terminal output, logs, or a recording that shows a real signed-in conversation import and its first successful --followup, without exposing conversation contents, URLs, IP addresses, cookies, or credentials. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
Evidence reviewed 5 items Current resume boundary: Current main resolves a browser follow-up only through a recoverable ChatGPT conversation URL and resets the child run to non-research, non-archiving behavior; this is the safety boundary the PR reuses.
No current-main equivalent: A repository-wide search of CLI, source, docs, README, and tests found existing follow-up/recovery support but no import-chatgpt-url command or manual-conversation import path.
Proposed session semantics: The branch creates a browser session marked completed, stores the supplied conversation URL and ID as runtime/harvest metadata, and relies on the normal follow-up gate for the first actual browser interaction.
Findings None None.
Security None None.

How this fits together

Oracle browser sessions persist the ChatGPT conversation identity and browser configuration after a run. A later --followup resolves that stored identity, reopens the conversation in a signed-in browser, and refuses to submit if the URL or prior turns are not safe to resume.

flowchart LR
  A[Manual ChatGPT conversation URL] --> B[Import command]
  B --> C[Stored browser session metadata]
  C --> D[Follow-up command]
  D --> E[Signed-in URL and prior-turn checks]
  E --> F[Continue conversation or fail closed]
Loading

Decision needed

Question Recommendation
Should Oracle support manually importing a ChatGPT conversation URL as a first-class public browser-session workflow, with the imported session initially trusted only enough to reach the existing fail-closed follow-up checks? Sponsor after live proof: Keep the narrow implementation, require a current-main rebase plus redacted import-and-follow-up evidence, then merge if the browser checks behave as documented.

Why: The patch adds a durable CLI workflow rather than repairing an established broken contract; maintainers need to choose whether this is a supported product surface after reviewing real browser behavior.

Before merge

  • Add real behavior proof - Needs real behavior proof before merge: The PR body reports automated checks only; add redacted after-fix terminal output, logs, or a recording that shows a real signed-in conversation import and its first successful --followup, without exposing conversation contents, URLs, IP addresses, cookies, or credentials. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.
  • Resolve merge risk (P1) - The command records an unverified external conversation as a completed local session; although the first follow-up remains fail-closed, maintainers need real signed-in browser proof that the actual thread is reopened and prior-turn validation works.
  • Resolve merge risk (P1) - The branch predates current-main browser session lifecycle changes, so its automated results do not demonstrate compatibility with the current integration surface until it is rebased and rerun.
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Patch surface 10 files affected; 506 additions, 0 deletions The feature crosses CLI parsing, persisted session metadata, documentation, and tests, so a current-main end-to-end proof matters more than unit coverage alone.

Merge-risk options

Maintainer options:

  1. Rebase and prove the live resume (recommended)
    Refresh the branch against current main, then add redacted terminal output, logs, or a recording showing a real signed-in conversation import followed by a successful first --followup.
  2. Decline the new session type
    Pause or close the PR if maintainers prefer browser follow-ups to remain limited to sessions created by Oracle itself.

Technical review

Best possible solution:

Keep the existing fail-closed resume contract, rebase this focused command onto current main, and accept it only after a redacted live import followed by a successful first --followup proves the end-to-end workflow.

Do we have a high-confidence way to reproduce the issue?

No. The branch tests metadata construction and resolution, but the PR provides no real signed-in browser run showing that a manually imported conversation passes the first follow-up's prior-turn checks and submits successfully.

Is this the best way to solve the issue?

Unclear. Reusing the existing recoverable-URL and prior-turn gate is the narrow maintainable design, but the command should not be accepted until maintainers confirm the new public workflow and live proof verifies it on current main.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 68b8c51b0ee0.

Labels

Label justifications:

  • P3: This is an optional CLI/browser workflow enhancement rather than a regression in an existing supported path.
  • merge-risk: 🚨 session-state: The PR adds a new persisted completed-session form whose metadata controls later browser conversation resumption.
  • rating: 🧂 unranked krab: Overall readiness is 🧂 unranked krab; proof is 🧂 unranked krab and patch quality is 🐚 platinum hermit.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The PR body reports automated checks only; add redacted after-fix terminal output, logs, or a recording that shows a real signed-in conversation import and its first successful --followup, without exposing conversation contents, URLs, IP addresses, cookies, or credentials. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Evidence

What I checked:

  • Current resume boundary: Current main resolves a browser follow-up only through a recoverable ChatGPT conversation URL and resets the child run to non-research, non-archiving behavior; this is the safety boundary the PR reuses. (src/cli/followup.ts:25, 68b8c51b0ee0)
  • No current-main equivalent: A repository-wide search of CLI, source, docs, README, and tests found existing follow-up/recovery support but no import-chatgpt-url command or manual-conversation import path. (bin/oracle-cli.ts, 68b8c51b0ee0)
  • Proposed session semantics: The branch creates a browser session marked completed, stores the supplied conversation URL and ID as runtime/harvest metadata, and relies on the normal follow-up gate for the first actual browser interaction. (src/sessionManager.ts:636, fb7bb7c07f01)
  • Repository browser-proof policy: The repository manual-test guidance requires real browser results and session IDs in PR descriptions for browser automation changes; the PR body lists automated checks but has no redacted import-plus-follow-up runtime evidence. (docs/manual-tests.md:140, 68b8c51b0ee0)
  • Relevant current-main provenance: Blame attributes the current recoverable-URL guard to the current-main baseline, while session lifecycle code was updated after this PR branch by a browser-capture fix; the branch should be refreshed before relying on its older integration evidence. (src/browser/reattachability.ts:10, 3f9db037ef6d)

Likely related people:

  • Peter Steinberger: Current-main blame for the recoverable ChatGPT URL gate and follow-up path traces to the current baseline authored by Peter Steinberger. (role: current resume-path contributor; confidence: medium; commits: 5daa6ce8c352; files: src/cli/followup.ts, src/browser/reattachability.ts)
  • Rokurolize: Rokurolize authored the post-branch browser-capture interruption fix that touches the session manager this PR extends. (role: recent session lifecycle contributor; confidence: medium; commits: 3f9db037ef6d; files: src/sessionManager.ts)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Rebase onto current main and rerun the focused CLI tests.
  • Add redacted real browser evidence for import plus the first successful follow-up, then update the PR body to trigger re-review.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

Workflow

  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

History

Review history (16 earlier review cycles; latest 8 shown)
  • reviewed 2026-07-31T05:23:39.759Z sha fb7bb7c :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-31T11:27:41.124Z sha fb7bb7c :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-31T14:27:55.502Z sha fb7bb7c :: needs real behavior proof before merge. :: [P3] Remove the release-owned changelog entry
  • reviewed 2026-07-31T15:34:40.368Z sha fb7bb7c :: needs real behavior proof before merge. :: [P3] Remove the release-owned changelog entry
  • reviewed 2026-07-31T20:17:33.718Z sha fb7bb7c :: needs real behavior proof before merge. :: none
  • reviewed 2026-07-31T21:40:56.871Z sha fb7bb7c :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-01T13:53:46.095Z sha fb7bb7c :: needs real behavior proof before merge. :: none
  • reviewed 2026-08-01T15:49:05.824Z sha fb7bb7c :: needs real behavior proof before merge. :: none

@mustafa0x
mustafa0x force-pushed the import-chatgpt-conversation branch from cbed472 to fb7bb7c Compare July 3, 2026 06:08
@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. labels Jul 3, 2026
@clawsweeper clawsweeper Bot added the merge-risk: 🚨 session-state 🚨 Merging this PR could lose, corrupt, stale, or mis-associate session or agent state. label Jul 22, 2026
@clawsweeper clawsweeper Bot added rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. and removed rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. rating: 🦪 silver shellfish Thin PR readiness signal; proof, validation, or implementation needs work. labels Jul 31, 2026
@mustafa0x mustafa0x closed this Aug 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 session-state 🚨 Merging this PR could lose, corrupt, stale, or mis-associate session or agent state. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant