Verify Codex CLI session JSONL format compatibility for Agent Sessions. Use when codex-cli updates, when daily monitoring flags Codex drift, or when bumping Codex max verified version (fixtures + docs + tests).
Content & Writing
210 Stars
8 Forks
Updated Jan 17, 2026, 12:56 AM
Why Use This
This skill provides specialized capabilities for jazzyalex's codebase.
Use Cases
Developing new features in the jazzyalex repository
Refactoring existing code to follow jazzyalex standards
Understanding and working with jazzyalex's codebase structure
---
name: codex-session-format-check
description: Verify Codex CLI session JSONL format compatibility for Agent Sessions. Use when codex-cli updates, when daily monitoring flags Codex drift, or when bumping Codex max verified version (fixtures + docs + tests).
---
# Codex Session Format Check
This skill is for quickly verifying whether a newer Codex CLI version changes the local session
JSONL schema, and whether Agent Sessions can safely bump its verified support.
It is **evidence-first**:
- Gather a report + sample paths first.
- Do not change parsers/fixtures/docs without explicit user approval.
## Quick Start (Most common)
1. Run weekly monitoring and open the report:
- `./scripts/agent_watch.py --mode weekly`
- Report path prints to stdout, and is also written under `scripts/probe_scan_output/agent_watch/*/report.json`.
2. In `report.json`, check `results.codex`:
- `verified_version`, `installed.parsed_version`, `upstream.parsed_version`
- `weekly.local_schema.file` (the newest rollout JSONL used for comparison)
- `weekly.schema_diff` and `evidence.schema_matches_baseline`
Interpretation:
- If `installed == verified` and `upstream == verified`: no action.
- If `installed/upstream > verified` and `schema_matches_baseline == true`: safe to bump verified version (after approval).
- If `schema_matches_baseline == false`: collect evidence and plan a parser/fixture update.
## What to collect as evidence (Codex)
From the weekly report:
- The path in `results.codex.weekly.local_schema.file` (the newest `rollout-*.jsonl`).
- The schema diff summary in `results.codex.weekly.schema_diff`:
- `unknown_types`, `unknown_keys` (additive drift)
- `missing_types`, `missing_keys` (may just mean “not observed in this sample”)
Optional (recommended when a bump is needed):
- Copy the newest session file into `scripts/agent_captures/<timestamp>/codex/` so it can be diffed locally.
- Keep it private (do not commit raw sessions; they can contain paths and prompts).
## Verification update checklist (after approval)
1. Refresh Codex stage0 fixtures so they represent the current session shape:
- `Resources/Fixtures/stage0/agents/codex/small.jsonl`
- `Resources/Fixtures/stage0/agents/codex/large.jsonl`
2. Ensure fixtures include the “important” event families when present in real sessions:
- `session_meta` payload keys (commonly grows over time)
- `response_item` tool_call/tool_result and message events
- usage/limits events (`token_count` / `rate_limits`) when emitted
- optional event wrappers (e.g. compaction or context events) when present
3. Bump the verified version record:
- `docs/agent-support/agent-support-matrix.yml` (`agents.codex_cli.max_verified_version`)
- Append a new entry in `docs/agent-support/agent-support-ledger.yml`
- Add a line to `docs/agent-json-tracking.md` under “Upstream Version Check Log”
4. Run tests locally:
- `xcodebuild -project AgentSessions.xcodeproj -scheme AgentSessions -destination 'platform=macOS' test`
## Redaction guardrails (fixtures)
Codex sessions can include user instructions, file paths, and other sensitive content.
When turning a real session into a committed fixture:
- Replace long instruction bodies with a short placeholder string (keep structure).
- Remove or truncate large base64/data-url blobs if present.
- Prefer keeping only minimal, deterministic message text (e.g., “List the files”).
- Keep the schema shape intact: do not delete keys just because values were redacted.