Skip to content

[Bug]: ACP appends unchanged runtime and PR instructions to every ordinary prompt #24466

Closed

Description

@mmazur

Before submitting

  • I searched existing issues and did not find a duplicate.
  • I included enough detail to reproduce or investigate the problem.

Area

apps/server

Problem

Every ordinary ACP user message gets <runtime_info> and the full <pull_request_linking> policy appended, even within one uninterrupted session with unchanged configuration. These duplicate instructions become part of the durable conversation on every turn.

Steps to reproduce

  1. Start a GitHub Copilot ACP Registry thread and complete its initial turn.
  2. Keep the thread and session open; do not settle, reopen, compact, switch providers, or change modes.
  3. Send And again, then Two more times.
  4. Inspect the actual user messages in Copilot's native session history or resume UI.

The last consecutive messages were inspected in a saved native transcript. The user confirms there was no settling/unsettling between these follow-ups. No new paid provider reproduction was run during investigation.

Expected behavior

Unchanged runtime information and PR workflow policy should not be appended as new user-conversation content on every turn. Deliver persistent instructions once per native conversation and refresh only for a relevant change or context loss, preserving legitimate updates such as model changes and compaction recovery.

Actual behavior and evidence

  • And again: 9 characters of user input becomes a 1,425-character message.
  • Two more times: 14 characters becomes a 1,430-character message.
  • Both include the same 1,416 characters of added context, including a 1,163-character PR-linking/watch-policy block.
  • These are ordinary greeting follow-ups with no PR activity or relevant configuration change.

This occurs even when the larger <t3_code_instructions> block is correctly omitted. It is independent of settling/reopening a thread.

Copilot's usage records report 352 and 355 cache-write tokens on these two turns, respectively. Prior context was largely cached; this report does not claim that the full context was uncached or that all provider tool-schema tokens are caused by T3.

Current-main diagnosis

Verified against main at d53873b6a4799e87afd63c8d288ef0089f5a3748:

Impact

Unnecessary input-token/context growth and cluttered native history on every ordinary message, including very short follow-ups. Current main still follows this path; the exact current suffix wording has grown/changed since the observed session.

Version and environment

Observed October 24, 2026, on Linux x86_64, GitHub Copilot CLI 1.0.103, ACP Registry, model gpt-6-luna. The terminal's installed T3 CLI reports v0.1.0; the exact serving-process build for the incident was not established. Relevant behavior remains in current main as cited above. No raw transcript or private environment identifiers are uploaded.

Related reports

#19384 / #19393 fixed the same appended block breaking native slash commands. That fix excludes slash commands, but ordinary messages still receive the suffix. #22369 concerns the content and configurability of the PR-watching policy, not its repeated delivery. Neither covers this per-turn duplication.

The full browser/orchestration block being reinjected after settle/reopen is tracked separately in #24465.

Investigation and report prepared with Codex GPT-6.1-Sol through T3 Code.

Activity

  1. juliusmarminge commented on Oct 24, 2026

    @juliusmarminge
    Member

    Duplicate of #24185: unchanged instructions are appended on each ordinary Copilot ACP turn. This report adds a precise runtime/PR suffix diagnosis and transcript measurements for that same symptom. The settle/reopen trigger remains separately tracked in #24465.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions