git:20260824.f7cdde8 to git:20260902.e5ab78a

5 added, 5 removed. Audit A to A.

# plugin — vendored Codex plugin bundle (`@sisyphuslabs/omo-codex-plugin`)
- **Score 13** (608 files; distinct package boundary between the adapter and 15 component dirs, each with its own AGENTS.md).
+ **Score 13** (608 files; distinct package boundary between the adapter and 13 component dirs, each with its own AGENTS.md).
## OVERVIEW
- The shipped Codex plugin namespace `omo` (marketplace `sisyphuslabs`), v5.0.0-beta.18. npm workspaces root for the 11 component packages; owns aggregate hook wiring, MCP declarations, and the build/sync pipeline. Component roster, sync-skills pipeline, and install targets are owned by the package AGENTS.md — not repeated here.
+ The shipped Codex plugin namespace `omo` (marketplace `sisyphuslabs`), v5.0.0-beta.18. npm workspaces root for the 10 component packages; owns aggregate hook wiring, MCP declarations, and the build/sync pipeline. Component roster, sync-skills pipeline, and install targets are owned by the package AGENTS.md — not repeated here.
## STRUCTURE
| Path | Role |
|------|------|
- | `components/` | 11 workspace components + `bootstrap` (standalone, deliberately outside workspaces), `test-support`, `lcx`. Each owns its `AGENTS.md` |
- | `hooks/` | 23 aggregate hook JSON files, assembled from each component's `hooks/hooks.json` by the build |
+ | `components/` | 10 workspace components + `bootstrap` (standalone, deliberately outside workspaces), `test-support`, `lcx`. Each owns its `AGENTS.md` |
+ | `hooks/` | 21 aggregate hook JSON files, assembled from each component's `hooks/hooks.json` by the build |
| `scripts/` | Build/sync/migration orchestration (own AGENTS.md) |
| `test/` | node:test black-box contract suite (own AGENTS.md) |
| `shared/` | `getCodexOmoConfig()` unified-config loader + startup config migration (`src/config-loader.ts`, `src/config-migration.ts`) |
| `skills/` | GENERATED by `sync-skills.mjs`; gitignored except the two tracked shared copies (`init-deep`, `ulw-plan`) |
| `.codex-plugin/plugin.json` | Aggregate manifest Codex consumes |
- | `.mcp.json` | 5 servers: `codegraph`, `git_bash`, `lsp` (local stdio) + `grep_app`, `context7` (remote) |
+ | `.mcp.json` | 4 servers: `git_bash`, `lsp` (local stdio) + `grep_app`, `context7` (remote) |
## WHERE TO LOOK
| Task | Location |
|------|----------|
| Add/modify a component hook | Component's `hooks/hooks.json`; the build re-assembles `hooks/*.json` |
| Aggregate hook side | `hooks/<event>-checking-<component>.json`; only the aggregate copies carry `commandWindows` dispatch |
| MCP server enable/paths | `.mcp.json`; install-time rewriting in `../src/install/codex-cache-bundled-mcps.ts` |
| Unified `[codex]` config resolution | `shared/src/config-loader.ts` |
| Build pipeline internals | `scripts/AGENTS.md` |
## CONVENTIONS
- Build order is fixed: `sync-version` → `sync-hook-status-messages` → `build-bundled-mcp-runtimes` → `materialize-shared-upstreams` → `sync-skills` → `build-components` (all via `npm run build`).
- `(OmO <version>)` `statusMessage` stamps are generated by sync scripts; never hand-edit.
- `skills/` is build output: edit component skill sources, then rebuild. The two tracked shared copies are the exception — they are committed.
- Tests run with `node --test`, NOT bun/vitest: root `bunfig.toml` excludes `plugin/**` from the root bun suite.
## COMMANDS
From `packages/omo-codex/plugin/`:
```bash
npm run build # full sync + components pipeline
npm test # node --test test/*.test.mjs
npm run check # build && test
```