Skip to content

fix(dialog): allow a quote from a duplicated current message - #224

Merged
iamwavecut merged 1 commit into
mainfrom
fix/distinct-history-leak-fingerprints
Oct 10, 2026
Merged

iamwavecut merged 1 commit into
mainfrom
fix/distinct-history-leak-fingerprints

Conversation

@iamwavecut

Copy link
Copy Markdown
Owner

The current message is indexed both as a history entry and as the active request. The leak guard counted these identical fingerprints as two copied messages, so an answer quoting part of one message failed with TranscriptLeak. A production dialog repeatedly hit this false rejection and ended after a partial answer.

Count distinct normalized history fingerprints when checking for a multi-message transcript copy. Whole-message echoes, copies from two different messages, speaker-labelled exchanges, and prompt/context protection retain their checks. No new configuration or schema is needed.

Validation: the duplicate-entry regression failed before the fix; 2465 workspace/all-target tests passed, 10 ignored; formatting, diff checks and workspace/all-target Clippy passed. Provider-level coverage includes a current message also present in history. All four rejected production candidates were replayed locally against their original context: the old guard rejects them, the patched guard accepts them. No live message was replayed or sent.

@github-actions

Copy link
Copy Markdown
Messages
📖 Danger checked 2 changed file(s).

Generated by 🚫 dangerJS against 9e7c88d

@iamwavecut
iamwavecut merged commit ad54769 into main Oct 10, 2026
12 checks passed
@iamwavecut
iamwavecut deleted the fix/distinct-history-leak-fingerprints branch October 10, 2026 12:16
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