fix: read the user prompt from the structured item event - #54
Open
milanagm wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #47 (LFE-15178).
Problem
Both paths that resolved a turn's prompt missed on current Codex CLI versions. No
user_messageevent is emitted any more, so the fallback took over — and that fallback accepted the firstusermessage whose text did not start with a wrapper element. Codex concatenates the injected context into one message, so with anAGENTS.mdpresent it starts with the AGENTS preamble, the anchored test failed, and the whole wrapper was exported as the prompt.Fix
item_completedevent carrying aUserMessageitem: it holds the bare prompt with no context attached.Both changes are needed independently, as the issue notes: fixing only the fallback leaves a heuristic in the hot path that has already changed shape three times (
<environment_context>,<recommended_plugins>,# AGENTS.md instructions for …).Tests
Fixture built from a real 0.149 rollout. Two cases pin the structured path (including a prompt that merely mentions a wrapper tag, which the fallback must not rescue), one pins the fallback with the structured event removed. Verified failing without each half of the fix.
Also verified end to end against a local Langfuse instance: with an
AGENTS.mdin the working directory, the trace input is now the prompt (34 chars) instead of a 1177-char wrapper.Known gap
A CLI that emits neither structured event and a prompt that mentions a wrapper tag still yields an empty input. No known version behaves that way — 0.147+ emits
item_completed, older versions emitteduser_message.