Commit Graph

12 Commits

Author SHA1 Message Date
YeonGyu-Kim 8c6e8e4986 refactor(omo-codex): rename ultragoal component to ulw-loop
Fully rename the ultragoal component to ulw-loop so the identifier
matches the ulw-loop skill it powers. Renames the component directory,
nested skill, TS identifiers (UlwLoop / ULW_LOOP_* / ulwLoop*), the
omo ulw-loop CLI subcommand, the .omo/ulw-loop state directory, the
OMO_ULW_LOOP_STEER directive token, and the @code-yeongyu/codex-ulw-loop
package. Also threads Atlas-style right-sized parallel worker delegation
and a Prometheus-style QA + maximum-parallelism plan into the ulw-loop
skill, with a critical post-subagent QA gate.

Updates aggregate wiring (plugin package components, hooks.json,
sync-skills), the install-codex agent-link test fixture, and user docs.
2026-05-29 12:38:22 +09:00
YeonGyu-Kim 5030a116f3 feat(omo-codex): rework skill set around ulw-loop and planner agents
Rename ultragoal skill to ulw-loop with a CLI bootstrap fallback and
openai.yaml hint metadata, while keeping ultragoal as a discoverable
alias. Drop the metis and momus skills in favor of bundled ultrawork
planner agents and rewrite the planing-prometheustic skill. Update
aggregate and sync-skills tests to match.
2026-05-29 11:19:00 +09:00
YeonGyu-Kim 58871c4301 feat(shared-skills): move init-deep to shared skill 2026-05-28 17:03:33 +09:00
YeonGyu-Kim 5662144283 feat(omo-codex): add start-work skill markdown
Ports the OpenCode /start-work flow onto Codex as a discoverable skill.
The skill drives plan selection, Boulder state with codex:<session_id>
prefixed ids, worktree binding, parallel spawn_agent sub-tasks with
6-section prompts, 4-channel Manual-QA evidence (HTTP / tmux / browser /
computer use), ledger append at .omo/start-work/ledger.jsonl, and a
4-phase verification gate. Pairs with the start-work-continuation Codex
Stop / SubagentStop hook component that re-injects continuation while
boulder.json shows incomplete work for the active codex: session.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-28 17:03:33 +09:00
YeonGyu-Kim 16c0844421 feat(shared-skills): incorporate ouroboros/gajae-code patterns into planning skills
Improvements inspired by Q00/ouroboros and Yeachan-Heo/gajae-code:

planing-prometheustic:
- Add brownfield detection (greenfield vs brownfield context awareness)
- Add topology enumeration (Round 0) to lock component list before
  deep interview, preventing depth-first overfitting to one component
- Add interview routing rule (facts→code, tradeoffs→user, mixed→both)
- Add retrieval budget (direct reads first, subagents only when needed)
- Add challenge perspective shifts (Contrarian/Simplifier/Ontologist)
- Per-component clearance checklist (every component must pass)
- Handle ITERATE verdict from Momus (max 2 auto-fix rounds)
- NO numeric scoring — qualitative clearance only, per Prometheus style

metis:
- Add brownfield/greenfield detection with evidence to output
- Add topology enumeration (top-level components) to output format
- Add topology directives (planner must cover every active component)
- Add per-component coverage tracking guidance
- Explicit prohibition on numeric scoring formulas

momus:
- Add ITERATE verdict between OKAY and REJECT (fixable gaps the
  planner can patch without user input, max 2 auto-fix rounds)
- Update output format for three-verdict system
- Update review process step 6 for three-way decision
- REJECT now reserved for fundamental blockers or missing user decisions
2026-05-28 14:38:52 +09:00
YeonGyu-Kim 68848233c4 docs(omo-codex): translate bundled prompts to English 2026-05-28 14:14:11 +09:00
YeonGyu-Kim cabd9b0960 feat(shared-skills): add planing-prometheustic, metis, momus skills for omo-codex
Add three GPT-5.5 optimized skills to the shared-skills package:

- planing-prometheustic: Prometheus-style strategic planning consultant
  that produces decision-complete work plans through interview, context
  gathering, gap analysis, and optional rigorous review.

- metis: Pre-planning consultant that classifies intent, discovers
  codebase patterns, identifies hidden requirements, flags AI-slop
  risks, and outputs actionable directives for the planner.

- momus: Practical work plan reviewer that verifies plans are executable
  and references are valid. Blocker-finder with OKAY/REJECT verdicts
  and max 3 blocking issues per rejection.

All three use GPT-5.5 prompting style (XML-tagged blocks, outcome-first
structure, personality/collaboration separation) and are auto-synced
into omo-codex plugin/skills/ by sync-skills.mjs.
2026-05-28 14:10:47 +09:00
YeonGyu-Kim 73e8988f31 feat(omo-codex): enumerate 4 manual-QA channels + forbid tests-alone verification in ultrawork/ultragoal
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.
2026-05-28 13:58:12 +09:00
YeonGyu-Kim e746dcf0d8 feat(omo-codex): mandate manual-QA-as-scenario + paired cleanup in ultrawork/ultragoal
Both the Codex ultrawork directive and the ultragoal skill now force the agent to actually invoke the real user-facing surface (HTTP via `curl -i`, terminal/TUI via `tmux new-session` + `send-keys` + `capture-pane`, GUI via computer-use / Playwright, CLI stdout, DB diff) instead of treating evidence as a free-form artifact list. A paired CLEANUP step requires teardown of every QA-spawned process, tmux session, browser context, container, bound port, temp file/dir, and QA-only env var, with a one-line cleanup receipt recorded next to the artifact path (ultrawork) or embedded in the `--evidence` string (ultragoal). Missing receipt keeps the criterion in_progress / records BLOCKED. New Stop rule: leftover state from QA means NOT done.

Regression tests in `components/ultrawork/hooks/ultrawork-hooks.test.mjs` pin SURFACE-AS-SCENARIO, the concrete `curl -i` / `tmux new-session` / `computer-use / Playwright` invocations, the paired CLEANUP block with cleanup receipt + `tmux kill-session`, and the leftover-state Stop rule so the mandates cannot be silently regressed. README and CHANGELOGs refreshed; stale 5,821-char claim replaced with measured 10,037 chars / 213 lines. All 9 ultrawork hook tests + 7 aggregate tests pass.
2026-05-28 13:58:12 +09:00
YeonGyu-Kim d18c2c078d fix(omo-codex): adapt synced skills for Codex tools 2026-05-28 13:58:12 +09:00
YeonGyu-Kim 22c91629b3 feat(omo-codex): sync shared skills into plugin 2026-05-28 13:58:12 +09:00
YeonGyu-Kim 2415f37bc0 vendor: import codex-plugins as packages/omo-codex/{plugin,scripts,marketplace.json,MARKETPLACE.md} 2026-05-28 13:58:11 +09:00