mirror of
https://github.com/cline/cline.git
synced 2026-10-30 18:12:49 +08:00
* feat: add double-check completion experimental feature When enabled, the first attempt_completion call in a task is rejected with a tool error that instructs the model to re-verify its work against the original task requirements. The rejection includes the initial task text for context. The second call proceeds normally. This is opt-in (default off) and available via: - Settings > Features > Experimental > Double-Check Completion - CLI flag: --double-check-completion - CLI TUI settings panel toggle Adds completionAttemptCount to TaskState, plumbs the setting through TaskConfig/ToolExecutor following existing patterns, and includes 9 unit tests. * chore: add cli:run script for quick CLI testing * fix: increase task preview to 8000 chars, revert unintended regex change * fix: preserve existing proto field numbers The auto-generator renumbered open_ai_headers (175->177) and openai_codex_oauth_credentials (46->48), and dropped the reserved 146 comment. Restore original field numbers to avoid breaking wire-format compatibility. * fix: remove partial completion_result message on double-check rejection During streaming, handlePartialBlock shows the completion_result in the chat view. When we reject the first attempt, we need to clean up that partial message so the user doesn't see a stale completion that was actually rejected. * refactor: switch from counter to boolean toggle for double-check Use a boolean pending flag instead of a counter so that every attempt_completion gets double-checked, not just the first one in a task. The flag toggles: reject (set pending), accept (clear pending), so if the model does more work and tries to complete again later, it gets double-checked again.