SkillPilot · Minimal public reproducer

Custom GPT does not reuse an Action response on the next user turn

In our minimal test, a Custom GPT processes fresh JSON returned by an Action within one assistant turn. After the immediately following user message in the same conversation, it does not reuse the same response data.

Public API Stateless No authentication No learner data

Reproduce

  1. Open RegressionGPT in a new chat.
  2. Send RUN_RETAIN. After a successful Action call, it replies RETAIN_READY.
  3. Immediately send RECALL_RETAIN in the same chat.
Expected RETAIN token=<token>
Observed RETAIN_MISSING

Passed controls

  • RUN_SINGLE reads fresh fields from the Action response.
  • RUN_CHAIN passes the complete signed tuple to a second Action in the same assistant turn; the backend verifies proof_valid=true.
  • A direct HTTP probe/verify control passes against the same public API.

Why this matters

SkillPilot Coach needs ordinary backend response data—including session references, learner state, navigation results and workflow instructions—across later user turns. The observed behavior is sufficient to break that production workflow.

The production problem began around the GPT-5.6 rollout. This is temporal correlation, not a claim about its cause.

Questions for OpenAI

  1. Are successful JSON Action responses expected to remain available after the next user message?
  2. Can context selection, summarization or compaction omit them even in a fresh two-turn conversation, and can a GPT builder control this?
  3. If cross-turn availability is unsupported, what architecture does OpenAI recommend for multi-turn Custom GPT Actions?