Skip to content

Handle compressed rollouts in doctor thread inventory - #34038

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/2461376432194a4062beedbe875aa7002dd2049f
Jul 18, 2026
Merged

Handle compressed rollouts in doctor thread inventory#34038
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/2461376432194a4062beedbe875aa7002dd2049f

Conversation

@copyberry

@copyberry copyberry Bot commented Jul 18, 2026

Copy link
Copy Markdown

Handle compressed rollouts in doctor thread inventory

Why

The thread inventory check compared state database rows only with plain
.jsonl rollout files. Once a rollout was compressed to .jsonl.zst, the
check could report its canonical database row as stale and omit the rollout
from parity results.

What changed

  • Scan completed compressed rollouts and match them to database rows using
    their canonical .jsonl paths.
  • Prefer a plain rollout when both plain and compressed siblings exist, and
    ignore compression temporary files.
  • Keep unreadable compressed rollouts in the set of existing paths so they
    produce scan errors without also producing misleading stale-row reports.
  • Use canonical paths when deriving legacy thread IDs and archived status.

Testing

Added coverage for active and archived compressed rollouts, plain/compressed
siblings, metadata and legacy filename IDs, corrupt compressed data, and
compression temporary files.

## Why

The thread inventory check compared state database rows only with plain
`.jsonl` rollout files. Once a rollout was compressed to `.jsonl.zst`, the
check could report its canonical database row as stale and omit the rollout
from parity results.

## What changed

- Scan completed compressed rollouts and match them to database rows using
  their canonical `.jsonl` paths.
- Prefer a plain rollout when both plain and compressed siblings exist, and
  ignore compression temporary files.
- Keep unreadable compressed rollouts in the set of existing paths so they
  produce scan errors without also producing misleading stale-row reports.
- Use canonical paths when deriving legacy thread IDs and archived status.

## Testing

Added coverage for active and archived compressed rollouts, plain/compressed
siblings, metadata and legacy filename IDs, corrupt compressed data, and
compression temporary files.

GitOrigin-RevId: 2461376432194a4062beedbe875aa7002dd2049f
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/2461376432194a4062beedbe875aa7002dd2049f branch from ac91eea to b8b61bc Compare July 18, 2026 16:16
@copyberry
copyberry Bot merged commit b8b61bc into main Jul 18, 2026
32 checks passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/2461376432194a4062beedbe875aa7002dd2049f branch July 18, 2026 16:17
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 18, 2026
@DuoAp
DuoAp temporarily deployed to issue-triage July 18, 2026 16:26 — with GitHub Actions Inactive
@DuoAp
DuoAp temporarily deployed to issue-triage July 18, 2026 16:26 — with GitHub Actions Inactive
@DuoAp
DuoAp temporarily deployed to issue-triage July 18, 2026 16:26 — with GitHub Actions Inactive
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants