fix: context-size /compact trigger, Codex marketplace plugin path, live README badges (#2237)

- suggest-compact hook now reads the latest usage record from the session
  transcript and suggests /compact at a window-scaled token threshold
  (160k/200k window, 250k/1M window; COMPACT_CONTEXT_THRESHOLD and
  COMPACT_CONTEXT_INTERVAL overridable), re-firing per 60k-token growth
  bucket; tool-call count stays as the secondary signal (#2155)
- Codex repo marketplace now points at ./plugins/ecc instead of ./ — Codex
  never discovers plugins whose local marketplace source.path is the
  marketplace root (verified on Codex CLI 0.137.0); plugins/ecc is a thin
  folder referencing root skills/.mcp.json per maintainer direction on
  #2097; docs flag plugin mode as experimental with the upstream blocker
  openai/codex#26037 linked (#2128)
- README badges for installs/stars/forks now use shields endpoint badges
  backed by api.ecc.tools (live install count 3,712 vs the stale static
  150), which also eliminates shields' 'Unable to select next GitHub token
  from pool' render in the stars badge

Closes #2155
Closes #2128
This commit is contained in:
Affaan Mustafa
2026-06-11 16:21:53 -04:00
committed by GitHub
parent fec84fcf19
commit 7777656bf5
23 changed files with 1098 additions and 96 deletions

41
plugins/ecc/README.md Normal file
View File

@@ -0,0 +1,41 @@
# plugins/ecc — Codex Repo-Marketplace Plugin Target
This directory is the plugin folder that `.agents/plugins/marketplace.json`
points at. Codex does not discover plugins whose local marketplace
`source.path` is the marketplace root itself (`./`), so the marketplace entry
must target a concrete plugin subdirectory — verified against Codex CLI
0.137.0 and the official plugin docs (`$REPO_ROOT/plugins/<name>`).
## Single source of truth
Per the repo's no-duplication policy, no skill or MCP content is vendored
here. `.codex-plugin/plugin.json` references the canonical root content with
parent-relative paths:
| Manifest field | Resolves to |
|---|---|
| `skills` | `skills/` at the repo root |
| `mcpServers` | `.mcp.json` at the repo root |
| `interface.composerIcon` / `interface.logo` | `assets/` at the repo root |
The canonical Codex plugin manifest for the repo-root bundle (used by the
official `openai/plugins` directory shape and other harness tooling) remains
at `.codex-plugin/plugin.json`. Keep `name` and `version` in both manifests in
sync — `tests/plugin-manifest.test.js` enforces this and `scripts/release.sh`
bumps both.
## Current Codex plugin-mode status
With this layout, `codex plugin marketplace add affaan-m/ECC` discovers and
installs `ecc@ecc`. Runtime skill loading from repo marketplaces is still
unreliable upstream — Codex copies only the plugin folder into its install
cache, and local/personal marketplace plugins are not always exposed at
runtime (see [openai/codex#26037](https://github.com/openai/codex/issues/26037)
and [affaan-m/ECC#2128](https://github.com/affaan-m/ECC/issues/2128)).
Until the upstream discovery issues settle, the supported Codex path is the
manual sync flow documented in the README:
```bash
npm install && bash scripts/sync-ecc-to-codex.sh
```