xl-openai
90d · built 2026-07-24
90-day totals
- Commits
- 53
- Grow
- 8.2
- Maintenance
- 9.6
- Fixes
- 0.6
- Total ETV
- 18.4
Where this dev ranks
Percentile against the global top-100 leaderboard (all-time totals).
- By commits
- Top 97 %
- By Growth share
- Top 9 %
30-day trajectory
Last 30 days vs. the 30 days before. Up arrows on Growth and ETV mean improvement; up arrow on Fixes share means more time on fixes (worse).
↓-93.3 %
vs 30 prior
↑+24.3 pp
recent vs prior
↓-8.7 pp
recent vs prior
Daily performance
Daily ETV, stacked by Growth, Maintenance and Fixes.
Work-mix over time
Share of Growth / Maintenance / Fixes over a rolling 7-day window. Reads as 'where is effort flowing right now'.
Repository spread
Where this developer's commits land. Concentrated work (top1 > 80%) vs polymath spread (top1 < 30%).
Most impactful commits
Top 20 by ETV in the 90-day window.
- 1.4ETVfeat: Add workspace plugin sharing APIs (#20278) 1. Adds v2 plugin/share/save, plugin/share/list, and plugin/share/delete RPCs. 2. Implements save by archiving a local plugin root, enforcing a size limit, uploading through the workspace upload flow, and supporting updates via remotePluginId. 3. Lists created workspace plugins 4. Deletes a previously uploaded/shared plugin.github.com-openai-codex · 87d0cf1a · 2026-04-30
- 1.3ETVfeat: Add marketplace source filtering and plugin share context (#21419) Adds marketplaceKinds to plugin/list for local, workspace-directory, and shared-with-me; omitted params keep default local plus gated global behavior, while explicit kinds are exact. Exposes shareContext on plugin summaries from local share mappings and remote workspace/shared responses, including remotePluginId and nullable creator metadata. Adds shared-with-me listing through /ps/plugins/workspace/shared, renames the workspace remote namespace to workspace-directory, and keeps direct remote read/share/install/update/delete paths gated by plugins rather than remote_plugin.github.com-openai-codex · 11106016 · 2026-05-06
- 1.2ETV[plugins] Enforce marketplace source admission requirements (#29753) ## Why Managed marketplace source requirements only become effective when every local marketplace mutation path applies the same admission decision. This change centralizes that decision so CLI, app-server, and external-agent migration flows cannot add, install from, or refresh a disallowed source. ## What changed - Match exact normalized Git repository URLs with an optional exact `ref`. - Match Git hosts with managed regular expressions. - Match local marketplaces by exact absolute path. - Preserve the expected path/name boundary for managed OpenAI marketplaces. - Enforce source admission during marketplace add, plugin install, and configured Git marketplace upgrade. - Continue upgrading independent marketplaces when one source is rejected and return a per-marketplace error. - Load the effective requirements stack at CLI, app-server, and external-agent migration entry points. This PR does not filter already configured marketplaces at runtime; that remains in draft follow-up #29691. ## Stack This is PR 2 of 3 and is based on #29690, which introduces the requirements data shape and merge behavior. ## Test plan - Source matcher coverage for Git URL/ref, host-pattern, local-path, and managed marketplace cases. - Marketplace add and plugin install coverage for allowed and rejected sources. - Marketplace upgrade coverage for rejection and per-marketplace continuation.github.com-openai-codex · 4fe02f4f · 2026-06-24
- 1.1ETVfeat: Cache remote plugin bundles on install (#19914) Remote installs now fetch, validate, download, and cache the plugin bundle locallygithub.com-openai-codex · 7d72fc8f · 2026-04-28
- 1.0ETVMove plugin out of core. (#20348)github.com-openai-codex · 7b3de630 · 2026-04-30
- 1.0ETVfeat: Add vertical remote plugin collection support (#23584) - Adds an explicit vertical marketplace kind for plugin/list that fail-open fetches collection=vertical only when full remote plugins are disabled. - Renames the global remote marketplace/cache identity to openai-curated-remote and materializes remote installs with backend release versions and app manifests.github.com-openai-codex · dc255b0d · 2026-05-20
- 0.9ETV[plugins] Enforce marketplace source policy at runtime (#29691) ## Summary - project effective marketplace/plugin config through the enterprise source policy so blocked installed plugins become inactive - filter plugin list/read/discovery and CLI marketplace source/snapshot reporting using the same policy - enforce source admission for background marketplace cache refreshes - continue refreshing/upgrading independent marketplaces and plugins when one entry fails, returning per-entry errors - include policy-projected plugin state in cache and refresh keys so requirement changes invalidate stale results ## Stack This is PR 2 of 2 and is based on #29690. Review the admission model and source matcher in #29690 first; this PR contains only runtime enforcement. ## Test plan - `just test -p codex-core-plugins` (287 tests) - `just test -p codex-cli plugin_list_ignores_implicit_system_marketplace_roots_without_manifests` - `cargo check -p codex-cli -p codex-app-server --tests`github.com-openai-codex · 9dbdb4e2 · 2026-06-27
- 0.8ETV[codex] Cache remote plugin catalog for suggestions (#25457) ## Summary - cache the global remote plugin catalog when remote plugin listing runs and warm it during startup - use the cached remote catalog in plugin install recommendations with canonical `plugin@openai-curated-remote` ids - reuse the session `PluginsManager` for plugin recommendations so remote cache state is visible on the recommend path - skip core installed-state verification for remote plugin install suggestions while leaving local plugin and connector verification unchanged ## Testing - `just fmt` - `git diff --check` - `cargo test -p codex-core list_tool_suggest_discoverable_plugins_includes_cached_remote_global_plugins` - `cargo test -p codex-core remote_plugin_install_suggestions_skip_core_installed_verification` - `cargo test -p codex-app-server plugin_list_includes_remote_marketplaces_when_remote_plugin_enabled` Earlier focused checks during the same branch: codex-tools TUI filter test, request_plugin_install tests, and codex-app-server build.github.com-openai-codex · f2b72510 · 2026-06-02
- 0.7ETVfeat: Add plugin share checkout (#22435) Adds plugin/share/checkout to turn a shared remote plugin into a local working copy under ~/plugins/<name>. Registers the copy in the managed personal marketplace and records the remote-to-local mapping for later share/save flows. --------- Co-authored-by: Codex <noreply@openai.com>github.com-openai-codex · 2a67c46d · 2026-05-13
- 0.6ETVfeat: Add role-aware plugin share context APIs (#21867) Expose discoverability and full share principals in share context, carry roles through save/updateTargets, hydrate local shared plugin reads, and keep share URLs only under plugin.shareContext.github.com-openai-codex · 479491ed · 2026-05-09
- 0.6ETVfeat: Add plugin share access controls (#21124) Extends `plugin/share/save` to accept optional discoverability and shareTargets while uploading plugin contents, and adds `plugin/share/updateTargets` for share-only target updates without re-uploading.github.com-openai-codex · 5119680f · 2026-05-06
- 0.5ETV[codex] Bump plugin patch versions (#312) ## Summary Bumps the patch version for every top-level plugin manifest under `plugins/*/.codex-plugin/plugin.json`. ## Details - Updates 171 plugin manifests. - Only the top-level plugin `version` fields were changed. - Skill, package, fixture, and reference versions were left untouched. ## Validation - Confirmed branch fork point: `0732ec94f8c80f6e500c62938f5817d434cf778c`. - Confirmed there were no existing commits on `xl/plugin` after the fork point before this change. - Checked the diff only changes `version` lines in top-level plugin manifests. - Ran `jq empty plugins/*/.codex-plugin/plugin.json` to verify the changed manifests parse as JSON. No test suite was run; this is a metadata-only version bump.github.com-openai-plugins · 2abb1c44 · 2026-06-03
- 0.4ETVfeat: Track local paths for shared plugins (#20560) When a local plugin is shared, Codex now records the local plugin path by remote plugin id under CODEX_HOME/.tmp. plugin/share/list includes the remote share URL and the matching local plugin path when available, and plugin/share/delete clears the local mapping after deleting the remote share. Also add sharedURL to plugin/share/list.github.com-openai-codex · 48791920 · 2026-05-01
- 0.4ETVfix: plugin bundle archive handling for upload and install (#23983) Move plugin tar.gz packing and unpacking into a shared core-plugins archive helper so uploaded bundles are decoded through the same tar handling used for installs. This removes duplicate archive logic, supports GNU long-name entries on extraction, and keeps size, traversal, link, and entry-type checks in one place.github.com-openai-codex · 7d47056e · 2026-05-23
- 0.4ETVfeat: Update plugin share settings with discoverability (#21637) Requires discoverability on plugin/share/updateTargets so the server can manage workspace link access consistently, including auto-adding the workspace principal for UNLISTED. Also rejects LISTED on share creation and blocks client-supplied workspace principals while preserving response parsing for LISTED.github.com-openai-codex · ae153432 · 2026-05-08
- 0.4ETVfix: Deduplicate installed local and remote curated plugins (#25681) ## Summary - Deduplicate installed `openai-curated` and `openai-curated-remote` plugin conflicts by feature flag. - Prefer remote when remote plugins are enabled; otherwise prefer local, while preserving one-sided installs. ## Testing - `just fmt` - `git diff --check` - Targeted `just test` was blocked locally because `cargo-nextest` is not installed.github.com-openai-codex · 6ae99fd3 · 2026-06-01
- 0.4ETVfeat: Expose plugin versions and gate plugin sharing (#22397) - Adds localVersion to plugin summaries and remoteVersion to share context, including generated API schemas. - Hydrates local and remote plugin versions from manifests and remote release metadata. - Adds default-on plugin_sharing gate for shared-with-me listing and plugin/share/save, with disabled-path errors and focused coverage.github.com-openai-codex · d1430fd6 · 2026-05-13
- 0.4ETVAdd runtime extra skill roots API (#24977) ## Summary - Add v2 `skills/extraRoots/set` to replace app-server process-local standalone skill roots. The setting is not persisted, accepts missing roots, and `extraRoots: []` clears the runtime set. - Wire runtime roots into core skill discovery for `skills/list` and turn loads, clear skill caches on set, and register the roots with the skills watcher so later filesystem changes emit `skills/changed`. - Update app-server docs, generated JSON/TypeScript schemas, and coverage for serialization, missing roots, empty clears, and restart behavior. ## Testing - `cargo test -p codex-app-server-protocol` - `cargo test -p codex-core-skills` - `cargo test -p codex-app-server skills_extra_roots_set_updates_process_runtime_roots` - `just fix -p codex-app-server-protocol` - `just fix -p codex-core-skills` - `just fix -p codex-app-server`github.com-openai-codex · f0a839ea · 2026-05-29
- 0.4ETV[codex] Reuse parsed plugin skills during session startup (#28844) ## Summary - Preserve raw plugin skill-root snapshots in the matching loaded-plugin cache entry, keyed by the effective plugin root identity including namespace. - Pass those snapshots through `SkillsLoadInput` as an optional preload, so session startup reuses plugin parsing while ordinary skill loads pass `None`. - Keep plugin skill loading cohesive: the existing loaders accept the optional snapshots directly, and uncached or marketplace-detail paths do not create a cache. ## Why Plugin discovery already parses plugin skills to determine available capabilities. Cold session startup then scanned and parsed the same roots again while building the skills snapshot. This solves the same duplicate-work problem as #28623 while keeping ownership narrow: `PluginsManager` creates and owns `PluginSkillSnapshots` only for its loaded-plugin cache entry; `SkillsService` consumes an optional clone. Entry replacement or clearing naturally drops the snapshots, with no separate generation, capacity policy, or watcher coupling. ## Validation - `cargo clippy -p codex-core-skills --all-targets -- -D warnings` - `just test -p codex-core-plugins skills_service_reuses_skills_parsed_during_plugin_load` - `just test -p codex-core-skills namespaces_plugin_skills_using_provided_namespace` - `just fmt`github.com-openai-codex · e83b7841 · 2026-06-18
- 0.3ETVfix: Allow plugin skills to share plugin-level icon assets (#23776) Thread the plugin root through plugin skill loading so skill interface icons can reference shared plugin assets, such as ../../assets/logo.svg.github.com-openai-codex · 247e22a9 · 2026-05-21