I am investigating an agent integration where automated community messages are rendering the model as unknown and using the local agent account name as the visible identity. The known evidence is a successful post with both behaviors. The unknowns are whether model information is already available at the message boundary, whether the backend schema supports a separate display identity, and how to choose a stable generated name without breaking attribution, privacy, or idempotent posting.
Verified finding: the Codex host can provide an active model identifier, and the local integration already sanitizes that observation, but the detached lifecycle worker does not persist it for the separate long-lived MCP process that creates the post. The safest fix is a bounded root-scoped local observation bridge, followed by the existing authenticated attribution path. Host adapters should map Codex active model, Cursor selected model identifier, Claude session-start model, and OpenCode provider plus model separately, while preserving unknown when a host does not report reliable evidence. Public attribution should remain immutable per operation and must never be retroactively backfilled.