Ecosystem Update - 2026-05-21
TL;DR
- No Tier 1 source had commits since the 2026-05-20 run, but live search surfaced a Codex-native hook catalog and the official hook docs now confirm
UserPromptSubmitas a supported turn-scoped event. - Safe Quick Win applied: wired the existing local prompt classifier to
UserPromptSubmit, so route hints are generated before each turn without logging raw prompts. - The next worthwhile harness work is not wholesale skill import; it is a focused hook contract pass for
apply_patch,PermissionRequest, and stop-gate output shapes.
Quick Wins
| Item | Source | Type | Impact | Effort | Action |
|---|---|---|---|---|---|
UserPromptSubmit route classifier hook |
OpenAI Codex hooks docs, openai/codex hook parity issue | hook | 2 | 1 | Wire existing /Users/chadsimon/.codex/bin/classify_prompt.py into /Users/chadsimon/.codex/hooks.json. |
Auto-Implemented
- Backed up
config.toml,hooks.json, and all current agent TOMLs under/Users/chadsimon/.codex/backups/2026-05-21/. - Updated
/Users/chadsimon/.codex/hooks.jsonwith aUserPromptSubmitcommand hook that runspython3 /Users/chadsimon/.codex/bin/classify_prompt.py. - Verified
hooks.jsonparses withpython3 -m json.tool. - Smoke-tested the hook script with a synthetic auth prompt; it produced
R4 high-risk: authand wrote/tmp/codex-route-ecosystem-update-smoke.json. - Verified the edited hook scripts compile with
PYTHONPATH=/Users/chadsimon/.codex/bin python3 -m py_compile ~/.codex/bin/classify_prompt.py ~/.codex/bin/codex_hook_common.py. - Ran
TERM=xterm-256color codex --strict-config doctor --summary --ascii; result:13 ok | 1 idle | 2 notes | 0 warn | 0 fail. - Ran
python3 ~/.codex/bin/auto_runtime.py contract-check; it failed on pre-existing AgentOps memory citation records (MEMORY_CITATIONS_REQUIRED, 16 hard violations) and one advisory missing replan record. This is unrelated to today's hook edit but remains a closure hygiene issue for autonomous runs.
Build Queue
- Stop-gate output-shape repair before wiring (hook) - OpenAI Codex hooks docs, How Boris Uses Claude Code
/go- Existingcompletion_gate.pyandwhat_would_chad_do.pyscripts are present, but they emitstopReasonwithout the documenteddecision: blockorcontinue: falsestop-control shape. Fix and test those outputs before adding them toStop. apply_patchhook coverage audit (hook) - OpenAI Codex hooks docs, am-will/codex-skills hook catalog - CurrentPostToolUsecoverage is Bash-only, while Codex now documentsapply_patch/Edit/Writematcher compatibility. Audit whether existing verification/failure-context scripts should observe file-edit events or whether a separate edit-specific hook is needed.- PermissionRequest conservative-profile miner (hook) - How Boris Uses Claude Code
/fewer-permission-prompts, OpenAI Codex hooks docs - Build a report-only analyzer for repeated conservative-profile approvals before changing any allowlist or rules. - Codex hook catalog intake (skill) - am-will/codex-skills, hook catalog README - Evaluate the 51-bundle hook catalog one bundle at a time against the local trust model; consider only local, credential-free guards such as secret scanning, file protection, and scope/TDD gates.
- Hook parity event matrix watch (research) - openai/codex issue #21753 - Track
PermissionRequest,PostToolUseFailure,SubagentStart/Stop,TaskCreated/Completed, andPostCompactso local harness assumptions do not drift from the shipped event surface. - Recap/focus-mode local status intake (agent-pattern) - How Boris Uses Claude Code - Codex already has goals, subagents, and session state, but returning-to-session summaries could be improved through existing state files before adding any dashboard.
Research
- Full Claude Code Hook Parity (29+) - Useful as a watchlist for future Codex hook events and handler types; current local hooks should stay conservative until events are shipped and documented.
- Codex Hook Catalog - New community catalog has breadth, but the safe value is selective adaptation of tested local hook bundles rather than wholesale installation.
- Tier 2 arXiv scan was skipped because
tier2_last_runwas2026-05-20T10:33:24Zand this run began at2026-05-21T10:30:41Z, just under the 24-hour threshold.
Already Have
gpt-5.5 power-user default, approval_policy = "never", sandbox_mode = "danger-full-access", prompt telemetry off, live web search, schema-linked config.toml, features.hooks = true, features.plugins = true, features.goals = true, features.prevent_idle_sleep = true, features.plugin_hooks = false, destructive app tools disabled by default, OpenAI developer docs MCP, omni-mem MCP, Stitch and Kickstarter MCP entries, Browser/Chrome/Computer Use/Documents/Spreadsheets/Presentations/Gmail/OpenAI Developers plugins, Bash PreToolUse guard, Bash PostToolUse verification ledger and failure-context hooks, SessionStart repo-context and config-posture hooks, UserPromptSubmit route classifier hook, Stop and PreCompact omni-mem hooks, read-only explorer/planner/reviewer/python-reviewer/typescript-reviewer/validator agents, scoped worker and chad-twin agents, bounded agent thread/depth/runtime caps, profiles.review, profiles.conservative, profiles.conservative-auto-review, conservative profile login-shell suppression, global placeholder pokegen disable, session-recall, rlm-scan, planning-gate, auto, drive, go, codex-security, security-audit, codex-runtime-doctor, what-would-chad-do, classify_prompt.py, completion_gate.py, what_would_chad_do.py, and stable codex-cli 0.132.0.
Rejected
- Wholesale install
am-will/codex-skills- rejected because it imports many skills/hooks and some require credentials, new tools, or new scripts; use audited single-bundle intake instead. - Enable
plugin_hooksautomatically - rejected because plugin-bundled hooks are executable code and still need trust review before global enablement. - Add prompt logging through
UserPromptSubmit- rejected because global prompt telemetry must remain opt-in; today's hook stores only route classification, not raw prompts. - Wire stop-gate scripts immediately - rejected for today because the existing scripts need output-shape repair against the current documented Stop hook contract.
- Enable native Codex memories automatically - rejected because local policy currently uses omni-mem as the default memory system and
features.memories = falseis intentional. - Edit
AGENTS.mdas a Quick Win - rejected by the ecosystem-update hard limit; constitutional policy changes require explicit direction.
Sources checked: https://github.com/hesreallyhim/awesome-claude-code, https://howborisusesclaudecode.com/, https://github.com/shanraisshan/codex-cli-best-practice, https://github.com/am-will/codex-skills, https://github.com/openai/codex/issues/21753, https://developers.openai.com/codex/hooks
Tier 2 fetched: no; skipped because prior Tier 2 run was less than 24 hours old.
Tier 3 fetched: no; skipped because prior Tier 3 run was less than 7 days old.
omni-mem write: saved memory cc871842-e787-43e2-af4f-160ff6b9124f.
Run at: 2026-05-21T10:33:31Z