Skip to content

The host output cap is gated on the payload's shape, not the resolved host, and Codex sends a Claude-Code-shaped payload #776

Description

@fajarhide

The Claude Code output cap is gated on the payload's own shape rather than on the host that
will render it:

// post_tool.rs:390
if normalized.agent_id == "claude_code" && host_capped {

normalized.agent_id comes from the payload's shape. stats_agent_id(&normalized.agent)
is the resolved host, which is what distillation books under and, since #773, what a
decline records. The two differ in exactly one documented case, which is why
resolve_agent_id exists: Codex sends a Claude-Code-shaped payload
(normalize.rs:294).

Two ways that lands, and neither has been measured:

Which of the two is real depends on Codex's own behaviour above its cap, and that is a
fact about their product that this repository has never established. The host capability
matrix in the memory board records that Codex Full tier "was never measured and does not
hold on 0.144.6" (#359), so the honest answer today is that nobody here knows.

What this is not

Not a fix waiting to be typed. Swapping the id changes which payloads are declined, so it
changes behaviour and needs the measurement first: what does Codex do with a tool result
above 30,000 bytes, and does it apply a cap of its own.

Found while fixing the attribution half of the same line in #773. That half was
bookkeeping and shipped; this half is behaviour and did not.

Activity

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

    bugBehaves differently from what it documents or intendspriority: mediumNarrower lost signal / accounting layerstage: laterAn open question is unanswered, so nobody can size it

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions