Skip to content

Codex provider skips JetBrains IntelliJ Codex ACP rollout sessions #626

Description

@mightydanp

Problem

CodeBurn does not discover some Codex rollout files created through JetBrains IntelliJ AI Assistant / ACP.

The rollout files are valid Codex session files under ~/.codex/sessions/..., but their first session_meta line uses this originator:

"originator": "JetBrains.IntelliJ IDEA"

CodeBurn's Codex provider currently expects the originator to start with codex, so these JetBrains-created Codex ACP sessions are skipped during discovery.

Real session example

Redacted path:

~/.codex/sessions/2026/07/06/rollout-2026-07-06T16-07-01-019f3941-7d76-74d0-95eb-f0f0d70acdb2.jsonl

First line shape:

{
  "type": "session_meta",
  "payload": {
    "originator": "JetBrains.IntelliJ IDEA",
    "cwd": "~/Projects/Tech-Ascension-Workspace",
    "session_id": "019f3941-7d76-74d0-95eb-f0f0d70acdb2"
  }
}

The same rollout also contains JetBrains ACP task context. In the real file, separate IntelliJ ACP tasks have their own turn_id values.

Before fix

Running CodeBurn against the affected date missed the JetBrains-created Codex ACP rollout because the session_meta.payload.originator did not start with codex.

Expected behavior

CodeBurn should treat JetBrains IntelliJ Codex ACP rollout files as Codex provider sessions when they are stored under the Codex session directory and have a valid session_meta record.

For JetBrains ACP tasks inside one rollout file, CodeBurn should split the tasks into separate sessions using a stable derived session id like:

<codex-session-id>:jetbrains:<turn-id>

Example from my real cache after applying the fix locally:

019f3941-7d76-74d0-95eb-f0f0d70acdb2:jetbrains:019f3941-cabb-7281-b95b-14e2f422a72b
019f3941-7d76-74d0-95eb-f0f0d70acdb2:jetbrains:019f394d-29db-7930-b072-e0fdbcae54dd
019f3941-7d76-74d0-95eb-f0f0d70acdb2:jetbrains:019f3950-65e7-7b41-9ac0-7d41f7ce8412

Normal Codex sessions should remain grouped under the original rollout session id.

Local fix tested

I have a local patch that does this:

  • Accepts JetBrains... originators for Codex rollout discovery.
  • Detects JetBrains IntelliJ ACP task context from JetBrains aia/agents workspace roots.
  • Uses turn_id to split JetBrains ACP tasks into separate CodeBurn sessions.
  • Keeps normal Codex task records grouped under the original rollout session.
  • Bumps CodeBurn cache fingerprints so stale bad parses are invalidated.
  • Adds regression tests for discovery and parser behavior.

Validation

Local Codex provider test suite:

npm test -- --run tests/providers/codex.test.ts

Result:

tests/providers/codex.test.ts (23 tests)
23 passed

Build:

npm run build

Result: passed.

After installing the patched local build and clearing CodeBurn caches:

rm -f ~/.cache/codeburn/codex-results.json ~/.cache/codeburn/session-cache.json
CODEBURN_TZ=America/Chicago codeburn report --provider codex --format json --day 2026-07-06

Result from real local data:

{
  "sessions": 28,
  "calls": 160
}

Environment

OS: CachyOS Linux
Provider involved: Codex
JetBrains app: IntelliJ IDEA
Codex usage path: JetBrains IntelliJ AI Assistant / ACP running Codex
CodeBurn version tested locally: 0.9.15 patched

Notes

I can open a PR with the local patch if this approach sounds acceptable.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions