rdmbair13m5-changelog-20260904-0718-codex-load-normalization
rdmbair13m5-changelog-20260904-0718-codex-load-normalization
Normalized Codex loading without deleting capabilities, eliminating duplicate effective skill entries and proving a fresh load succeeds at the unchanged 256-descriptor limit.
Scope and reason
- Fleet scope: all six Macs; this record covers the configuration
change executed on
rdmbair13m5and the session artifacts created from this host. - Reason: Codex Desktop logged widespread skill/MCP/tool failures with
Too many open files (os error 24)while itsChatGPTparent process was at 251 numeric descriptors out of 256. - Ticket:
ISSUE-20260904-03, child ofINC-20260904-01.
Files changed
/Users/richh/.codex/config.toml/Users/richh/dev/_handoff/codex-load-normalization-20260904/(audit scripts, raw redacted-safe evidence, report, staged documentation, and changelog sources)/Users/richh/.agent-coordination/checkins/codex-rdmbair13m5-codex-load-normalization-20260904.json
Configuration result
- Plugin tables: 50 enabled before; 15 enabled and 35 disabled after. Broad imported packs remain installed but are opt-in; OpenAI plugins, connected apps, Hookify, Frontend Design, Mem0, Firecrawl, and explicit MCP definitions remain.
- Exact byte-identical skill copies suppressed: 9 under
~/.codex/skills, with identical retained copies under~/.agents/skills. - Explicit skill-catalog budget: 10,000 tokens.
- Final config SHA-256:
acecb4db064b64bf7adcacfe64304e8d5a1ade64d9908c1ddbb7df848427cce2.
Commands and verification
- Ran the read-only
audit_codex_loading_v1.0.zshinventory and exact-duplicate audit. - Ran staged dry-run and hash-guarded apply passes for
normalize_codex_loading_v1.0.zsh,dedupe_codex_skills_v1.0.zsh, and inert-override cleanup. codex --strict-config doctor --json: live config loads and parses successfully.codex debug prompt-input: affected duplicate names fell from two catalog entries to one; prompt-input artifact fell from 85,013 to 81,346 bytes.- Fresh
codex exec: exit 0, exact responseCODEX_LOAD_OK, 35,203 input tokens, no skill-budget warning, no EMFILE, withlaunchctl limit maxfilesstill 256. - All five delivered zsh scripts pass
zsh -n.
Backups and undo
- Primary pre-change backup:
/Users/richh/.agent-coordination/backups/codex-load-normalization-20260904T0615/rdmbair13m5/config.toml.before. - Phase backups:
codex-load-normalization-20260904T0630-budget,codex-skill-dedupe-20260904T0650-filepaths, andcodex-inert-skill-override-cleanup-20260904T0700under/Users/richh/.agent-coordination/backups/. - Undo: first compare the live config hash, make a fresh copy,
atomically restore the desired
config.toml.before, and re-run strict doctor. The full report contains the phase-specific rollback map.
Outstanding actions
- Quit and reopen ChatGPT/Codex Desktop only after live sessions finish; the existing PID still holds 251/256 descriptors and does not retroactively reload the new plugin surface.
- Apple Notes publication is pending because this session is
Background, notAqua; the file record was still written as required. - The configured
Codex-state-backupwrapper is absent on both this host and canonicalrdmsm4x; exact independent backups above are the verified rollback state.