Skip to content

FEAT: Add conversation editing and shared save workflows - #2853

Open
Richard Lundeen (richlundeen) wants to merge 10 commits into
microsoft:mainfrom
richlundeen:richlundeen-silver-telegram
Open

Richard Lundeen (richlundeen) wants to merge 10 commits into
microsoft:mainfrom
richlundeen:richlundeen-silver-telegram

Conversation

@richlundeen

@richlundeen Richard Lundeen (richlundeen) commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Description

Add conversation editing to chat, with ordered message insertion and deletion, role selection, objective editing, and saves to the same attack or a new attack. Source conversations remain unchanged.

  • Add shared draft, prompt editor, and retry-safe save logic.
  • Keep direct copy navigation and support single-message and batch conversion.
  • Consolidate ordinary creation, branching, and editor saves into a shared atomic persistence path.
  • Share message input models and keep objective conflict checks only for explicit objective changes.
  • Include tool-call editing, target capability checks, and provider preflight validation in this snapshot.

Note: related tool call work PR may be a good prereq. See #2852

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Richard Lundeen (richlundeen) added a commit to richlundeen/PyRIT that referenced this pull request Sep 25, 2026
Bring the shared tool-content models and no-send target preflight from PR microsoft#2853 into the tool capability change. Reuse payload validation across Chat, LiteLLM, and Responses while keeping editor persistence in its own PR.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Comment thread pyrit/backend/services/attack_service.py Outdated
Comment thread pyrit/backend/services/attack_service.py
Comment thread frontend/src/components/Chat/ChatWindow.tsx Outdated
Comment thread pyrit/backend/models/attacks.py Outdated
Keep edited score identities independent, guard target binding against history changes, retain cleared objectives, and mark authored tool history as simulated. Preserve runtime generation handling and share media persistence with MessageSendService.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@richlundeen
Richard Lundeen (richlundeen) marked this pull request as ready for review October 1, 2026 00:37
Refresh objective overflow measurement when the rendered element changes, size copy menu touch targets, and align browser fixtures and branch assertions with conversation save semantics.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@richlundeen Richard Lundeen (richlundeen) changed the title [DRAFT] FEAT: Add conversation editing and shared save workflows FEAT: Add conversation editing and shared save workflows Oct 1, 2026
Preserve atomic conversation creation, retry receipts, conditional objective and target updates, and simulated response provenance across the async memory migration.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Roman Lutz (romanlutz) and others added 2 commits October 3, 2026 07:18
Reconcile asynchronous manual sends and conversation ownership with atomic editor saves. Bind saved unbound attacks through both send APIs and reuse main's provider preflight.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Comment thread pyrit/backend/services/attack_service.py Outdated
Comment thread frontend/src/components/Chat/ChatWindow.tsx Outdated
Comment thread pyrit/backend/routes/attacks.py
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
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