Skip to content

feat(browser): recommend conversation mode in dry-runs#181

Closed
pdurlej wants to merge 1 commit intosteipete:mainfrom
pdurlej:pdurlej/browser-conversation-mode-guidance
Closed

feat(browser): recommend conversation mode in dry-runs#181
pdurlej wants to merge 1 commit intosteipete:mainfrom
pdurlej:pdurlej/browser-conversation-mode-guidance

Conversation

@pdurlej
Copy link
Copy Markdown
Contributor

@pdurlej pdurlej commented May 5, 2026

Summary

  • add an advisory browser conversation-mode recommendation for dry-runs: one-shot, multi-turn, deep-research, or project
  • surface the recommendation in CLI dry-run output, browser preview JSON, and MCP consult dry-run structured content as optional recommendedConversationMode
  • document that recommendations are guidance only and never switch projects, invent follow-ups, upload Project Sources, or change archive behavior

Safety / Scope

  • no browser DOM, model picker, composer, or Project Sources implementation changes
  • no dependency on feat(browser): manage ChatGPT Project Sources #173; Project Sources are mentioned only as persistent ChatGPT Project context in docs
  • existing dry-run/preview fields keep their meaning; MCP field is optional

Tests

  • pnpm install --frozen-lockfile
  • pnpm vitest run tests/cli/conversationMode.test.ts tests/cli/dryRun.test.ts tests/cli/dryRun.coverage.test.ts tests/mcp/consult.test.ts -> 4 files passed, 24 tests passed
  • pnpm run check
  • pnpm run build
  • pnpm test -> 116 files passed, 18 skipped; 796 tests passed, 41 skipped
  • git diff --check

Notes

This is intended to follow the multi-turn guardrails work, but it remains independently reviewable. If #180 lands first, I can rebase this PR to pick up the wording and resolve any small docs/dry-run conflicts.

@pdurlej pdurlej force-pushed the pdurlej/browser-conversation-mode-guidance branch from 3b176b4 to fc50b5f Compare May 5, 2026 23:48
@pdurlej pdurlej force-pushed the pdurlej/browser-conversation-mode-guidance branch from fc50b5f to 18f4e21 Compare May 6, 2026 07:09
@pdurlej
Copy link
Copy Markdown
Contributor Author

pdurlej commented May 6, 2026

Rebased onto current main after #178, #179, and #180 landed. Conflict resolution preserved the new browser-control/multi-turn guardrail output and added the advisory conversation-mode recommendation after the control plan, without changing runtime behavior.

Local verification after rebase:

pnpm vitest run tests/cli/conversationMode.test.ts tests/cli/dryRun.test.ts tests/cli/dryRun.coverage.test.ts tests/mcp/consult.test.ts
# 4 passed, 27 tests passed

pnpm run check
pnpm run build
pnpm test
# 118 passed, 18 skipped; 823 tests passed, 41 skipped

git diff --check

GitHub CI is green on Ubuntu, macOS, and Windows.

@steipete
Copy link
Copy Markdown
Owner

steipete commented May 7, 2026

Thanks for rebasing this and for keeping the behavior advisory-only. I took another pass now that #173 landed. I am going to close this one rather than continue the stack.

Reasoning:

  • The useful guardrail from this stack already landed in docs(browser): add multi-turn consult guardrails #180: browser follow-ups are explicit only, and Oracle does not invent multi-turn prompts.
  • feat(browser): manage ChatGPT Project Sources #173 now gives Project Sources a real command surface (project-sources list|add) instead of a dry-run recommendation.
  • This PR adds a prompt-content heuristic (project for prompts that look like ongoing architecture/product streams). That is plausible, but it is also easy for a CLI to become noisy or over-directive when it guesses workflow mode from prose.
  • For agent workflows, I would rather keep dry-runs factual: what Oracle will do, which browser/project URL it will use, which follow-ups/files/sources were explicitly provided, and what will or will not mutate state.

The design may still be useful later if we want an explicit oracle plan/advisor mode or if MCP clients ask for workflow recommendations separately from dry-run execution. I do not think it belongs in the core dry-run path right now.

Appreciate the careful scope: no browser DOM changes, optional MCP field, and clear docs. This is being closed as product-direction deferral, not because the implementation was careless.

@steipete steipete closed this May 7, 2026
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.

2 participants