73e8988f31
Promote the four real-usage QA channels (HTTP call, tmux, Browser use, Computer use) into a dedicated top-level `# Manual-QA channels` section in both the Codex ultrawork directive and the ultragoal skill. Each channel ships with the concrete invocation (`curl -i`, `tmux new-session` + `send-keys` + `capture-pane`, Playwright / puppeteer / Chromium, OS-level GUI automation) and the artifact to capture. The Goal section now declares `TESTS ALONE NEVER PROVE DONE` and requires every criterion to build a fresh real-usage scenario and run it through one of the four channels every time. Auxiliary surfaces (CLI stdout / DB diff / parsed config dump) are explicitly demoted: they only satisfy genuinely CLI- or data-shaped criteria, never user-facing behavior. Bootstrap criterion item 2 and execution step 4 used to repeat the same surface enumeration; they now collapse onto the new channel table (single source of truth, less drift). EXECUTE-AS-SCENARIO in the ultragoal skill follows the same compression. The previous CLEANUP (paired teardown + receipt) + leftover-state stop rule from the prior commit are preserved. Regression tests in `components/ultrawork/hooks/ultrawork-hooks.test.mjs` pin: the `# Manual-QA channels` heading, all four channel labels (`HTTP call`, `tmux`, `Browser use`, `Computer use`), `TESTS ALONE NEVER PROVE DONE`, `every criterion needs its own real-usage scenario`, and `every time`. README + CHANGELOGs document the restructure and the new size (11,005 chars / 232 lines). All 11 ultrawork hook tests + 7 aggregate tests pass. Installed locally via `runCodexInstaller` into `~/.codex/plugins/cache/code-yeongyu-codex-plugins/omo/0.1.0/`; cache hooks emit the new directive end-to-end and the identifier-like `ulw_helper.ts` keyword-boundary check still suppresses.
codex-ultragoal
Codex plugin scaffold for durable repo-native multi-goal orchestration with embedded success criteria and observable evidence audit.
Behavior
| Subcommand | Purpose |
|---|---|
omo ultragoal create-goals |
Create repo-native goals from a brief and seed criteria. |
omo ultragoal record-evidence |
Record observable evidence for the active criterion. |
omo ultragoal criteria |
Inspect or revise goal success criteria. |
omo ultragoal complete-goals |
Complete eligible goals after criteria pass. |
omo ultragoal checkpoint |
Refuse completion until criteria and evidence gates pass. |
omo ultragoal steer |
Apply steering updates to the plan. |
omo ultragoal status |
Report active goal, criteria, and evidence state. |
Wave 1 is scaffold only. Command behavior lands in later waves.
Codex Plugin
The plugin ships:
.codex-plugin/plugin.jsonfor Codex plugin discovery.hooks/hooks.jsonfor theUserPromptSubmithook.skills/ultragoal/as the future skill directory.
The hook command is:
node "${PLUGIN_ROOT}/dist/cli.js" hook user-prompt-submit
No MCP server or Codex tool is exposed in this scaffold.
Local Development
npm install
npm test
npm run typecheck
npm run check
npm pack --dry-run
Local Codex Installation
From the marketplace root containing this plugin:
codex plugin marketplace add /path/to/codex-plugins
node /path/to/codex-plugins/scripts/install-local.mjs /path/to/codex-plugins
If your local Codex build exposes plugin install commands, you can install from the UI or CLI instead. For older local builds, the marketplace installer builds and copies the plugin into ~/.codex/plugins/cache/<marketplace>/omo/0.1.0, installs runtime dependencies there, and enables:
[features]
plugins = true
plugin_hooks = true
[plugins."omo@code-yeongyu-codex-plugins"]
enabled = true
Privacy
This plugin runs locally. The scaffold does not call a network service by itself.
License
MIT.
Related
- oh-my-codex - source project for the ultragoal port.
- codex-plugins - local Codex plugin marketplace.