mirror of
https://github.com/microsoft/vscode.git
synced 2026-10-02 14:04:01 +01:00
* Track reasoning provenance instead of inferring it from ids Responses API reasoning was only round-tripped when its id began with `rs`. That treated one provider's id convention as a protocol guarantee: CAPI's production /responses endpoint issues reasoning ids that are long opaque blobs with no `rs` prefix, so valid reasoning was silently dropped from the next stateless tool continuation and the model re-derived work it had already done. Record the producing API and model on the thinking envelope when a round is created, and gate the round-trip on that origin. The envelope tag lives inside the same opaque value as its payload so prompt pruning cannot separate them, and it is carried across the vscode.lm boundary as part metadata since that API has no envelope of its own. The model check also gives the vscode.lm path the gate it never had. History persisted before provenance tracking carries no origin and keeps the previous `rs` prefix behavior. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d8a292b0-2f13-45cf-bfcc-8e808833b4a0 * Identify reasoning by API type only, dropping the model dimension Provenance now records just the producing API (responses/messages/chatCompletions), which is what decides whether an encrypted reasoning payload can be replayed. The model is already gated separately by the same-model check in toolCalling, so carrying it on the envelope added a second dimension without a distinct purpose. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d8a292b0-2f13-45cf-bfcc-8e808833b4a0 * Require explicit Responses API origin for reasoning replay Remove the reasoning ID prefix fallback entirely. Untagged and foreign-protocol reasoning is excluded regardless of ID format. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d8a292b0-2f13-45cf-bfcc-8e808833b4a0 * Preserve legacy reasoning replay when API provenance is absent Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d8a292b0-2f13-45cf-bfcc-8e808833b4a0 --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: d8a292b0-2f13-45cf-bfcc-8e808833b4a0