Skip to content

Codex sub-agent metadata: latched lookup, stale effort, unbounded map #154

Description

@rynfar

Three issues in CodexSessionRuntime found reviewing #136, all upstream's code
rather than Pylon adaptation, and none verifiable without a real Codex 0.150
app-server. Separate from #146, which is about decode tolerance.

A transient timeout permanently loses a child's model. lookupStarted is
latched before the request and never reset on failure or timeout, so one 5s
timeout leaves that sub-agent without model or effort for the rest of the
session. The closed + lookupStarted pair likewise blocks re-lookup for a
re-registered child.

Cleared effort keeps a stale value. updateCollabChildMetadata only assigns
truthy values, so an effort cleared by thread/settings/updated retains the old
one even with overwriteKnown: true.

collabChildMetadataRef grows without bound. Entries are only flagged
closed, never deleted, and the intercept inserts one for any non-root thread
id — unlike the sibling maps, which clean up on thread/closed.

Related: #136, and #146 for the decode half.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions