Shadow failure case

ACP: /rename reports success but doesn't rename the session

Artifact acp-rename-reports-success-but-doesn-t-rename-the-se-1f8c7a25ae · generated 2026-10-13T14:13:05.208356+00:00 · source: github/copilot-cli #5115

This is the automatic first artifact from a falsification-bounty submission. It is redacted and public-safe by default; the next step is to turn the failure into a reusable proof, guardrail, or diagnosis.
Request private audit Follow the failure feed

Observed agent action

The ACP /rename command replies 'Session renamed to: <name>' with stopReason end_turn in about 1ms without calling the model.

Expected boundary

renameSession() should write name and user_named:true to workspace.yaml and trigger a session_info_update before any success message is emitted.

Runtime context

GitHub Copilot CLI 1.0.95 running in ACP mode (copilot --acp --stdio) on Windows 11, driven by a Node ACP client using @agentclientprotocol/sdk.

Evidence supplied

workspace.yaml retains the old name and user_named:false, and session/list keeps returning the old title in both the same process and a new process, despite the stub renameSession(t){} being adjacent to a getWorkspace(){return null} implementation.

Evidence needed next

Commercial routing

Use the public artifact for broadly useful redacted failures; use the private audit path when the evidence is sensitive or the operator needs a concrete fix, guardrail, or receipt proof.

Next proof step

Convert the submitted failure into the smallest reusable control: a deterministic guardrail, receipt proof, public autopsy entry, or private diagnosis if evidence is sensitive.