#!/usr/bin/env bash set -euo pipefail CODEX_HOME="${CODEX_HOME:-$HOME/.codex}" if [[ ! -d "$CODEX_HOME" ]]; then echo "Codex home not found: $CODEX_HOME" >&2 exit 1 fi echo "Codex home: $CODEX_HOME" echo echo "Top-level sizes" du -sh "$CODEX_HOME"/* "$CODEX_HOME"/.[!.]* 2>/dev/null | sort -h echo echo "Large session files" python3 - "$CODEX_HOME" <<'PY' from pathlib import Path import sys root = Path(sys.argv[1]) / "sessions" files = sorted((p for p in root.rglob("*.jsonl") if p.is_file()), key=lambda p: p.stat().st_size, reverse=True) print(f"session files: {len(files)}") for path in files[:10]: size_mb = path.stat().st_size / (1024 * 1024) print(f"{size_mb:9.1f} MB {path}") PY echo echo "Config snapshot" sed -n '1,220p' "$CODEX_HOME/config.toml" 2>/dev/null || true echo echo "Memory markdown files" find "$CODEX_HOME/memories" -type f -name '*.md' 2>/dev/null | sort || true