oh-my-codex 0.15.2 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cargo.lock +10 -7
- package/Cargo.toml +1 -1
- package/README.md +3 -0
- package/crates/omx-explore/Cargo.toml +3 -0
- package/crates/omx-explore/src/main.rs +517 -16
- package/dist/agents/__tests__/native-config.test.js +33 -0
- package/dist/agents/__tests__/native-config.test.js.map +1 -1
- package/dist/autoresearch/goal.d.ts +90 -0
- package/dist/autoresearch/goal.d.ts.map +1 -0
- package/dist/autoresearch/goal.js +237 -0
- package/dist/autoresearch/goal.js.map +1 -0
- package/dist/autoresearch/skill-validation.d.ts +1 -0
- package/dist/autoresearch/skill-validation.d.ts.map +1 -1
- package/dist/autoresearch/skill-validation.js +10 -3
- package/dist/autoresearch/skill-validation.js.map +1 -1
- package/dist/catalog/__tests__/generator.test.js +9 -4
- package/dist/catalog/__tests__/generator.test.js.map +1 -1
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.js +29 -2
- package/dist/catalog/__tests__/plugin-bundle-ssot.test.js.map +1 -1
- package/dist/catalog/__tests__/schema.test.js +14 -3
- package/dist/catalog/__tests__/schema.test.js.map +1 -1
- package/dist/catalog/schema.js +1 -1
- package/dist/catalog/schema.js.map +1 -1
- package/dist/cli/__tests__/autoresearch-goal.test.d.ts +2 -0
- package/dist/cli/__tests__/autoresearch-goal.test.d.ts.map +1 -0
- package/dist/cli/__tests__/autoresearch-goal.test.js +194 -0
- package/dist/cli/__tests__/autoresearch-goal.test.js.map +1 -0
- package/dist/cli/__tests__/cleanup.test.js +82 -1
- package/dist/cli/__tests__/cleanup.test.js.map +1 -1
- package/dist/cli/__tests__/codex-plugin-layout.test.js +7 -4
- package/dist/cli/__tests__/codex-plugin-layout.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-context-window-warning.test.d.ts +2 -0
- package/dist/cli/__tests__/doctor-context-window-warning.test.d.ts.map +1 -0
- package/dist/cli/__tests__/doctor-context-window-warning.test.js +122 -0
- package/dist/cli/__tests__/doctor-context-window-warning.test.js.map +1 -0
- package/dist/cli/__tests__/doctor-warning-copy.test.js +25 -2
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/exec.test.js +1 -0
- package/dist/cli/__tests__/exec.test.js.map +1 -1
- package/dist/cli/__tests__/explore.test.js +48 -18
- package/dist/cli/__tests__/explore.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +222 -10
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/launch-fallback.test.js +58 -0
- package/dist/cli/__tests__/launch-fallback.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-serve.test.js +27 -1
- package/dist/cli/__tests__/mcp-serve.test.js.map +1 -1
- package/dist/cli/__tests__/native-assets.test.js +26 -1
- package/dist/cli/__tests__/native-assets.test.js.map +1 -1
- package/dist/cli/__tests__/package-bin-contract.test.js +2 -2
- package/dist/cli/__tests__/package-bin-contract.test.js.map +1 -1
- package/dist/cli/__tests__/performance-goal.test.d.ts +2 -0
- package/dist/cli/__tests__/performance-goal.test.d.ts.map +1 -0
- package/dist/cli/__tests__/performance-goal.test.js +144 -0
- package/dist/cli/__tests__/performance-goal.test.js.map +1 -0
- package/dist/cli/__tests__/question.test.js +8 -0
- package/dist/cli/__tests__/question.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.d.ts +2 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.d.ts.map +1 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +31 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -0
- package/dist/cli/__tests__/ralph-prd-deep-interview.test.js +5 -4
- package/dist/cli/__tests__/ralph-prd-deep-interview.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-prd-smoke.test.js +7 -0
- package/dist/cli/__tests__/ralph-prd-smoke.test.js.map +1 -1
- package/dist/cli/__tests__/ralph.test.js +59 -1
- package/dist/cli/__tests__/ralph.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +57 -21
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +27 -8
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/setup-scope.test.js +20 -10
- package/dist/cli/__tests__/setup-scope.test.js.map +1 -1
- package/dist/cli/__tests__/setup-skill-validation.test.js +11 -11
- package/dist/cli/__tests__/setup-skill-validation.test.js.map +1 -1
- package/dist/cli/__tests__/setup-skills-overwrite.test.js +12 -12
- package/dist/cli/__tests__/setup-skills-overwrite.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +242 -10
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.d.ts +2 -0
- package/dist/cli/__tests__/ultragoal.test.d.ts.map +1 -0
- package/dist/cli/__tests__/ultragoal.test.js +106 -0
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -0
- package/dist/cli/__tests__/uninstall.test.js +11 -0
- package/dist/cli/__tests__/uninstall.test.js.map +1 -1
- package/dist/cli/autoresearch-goal.d.ts +3 -0
- package/dist/cli/autoresearch-goal.d.ts.map +1 -0
- package/dist/cli/autoresearch-goal.js +175 -0
- package/dist/cli/autoresearch-goal.js.map +1 -0
- package/dist/cli/cleanup.d.ts +3 -1
- package/dist/cli/cleanup.d.ts.map +1 -1
- package/dist/cli/cleanup.js +42 -2
- package/dist/cli/cleanup.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +95 -3
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/explore.d.ts.map +1 -1
- package/dist/cli/explore.js +10 -2
- package/dist/cli/explore.js.map +1 -1
- package/dist/cli/index.d.ts +21 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +268 -30
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp-serve.d.ts +1 -0
- package/dist/cli/mcp-serve.d.ts.map +1 -1
- package/dist/cli/mcp-serve.js +8 -0
- package/dist/cli/mcp-serve.js.map +1 -1
- package/dist/cli/native-assets.js +1 -1
- package/dist/cli/native-assets.js.map +1 -1
- package/dist/cli/performance-goal.d.ts +3 -0
- package/dist/cli/performance-goal.d.ts.map +1 -0
- package/dist/cli/performance-goal.js +186 -0
- package/dist/cli/performance-goal.js.map +1 -0
- package/dist/cli/ralph.d.ts +2 -0
- package/dist/cli/ralph.d.ts.map +1 -1
- package/dist/cli/ralph.js +25 -1
- package/dist/cli/ralph.js.map +1 -1
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +13 -6
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/team.d.ts +6 -0
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +113 -33
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/tmux-hook.d.ts.map +1 -1
- package/dist/cli/tmux-hook.js +2 -1
- package/dist/cli/tmux-hook.js.map +1 -1
- package/dist/cli/ultragoal.d.ts +3 -0
- package/dist/cli/ultragoal.d.ts.map +1 -0
- package/dist/cli/ultragoal.js +191 -0
- package/dist/cli/ultragoal.js.map +1 -0
- package/dist/cli/uninstall.d.ts.map +1 -1
- package/dist/cli/uninstall.js +4 -2
- package/dist/cli/uninstall.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +39 -6
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/__tests__/generator-notify.test.js +5 -0
- package/dist/config/__tests__/generator-notify.test.js.map +1 -1
- package/dist/config/commit-lore-guard.d.ts +3 -0
- package/dist/config/commit-lore-guard.d.ts.map +1 -0
- package/dist/config/commit-lore-guard.js +9 -0
- package/dist/config/commit-lore-guard.js.map +1 -0
- package/dist/config/generator.d.ts +14 -4
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +166 -66
- package/dist/config/generator.js.map +1 -1
- package/dist/config/omx-first-party-mcp.d.ts +1 -0
- package/dist/config/omx-first-party-mcp.d.ts.map +1 -1
- package/dist/config/omx-first-party-mcp.js +4 -1
- package/dist/config/omx-first-party-mcp.js.map +1 -1
- package/dist/goal-workflows/__tests__/artifacts.test.d.ts +2 -0
- package/dist/goal-workflows/__tests__/artifacts.test.d.ts.map +1 -0
- package/dist/goal-workflows/__tests__/artifacts.test.js +96 -0
- package/dist/goal-workflows/__tests__/artifacts.test.js.map +1 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.d.ts +2 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.d.ts.map +1 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js +54 -0
- package/dist/goal-workflows/__tests__/codex-goal-snapshot.test.js.map +1 -0
- package/dist/goal-workflows/artifacts.d.ts +62 -0
- package/dist/goal-workflows/artifacts.d.ts.map +1 -0
- package/dist/goal-workflows/artifacts.js +132 -0
- package/dist/goal-workflows/artifacts.js.map +1 -0
- package/dist/goal-workflows/codex-goal-snapshot.d.ts +28 -0
- package/dist/goal-workflows/codex-goal-snapshot.d.ts.map +1 -0
- package/dist/goal-workflows/codex-goal-snapshot.js +110 -0
- package/dist/goal-workflows/codex-goal-snapshot.js.map +1 -0
- package/dist/goal-workflows/handoff.d.ts +10 -0
- package/dist/goal-workflows/handoff.d.ts.map +1 -0
- package/dist/goal-workflows/handoff.js +31 -0
- package/dist/goal-workflows/handoff.js.map +1 -0
- package/dist/goal-workflows/validation.d.ts +13 -0
- package/dist/goal-workflows/validation.d.ts.map +1 -0
- package/dist/goal-workflows/validation.js +36 -0
- package/dist/goal-workflows/validation.js.map +1 -0
- package/dist/hooks/__tests__/agents-overlay.test.js +59 -0
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/anti-slop-workflow.test.js +109 -18
- package/dist/hooks/__tests__/anti-slop-workflow.test.js.map +1 -1
- package/dist/hooks/__tests__/keyword-detector.test.js +45 -32
- package/dist/hooks/__tests__/keyword-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js +3 -3
- package/dist/hooks/__tests__/notify-fallback-watcher.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js +2 -1
- package/dist/hooks/__tests__/notify-hook-team-dispatch.test.js.map +1 -1
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js +17 -24
- package/dist/hooks/__tests__/notify-hook-team-leader-nudge.test.js.map +1 -1
- package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js +3 -3
- package/dist/hooks/__tests__/prompt-guidance-wave-two.test.js.map +1 -1
- package/dist/hooks/__tests__/task-size-detector.test.js +1 -1
- package/dist/hooks/__tests__/task-size-detector.test.js.map +1 -1
- package/dist/hooks/__tests__/visual-ralph-skill.test.js +3 -3
- package/dist/hooks/__tests__/visual-ralph-skill.test.js.map +1 -1
- package/dist/hooks/__tests__/visual-verdict-loop.test.js +7 -11
- package/dist/hooks/__tests__/visual-verdict-loop.test.js.map +1 -1
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +23 -2
- package/dist/hooks/agents-overlay.js.map +1 -1
- package/dist/hooks/keyword-detector.d.ts.map +1 -1
- package/dist/hooks/keyword-detector.js +12 -13
- package/dist/hooks/keyword-detector.js.map +1 -1
- package/dist/hooks/keyword-registry.d.ts.map +1 -1
- package/dist/hooks/keyword-registry.js +2 -10
- package/dist/hooks/keyword-registry.js.map +1 -1
- package/dist/hooks/prompt-guidance-contract.d.ts.map +1 -1
- package/dist/hooks/prompt-guidance-contract.js +0 -4
- package/dist/hooks/prompt-guidance-contract.js.map +1 -1
- package/dist/hooks/session.js +2 -2
- package/dist/hooks/session.js.map +1 -1
- package/dist/hooks/task-size-detector.d.ts.map +1 -1
- package/dist/hooks/task-size-detector.js +1 -0
- package/dist/hooks/task-size-detector.js.map +1 -1
- package/dist/hud/__tests__/index.test.js +30 -14
- package/dist/hud/__tests__/index.test.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +29 -7
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/reconcile.d.ts +2 -1
- package/dist/hud/reconcile.d.ts.map +1 -1
- package/dist/hud/reconcile.js +12 -0
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.js +15 -2
- package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
- package/dist/mcp/__tests__/state-paths.test.js +54 -0
- package/dist/mcp/__tests__/state-paths.test.js.map +1 -1
- package/dist/mcp/__tests__/state-server.test.js +36 -0
- package/dist/mcp/__tests__/state-server.test.js.map +1 -1
- package/dist/mcp/bootstrap.d.ts +1 -1
- package/dist/mcp/bootstrap.d.ts.map +1 -1
- package/dist/mcp/bootstrap.js +9 -7
- package/dist/mcp/bootstrap.js.map +1 -1
- package/dist/mcp/state-paths.d.ts +17 -0
- package/dist/mcp/state-paths.d.ts.map +1 -1
- package/dist/mcp/state-paths.js +36 -2
- package/dist/mcp/state-paths.js.map +1 -1
- package/dist/modes/__tests__/base-session-scope.test.js +26 -0
- package/dist/modes/__tests__/base-session-scope.test.js.map +1 -1
- package/dist/modes/base.d.ts +1 -0
- package/dist/modes/base.d.ts.map +1 -1
- package/dist/modes/base.js +35 -5
- package/dist/modes/base.js.map +1 -1
- package/dist/notifications/__tests__/http-client.test.d.ts +2 -0
- package/dist/notifications/__tests__/http-client.test.d.ts.map +1 -0
- package/dist/notifications/__tests__/http-client.test.js +90 -0
- package/dist/notifications/__tests__/http-client.test.js.map +1 -0
- package/dist/notifications/__tests__/notifier.test.js +22 -60
- package/dist/notifications/__tests__/notifier.test.js.map +1 -1
- package/dist/notifications/dispatcher.d.ts.map +1 -1
- package/dist/notifications/dispatcher.js +35 -60
- package/dist/notifications/dispatcher.js.map +1 -1
- package/dist/notifications/http-client.d.ts +22 -0
- package/dist/notifications/http-client.d.ts.map +1 -0
- package/dist/notifications/http-client.js +298 -0
- package/dist/notifications/http-client.js.map +1 -0
- package/dist/notifications/notifier.d.ts +3 -2
- package/dist/notifications/notifier.d.ts.map +1 -1
- package/dist/notifications/notifier.js +17 -22
- package/dist/notifications/notifier.js.map +1 -1
- package/dist/openclaw/__tests__/dispatcher.test.js +63 -2
- package/dist/openclaw/__tests__/dispatcher.test.js.map +1 -1
- package/dist/openclaw/dispatcher.d.ts.map +1 -1
- package/dist/openclaw/dispatcher.js +3 -2
- package/dist/openclaw/dispatcher.js.map +1 -1
- package/dist/performance-goal/artifacts.d.ts +76 -0
- package/dist/performance-goal/artifacts.d.ts.map +1 -0
- package/dist/performance-goal/artifacts.js +221 -0
- package/dist/performance-goal/artifacts.js.map +1 -0
- package/dist/pipeline/__tests__/stages.test.js +423 -14
- package/dist/pipeline/__tests__/stages.test.js.map +1 -1
- package/dist/pipeline/stages/team-exec.d.ts +8 -4
- package/dist/pipeline/stages/team-exec.d.ts.map +1 -1
- package/dist/pipeline/stages/team-exec.js +181 -13
- package/dist/pipeline/stages/team-exec.js.map +1 -1
- package/dist/planning/__tests__/artifacts.test.js +261 -1
- package/dist/planning/__tests__/artifacts.test.js.map +1 -1
- package/dist/planning/artifact-names.d.ts +13 -0
- package/dist/planning/artifact-names.d.ts.map +1 -0
- package/dist/planning/artifact-names.js +108 -0
- package/dist/planning/artifact-names.js.map +1 -0
- package/dist/planning/artifacts.d.ts +23 -1
- package/dist/planning/artifacts.d.ts.map +1 -1
- package/dist/planning/artifacts.js +171 -59
- package/dist/planning/artifacts.js.map +1 -1
- package/dist/ralph/__tests__/persistence.test.js +21 -1
- package/dist/ralph/__tests__/persistence.test.js.map +1 -1
- package/dist/ralph/persistence.d.ts.map +1 -1
- package/dist/ralph/persistence.js +6 -4
- package/dist/ralph/persistence.js.map +1 -1
- package/dist/ralplan/__tests__/runtime.test.js +2 -0
- package/dist/ralplan/__tests__/runtime.test.js.map +1 -1
- package/dist/ralplan/runtime.d.ts.map +1 -1
- package/dist/ralplan/runtime.js +6 -0
- package/dist/ralplan/runtime.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +1749 -88
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/hook-derived-watcher.test.js +33 -1
- package/dist/scripts/__tests__/hook-derived-watcher.test.js.map +1 -1
- package/dist/scripts/__tests__/run-test-files.test.js +36 -0
- package/dist/scripts/__tests__/run-test-files.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +570 -45
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/codex-native-pre-post.d.ts +7 -0
- package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
- package/dist/scripts/codex-native-pre-post.js +341 -15
- package/dist/scripts/codex-native-pre-post.js.map +1 -1
- package/dist/scripts/hook-derived-watcher.js +2 -1
- package/dist/scripts/hook-derived-watcher.js.map +1 -1
- package/dist/scripts/notify-fallback-watcher.js +2 -1
- package/dist/scripts/notify-fallback-watcher.js.map +1 -1
- package/dist/scripts/notify-hook/orchestration-intent.d.ts +1 -2
- package/dist/scripts/notify-hook/orchestration-intent.d.ts.map +1 -1
- package/dist/scripts/notify-hook/orchestration-intent.js +2 -3
- package/dist/scripts/notify-hook/orchestration-intent.js.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts +0 -2
- package/dist/scripts/notify-hook/team-leader-nudge.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-leader-nudge.js +8 -60
- package/dist/scripts/notify-hook/team-leader-nudge.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker-posttooluse.js +1 -1
- package/dist/scripts/notify-hook/team-worker-posttooluse.js.map +1 -1
- package/dist/scripts/notify-hook/team-worker-stop.d.ts +15 -0
- package/dist/scripts/notify-hook/team-worker-stop.d.ts.map +1 -0
- package/dist/scripts/notify-hook/team-worker-stop.js +224 -0
- package/dist/scripts/notify-hook/team-worker-stop.js.map +1 -0
- package/dist/scripts/notify-hook/team-worker.d.ts.map +1 -1
- package/dist/scripts/notify-hook/team-worker.js +26 -18
- package/dist/scripts/notify-hook/team-worker.js.map +1 -1
- package/dist/scripts/notify-hook.js +1 -1
- package/dist/scripts/notify-hook.js.map +1 -1
- package/dist/scripts/run-test-files.js +17 -1
- package/dist/scripts/run-test-files.js.map +1 -1
- package/dist/scripts/sync-plugin-mirror.d.ts +1 -0
- package/dist/scripts/sync-plugin-mirror.d.ts.map +1 -1
- package/dist/scripts/sync-plugin-mirror.js +10 -4
- package/dist/scripts/sync-plugin-mirror.js.map +1 -1
- package/dist/state/__tests__/operations.test.js +26 -0
- package/dist/state/__tests__/operations.test.js.map +1 -1
- package/dist/state/__tests__/skill-active.test.js +76 -0
- package/dist/state/__tests__/skill-active.test.js.map +1 -1
- package/dist/state/operations.d.ts +3 -1
- package/dist/state/operations.d.ts.map +1 -1
- package/dist/state/operations.js +8 -4
- package/dist/state/operations.js.map +1 -1
- package/dist/state/skill-active.d.ts +1 -0
- package/dist/state/skill-active.d.ts.map +1 -1
- package/dist/state/skill-active.js +54 -13
- package/dist/state/skill-active.js.map +1 -1
- package/dist/team/__tests__/api-interop.test.js +279 -0
- package/dist/team/__tests__/api-interop.test.js.map +1 -1
- package/dist/team/__tests__/approved-execution.test.d.ts +2 -0
- package/dist/team/__tests__/approved-execution.test.d.ts.map +1 -0
- package/dist/team/__tests__/approved-execution.test.js +124 -0
- package/dist/team/__tests__/approved-execution.test.js.map +1 -0
- package/dist/team/__tests__/delivery-e2e-smoke.test.js +2 -4
- package/dist/team/__tests__/delivery-e2e-smoke.test.js.map +1 -1
- package/dist/team/__tests__/delivery-log.test.d.ts +2 -0
- package/dist/team/__tests__/delivery-log.test.d.ts.map +1 -0
- package/dist/team/__tests__/delivery-log.test.js +44 -0
- package/dist/team/__tests__/delivery-log.test.js.map +1 -0
- package/dist/team/__tests__/model-contract.test.js +40 -9
- package/dist/team/__tests__/model-contract.test.js.map +1 -1
- package/dist/team/__tests__/repo-aware-decomposition.test.js +41 -0
- package/dist/team/__tests__/repo-aware-decomposition.test.js.map +1 -1
- package/dist/team/__tests__/role-router.test.js +4 -4
- package/dist/team/__tests__/role-router.test.js.map +1 -1
- package/dist/team/__tests__/runtime-boxed-state.test.d.ts +2 -0
- package/dist/team/__tests__/runtime-boxed-state.test.d.ts.map +1 -0
- package/dist/team/__tests__/runtime-boxed-state.test.js +39 -0
- package/dist/team/__tests__/runtime-boxed-state.test.js.map +1 -0
- package/dist/team/__tests__/runtime-cli.test.js +24 -0
- package/dist/team/__tests__/runtime-cli.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +563 -72
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/state-root.test.js +13 -0
- package/dist/team/__tests__/state-root.test.js.map +1 -1
- package/dist/team/__tests__/state.test.js +13 -0
- package/dist/team/__tests__/state.test.js.map +1 -1
- package/dist/team/__tests__/team-identity.test.d.ts +2 -0
- package/dist/team/__tests__/team-identity.test.d.ts.map +1 -0
- package/dist/team/__tests__/team-identity.test.js +166 -0
- package/dist/team/__tests__/team-identity.test.js.map +1 -0
- package/dist/team/__tests__/tmux-session.test.js +58 -1
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +62 -0
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/api-interop.d.ts +1 -0
- package/dist/team/api-interop.d.ts.map +1 -1
- package/dist/team/api-interop.js +163 -132
- package/dist/team/api-interop.js.map +1 -1
- package/dist/team/approved-execution.d.ts +37 -0
- package/dist/team/approved-execution.d.ts.map +1 -0
- package/dist/team/approved-execution.js +136 -0
- package/dist/team/approved-execution.js.map +1 -0
- package/dist/team/delivery-log.d.ts +1 -1
- package/dist/team/delivery-log.d.ts.map +1 -1
- package/dist/team/delivery-log.js +2 -1
- package/dist/team/delivery-log.js.map +1 -1
- package/dist/team/followup-planner.js +2 -2
- package/dist/team/followup-planner.js.map +1 -1
- package/dist/team/goal-workflow.d.ts +20 -0
- package/dist/team/goal-workflow.d.ts.map +1 -0
- package/dist/team/goal-workflow.js +57 -0
- package/dist/team/goal-workflow.js.map +1 -0
- package/dist/team/orchestrator.js +2 -2
- package/dist/team/orchestrator.js.map +1 -1
- package/dist/team/repo-aware-decomposition.d.ts +3 -0
- package/dist/team/repo-aware-decomposition.d.ts.map +1 -1
- package/dist/team/repo-aware-decomposition.js +2 -0
- package/dist/team/repo-aware-decomposition.js.map +1 -1
- package/dist/team/role-router.js +5 -5
- package/dist/team/role-router.js.map +1 -1
- package/dist/team/runtime-cli.d.ts +32 -2
- package/dist/team/runtime-cli.d.ts.map +1 -1
- package/dist/team/runtime-cli.js +78 -26
- package/dist/team/runtime-cli.js.map +1 -1
- package/dist/team/runtime.d.ts +7 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +383 -40
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +2 -0
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/state.d.ts +9 -0
- package/dist/team/state.d.ts.map +1 -1
- package/dist/team/state.js +21 -0
- package/dist/team/state.js.map +1 -1
- package/dist/team/team-identity.d.ts +26 -0
- package/dist/team/team-identity.d.ts.map +1 -0
- package/dist/team/team-identity.js +169 -0
- package/dist/team/team-identity.js.map +1 -0
- package/dist/team/tmux-session.d.ts +18 -0
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +65 -3
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/worker-bootstrap.d.ts +4 -0
- package/dist/team/worker-bootstrap.d.ts.map +1 -1
- package/dist/team/worker-bootstrap.js +28 -2
- package/dist/team/worker-bootstrap.js.map +1 -1
- package/dist/ultragoal/__tests__/artifacts.test.d.ts +2 -0
- package/dist/ultragoal/__tests__/artifacts.test.d.ts.map +1 -0
- package/dist/ultragoal/__tests__/artifacts.test.js +93 -0
- package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -0
- package/dist/ultragoal/artifacts.d.ts +89 -0
- package/dist/ultragoal/artifacts.d.ts.map +1 -0
- package/dist/ultragoal/artifacts.js +233 -0
- package/dist/ultragoal/artifacts.js.map +1 -0
- package/dist/utils/__tests__/agents-model-table.test.js +3 -1
- package/dist/utils/__tests__/agents-model-table.test.js.map +1 -1
- package/dist/utils/__tests__/paths.test.js +31 -1
- package/dist/utils/__tests__/paths.test.js.map +1 -1
- package/dist/utils/agents-model-table.d.ts.map +1 -1
- package/dist/utils/agents-model-table.js +12 -1
- package/dist/utils/agents-model-table.js.map +1 -1
- package/dist/utils/paths.d.ts +2 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +23 -7
- package/dist/utils/paths.js.map +1 -1
- package/dist/verification/__tests__/ci-rust-gates.test.js +30 -19
- package/dist/verification/__tests__/ci-rust-gates.test.js.map +1 -1
- package/package.json +5 -5
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/skills/ai-slop-cleaner/SKILL.md +30 -5
- package/plugins/oh-my-codex/skills/ask/SKILL.md +58 -0
- package/plugins/oh-my-codex/skills/autoresearch-goal/SKILL.md +36 -0
- package/plugins/oh-my-codex/skills/omx-setup/SKILL.md +2 -2
- package/plugins/oh-my-codex/skills/performance-goal/SKILL.md +65 -0
- package/plugins/oh-my-codex/skills/plan/SKILL.md +1 -1
- package/plugins/oh-my-codex/skills/ralph/SKILL.md +22 -3
- package/plugins/oh-my-codex/skills/team/SKILL.md +6 -2
- package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +49 -0
- package/plugins/oh-my-codex/skills/visual-ralph/SKILL.md +9 -9
- package/prompts/api-reviewer.md +1 -1
- package/prompts/code-reviewer.md +2 -0
- package/prompts/performance-reviewer.md +1 -1
- package/prompts/quality-reviewer.md +1 -1
- package/prompts/quality-strategist.md +2 -2
- package/prompts/style-reviewer.md +1 -1
- package/prompts/test-engineer.md +1 -1
- package/skills/ai-slop-cleaner/SKILL.md +30 -5
- package/skills/ask/SKILL.md +58 -0
- package/skills/ask-claude/SKILL.md +3 -54
- package/skills/ask-gemini/SKILL.md +3 -54
- package/skills/autoresearch-goal/SKILL.md +36 -0
- package/skills/build-fix/SKILL.md +4 -139
- package/skills/deepsearch/SKILL.md +4 -32
- package/skills/ecomode/SKILL.md +4 -108
- package/skills/help/SKILL.md +4 -196
- package/skills/note/SKILL.md +4 -56
- package/skills/omx-setup/SKILL.md +2 -2
- package/skills/performance-goal/SKILL.md +65 -0
- package/skills/plan/SKILL.md +1 -1
- package/skills/ralph/SKILL.md +22 -3
- package/skills/ralph-init/SKILL.md +4 -40
- package/skills/review/SKILL.md +4 -32
- package/skills/security-review/SKILL.md +4 -294
- package/skills/swarm/SKILL.md +4 -19
- package/skills/tdd/SKILL.md +4 -100
- package/skills/team/SKILL.md +6 -2
- package/skills/trace/SKILL.md +4 -27
- package/skills/ultragoal/SKILL.md +49 -0
- package/skills/visual-ralph/SKILL.md +9 -9
- package/skills/visual-verdict/SKILL.md +4 -70
- package/skills/web-clone/SKILL.md +4 -18
- package/src/scripts/__tests__/codex-native-hook.test.ts +2923 -1030
- package/src/scripts/__tests__/hook-derived-watcher.test.ts +45 -1
- package/src/scripts/__tests__/run-test-files.test.ts +46 -0
- package/src/scripts/codex-native-hook.ts +696 -46
- package/src/scripts/codex-native-pre-post.ts +369 -16
- package/src/scripts/hook-derived-watcher.ts +2 -1
- package/src/scripts/notify-fallback-watcher.ts +2 -1
- package/src/scripts/notify-hook/orchestration-intent.ts +1 -3
- package/src/scripts/notify-hook/team-leader-nudge.ts +7 -63
- package/src/scripts/notify-hook/team-worker-posttooluse.ts +1 -1
- package/src/scripts/notify-hook/team-worker-stop.ts +246 -0
- package/src/scripts/notify-hook/team-worker.ts +23 -14
- package/src/scripts/notify-hook.ts +1 -1
- package/src/scripts/run-test-files.ts +20 -1
- package/src/scripts/sync-plugin-mirror.ts +13 -4
- package/templates/catalog-manifest.json +45 -27
- package/plugins/oh-my-codex/skills/ask-claude/SKILL.md +0 -61
- package/plugins/oh-my-codex/skills/ask-gemini/SKILL.md +0 -61
- package/plugins/oh-my-codex/skills/help/SKILL.md +0 -202
- package/plugins/oh-my-codex/skills/note/SKILL.md +0 -62
- package/plugins/oh-my-codex/skills/security-review/SKILL.md +0 -300
- package/plugins/oh-my-codex/skills/trace/SKILL.md +0 -33
- package/plugins/oh-my-codex/skills/visual-verdict/SKILL.md +0 -76
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export class GoalWorkflowValidationError extends Error {
|
|
2
|
+
}
|
|
3
|
+
function iso(now = new Date()) {
|
|
4
|
+
return now.toISOString();
|
|
5
|
+
}
|
|
6
|
+
function hasPlaceholderEvidence(summary) {
|
|
7
|
+
return /\b(?:todo|tbd|placeholder|stub|not\s+implemented|fake\s+pass)\b/i.test(summary);
|
|
8
|
+
}
|
|
9
|
+
export function normalizeGoalWorkflowValidation(input) {
|
|
10
|
+
if (!input.summary.trim())
|
|
11
|
+
throw new GoalWorkflowValidationError('Validation summary is required.');
|
|
12
|
+
const status = input.status === true || input.status === 'pass'
|
|
13
|
+
? 'validation_passed'
|
|
14
|
+
: input.status === 'blocker'
|
|
15
|
+
? 'blocked'
|
|
16
|
+
: 'failed';
|
|
17
|
+
return {
|
|
18
|
+
status,
|
|
19
|
+
summary: input.summary.trim(),
|
|
20
|
+
artifactPath: input.artifactPath?.trim() || undefined,
|
|
21
|
+
checkedAt: iso(input.checkedAt),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function assertGoalWorkflowCanComplete(validation) {
|
|
25
|
+
if (!validation)
|
|
26
|
+
throw new GoalWorkflowValidationError('Completion requires a validation artifact.');
|
|
27
|
+
if (validation.status !== 'validation_passed') {
|
|
28
|
+
throw new GoalWorkflowValidationError(`Completion requires validation_passed; got ${validation.status}.`);
|
|
29
|
+
}
|
|
30
|
+
if (!validation.artifactPath?.trim())
|
|
31
|
+
throw new GoalWorkflowValidationError('Completion requires a validation artifact path.');
|
|
32
|
+
if (hasPlaceholderEvidence(validation.summary)) {
|
|
33
|
+
throw new GoalWorkflowValidationError('Completion requires real validation evidence, not placeholder evaluator text.');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/goal-workflows/validation.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,2BAA4B,SAAQ,KAAK;CAAG;AAEzD,SAAS,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE;IAC3B,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAe;IAC7C,OAAO,kEAAkE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAAkC;IAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,2BAA2B,CAAC,iCAAiC,CAAC,CAAC;IACpG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;QAC7D,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;YAC1B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,CAAC;IACf,OAAO;QACL,MAAM;QACN,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QAC7B,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,SAAS;QACrD,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,UAAqD;IACjG,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,2BAA2B,CAAC,4CAA4C,CAAC,CAAC;IACrG,IAAI,UAAU,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;QAC9C,MAAM,IAAI,2BAA2B,CAAC,8CAA8C,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,EAAE;QAAE,MAAM,IAAI,2BAA2B,CAAC,iDAAiD,CAAC,CAAC;IAC/H,IAAI,sBAAsB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,2BAA2B,CAAC,+EAA+E,CAAC,CAAC;IACzH,CAAC;AACH,CAAC"}
|
|
@@ -11,6 +11,7 @@ import { existsSync } from "fs";
|
|
|
11
11
|
import { join } from "path";
|
|
12
12
|
import { tmpdir } from "os";
|
|
13
13
|
import { generateOverlay, applyOverlay, stripOverlay, hasOverlay, resolveSessionOrchestrationMode, writeSessionModelInstructionsFile, removeSessionModelInstructionsFile, sessionModelInstructionsPath, } from "../agents-overlay.js";
|
|
14
|
+
import { OMX_GENERATED_AGENTS_MARKER, OMX_MANAGED_AGENTS_END_MARKER, OMX_MANAGED_AGENTS_START_MARKER, } from "../../utils/agents-md.js";
|
|
14
15
|
const RUNTIME_START = "<!-- OMX:RUNTIME:START -->";
|
|
15
16
|
const RUNTIME_END = "<!-- OMX:RUNTIME:END -->";
|
|
16
17
|
const WORKER_START = "<!-- OMX:TEAM:WORKER:START -->";
|
|
@@ -558,6 +559,64 @@ describe("session-scoped model instructions file", () => {
|
|
|
558
559
|
const sessionContent = await readFile(writtenPath, "utf-8");
|
|
559
560
|
assert.ok(sessionContent.includes("<!-- OMX:RUNTIME:START -->"));
|
|
560
561
|
assert.ok(sessionContent.includes("<!-- OMX:RUNTIME:END -->"));
|
|
562
|
+
assert.doesNotMatch(sessionContent, /omx:generated:agents-md/);
|
|
563
|
+
});
|
|
564
|
+
it("omits pure generated OMX project AGENTS from the session model instructions file", async () => {
|
|
565
|
+
await mkdir(join(tempDir, "home", ".codex"), { recursive: true });
|
|
566
|
+
await rm(join(tempDir, "home", ".codex", "AGENTS.md"), { force: true });
|
|
567
|
+
await writeFile(join(tempDir, "AGENTS.md"), [
|
|
568
|
+
"<!-- AUTONOMY DIRECTIVE — DO NOT REMOVE -->",
|
|
569
|
+
"YOU ARE AN AUTONOMOUS CODING AGENT.",
|
|
570
|
+
"<!-- END AUTONOMY DIRECTIVE -->",
|
|
571
|
+
OMX_GENERATED_AGENTS_MARKER,
|
|
572
|
+
"",
|
|
573
|
+
"# oh-my-codex - Intelligent Multi-Agent Orchestration",
|
|
574
|
+
"",
|
|
575
|
+
"Generated orchestration brain.",
|
|
576
|
+
].join("\n"));
|
|
577
|
+
const overlay = await generateOverlay(tempDir, "session-generated");
|
|
578
|
+
const writtenPath = await writeSessionModelInstructionsFile(tempDir, "session-generated", overlay);
|
|
579
|
+
const sessionContent = await readFile(writtenPath, "utf-8");
|
|
580
|
+
assert.doesNotMatch(sessionContent, /Generated orchestration brain/);
|
|
581
|
+
assert.doesNotMatch(sessionContent, /omx:generated:agents-md/);
|
|
582
|
+
assert.match(sessionContent, /<!-- OMX:RUNTIME:START -->/);
|
|
583
|
+
});
|
|
584
|
+
it("preserves real unmarked project AGENTS guidance distinct from generated session AGENTS", async () => {
|
|
585
|
+
await mkdir(join(tempDir, "home", ".codex"), { recursive: true });
|
|
586
|
+
await rm(join(tempDir, "home", ".codex", "AGENTS.md"), { force: true });
|
|
587
|
+
await writeFile(join(tempDir, "AGENTS.md"), "# Real project AGENTS\n\nPreserve this project guidance.\n");
|
|
588
|
+
const overlay = await generateOverlay(tempDir, "session-real-project");
|
|
589
|
+
const writtenPath = await writeSessionModelInstructionsFile(tempDir, "session-real-project", overlay);
|
|
590
|
+
const sessionContent = await readFile(writtenPath, "utf-8");
|
|
591
|
+
assert.match(sessionContent, /# Real project AGENTS/);
|
|
592
|
+
assert.match(sessionContent, /Preserve this project guidance\./);
|
|
593
|
+
assert.match(sessionContent, /<!-- OMX:RUNTIME:START -->/);
|
|
594
|
+
});
|
|
595
|
+
it("strips only generated OMX managed blocks from merged AGENTS files", async () => {
|
|
596
|
+
await mkdir(join(tempDir, "home", ".codex"), { recursive: true });
|
|
597
|
+
await rm(join(tempDir, "home", ".codex", "AGENTS.md"), { force: true });
|
|
598
|
+
await writeFile(join(tempDir, "AGENTS.md"), [
|
|
599
|
+
"# Team AGENTS",
|
|
600
|
+
"",
|
|
601
|
+
"Preserve header guidance.",
|
|
602
|
+
"",
|
|
603
|
+
OMX_MANAGED_AGENTS_START_MARKER,
|
|
604
|
+
OMX_GENERATED_AGENTS_MARKER,
|
|
605
|
+
"# oh-my-codex - Intelligent Multi-Agent Orchestration",
|
|
606
|
+
"Generated managed block.",
|
|
607
|
+
OMX_MANAGED_AGENTS_END_MARKER,
|
|
608
|
+
"",
|
|
609
|
+
"Preserve footer guidance.",
|
|
610
|
+
].join("\n"));
|
|
611
|
+
const overlay = await generateOverlay(tempDir, "session-merged-project");
|
|
612
|
+
const writtenPath = await writeSessionModelInstructionsFile(tempDir, "session-merged-project", overlay);
|
|
613
|
+
const sessionContent = await readFile(writtenPath, "utf-8");
|
|
614
|
+
assert.match(sessionContent, /# Team AGENTS/);
|
|
615
|
+
assert.match(sessionContent, /Preserve header guidance\./);
|
|
616
|
+
assert.match(sessionContent, /Preserve footer guidance\./);
|
|
617
|
+
assert.doesNotMatch(sessionContent, /Generated managed block/);
|
|
618
|
+
assert.doesNotMatch(sessionContent, /omx:generated:agents-md/);
|
|
619
|
+
assert.match(sessionContent, /<!-- OMX:RUNTIME:START -->/);
|
|
561
620
|
});
|
|
562
621
|
it("removes session-scoped file without touching project AGENTS.md", async () => {
|
|
563
622
|
const projectAgentsMd = join(tempDir, "AGENTS.md");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-overlay.test.js","sourceRoot":"","sources":["../../../src/hooks/__tests__/agents-overlay.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agents-overlay.test.js","sourceRoot":"","sources":["../../../src/hooks/__tests__/agents-overlay.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,33 +8,102 @@ const repoRoot = join(__dirname, '../../../');
|
|
|
8
8
|
function read(path) {
|
|
9
9
|
return readFileSync(join(repoRoot, path), 'utf-8');
|
|
10
10
|
}
|
|
11
|
+
function assertMatchesAll(content, patterns) {
|
|
12
|
+
for (const pattern of patterns) {
|
|
13
|
+
assert.match(content, pattern);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function assertCanonicalPluginParity(path) {
|
|
17
|
+
const pluginPath = `plugins/oh-my-codex/${path}`;
|
|
18
|
+
assert.ok(existsSync(join(repoRoot, pluginPath)), `${pluginPath} must exist in the plugin mirror`);
|
|
19
|
+
assert.equal(read(pluginPath), read(path), `${path} must match the plugin mirror exactly`);
|
|
20
|
+
}
|
|
21
|
+
const antiSlopWorkingAgreementPatterns = [
|
|
22
|
+
/^## Working agreements$/m,
|
|
23
|
+
/^- For cleanup\/refactor\/deslop work, write a cleanup plan and lock behavior with regression tests before editing when coverage is missing\.$/m,
|
|
24
|
+
/^- Prefer deletion, existing utilities, and existing patterns before new abstractions; add dependencies only when explicitly requested\.$/m,
|
|
25
|
+
/^- Keep diffs small, reviewable, and reversible\.$/m,
|
|
26
|
+
/^- Verify with lint, typecheck, tests, and static analysis after changes; final reports include changed files, simplifications, and remaining risks\.$/m,
|
|
27
|
+
];
|
|
28
|
+
const antiSlopWorkflowPatterns = [
|
|
29
|
+
/^Anti-slop workflow:$/m,
|
|
30
|
+
/^- Cleanup\/refactor\/deslop work still follows the same `\$deep-interview` -> `\$ralplan` -> `\$team`\/`\$ralph` path; use `\$ai-slop-cleaner` as a bounded helper inside the chosen execution lane, not as a competing top-level workflow\.$/m,
|
|
31
|
+
/^- Write a cleanup plan before modifying code; lock existing behavior with regression tests first, then make one smell-focused pass at a time\.$/m,
|
|
32
|
+
/^- Prefer deletion over addition, and prefer reuse plus boundary repair over new layers\.$/m,
|
|
33
|
+
/^- No new dependencies without explicit request\.$/m,
|
|
34
|
+
/^- Run lint, typecheck, tests, and static analysis before claiming completion\.$/m,
|
|
35
|
+
/^- Keep writer\/reviewer pass separation for cleanup plans and approvals; preserve writer\/reviewer pass separation explicitly\.$/m,
|
|
36
|
+
];
|
|
37
|
+
const aiSlopCleanerWorkflowPatterns = [
|
|
38
|
+
/^Reduce AI-generated slop with a regression-tests-first, smell-by-smell cleanup workflow that preserves behavior and raises signal quality\.$/m,
|
|
39
|
+
/^## Scoped File Lists and Ralph Workflow$/m,
|
|
40
|
+
/^- This skill can accept a \*\*file list scope\*\* instead of a whole feature area\.$/m,
|
|
41
|
+
/^- In the \*\*Ralph workflow\*\*, the mandatory deslop pass should run this skill on Ralph's changed files only, in standard mode unless the caller explicitly requests otherwise\.$/m,
|
|
42
|
+
/^1\. \*\*Lock behavior with regression tests first\*\*$/m,
|
|
43
|
+
/^ - For fallback-like code, cover the primary path and any preserved compatibility\/fail-safe fallback before cleanup$/m,
|
|
44
|
+
/^2\. \*\*Create a cleanup plan before code\*\*$/m,
|
|
45
|
+
/^ - Include fallback findings, classifications, and escalation status in the plan$/m,
|
|
46
|
+
/^3\. \*\*Inventory fallback-like code before editing\*\*$/m,
|
|
47
|
+
/^ - Search the requested scope for fallback-like detection signals: quick hacks?, temporary workaround, temporary fallback, just bypass, just skip, fallback if it fails, swallowed errors, silent defaults, broad compatibility shims, and duplicate alternate execution paths$/m,
|
|
48
|
+
/^ - Classify each finding before changing it:$/m,
|
|
49
|
+
/^ - \*\*Masking fallback slop\*\* — hides errors or evidence, bypasses the primary contract, suppresses tests or validation, swallows failures, silently defaults, or adds untested alternate paths$/m,
|
|
50
|
+
/^ - \*\*Grounded compatibility\/fail-safe fallback\*\* — is scoped to an external\/version\/fail-safe boundary, documents the rationale, preserves failure evidence, and has regression tests for both the primary and fallback behavior$/m,
|
|
51
|
+
/^ - Prefer root-cause repair, deletion, boundary repair, or explicit failure behavior before preserving fallback paths$/m,
|
|
52
|
+
/^ - For broad, ambiguous, cross-layer, or architectural fallback-like code, invoke `\$ralplan` for consensus resolution before edits$/m,
|
|
53
|
+
/^ - Recursion guard: when already inside ralplan, ralph, team, or another OMX workflow, do not spawn a nested `\$ralplan`; record the finding and attach it to the active ralplan, leader, or plan handoff instead$/m,
|
|
54
|
+
/^4\. \*\*Categorize issues before editing\*\*$/m,
|
|
55
|
+
/^ - \*\*Fallback-like code\*\* — masking fallbacks, workaround branches, bypasses, swallowed errors, silent defaults, broad shims, alternate execution paths$/m,
|
|
56
|
+
/^ - \*\*Duplication\*\* — repeated logic, copy-paste branches, redundant helpers$/m,
|
|
57
|
+
/^ - \*\*Dead code\*\* — unused code, unreachable branches, stale flags, debug leftovers$/m,
|
|
58
|
+
/^ - \*\*Needless abstraction\*\* — pass-through wrappers, speculative indirection, single-use helper layers$/m,
|
|
59
|
+
/^ - \*\*Boundary violations\*\* — hidden coupling, leaky responsibilities, wrong-layer imports or side effects$/m,
|
|
60
|
+
/^5\. \*\*Execute passes one smell at a time\*\*$/m,
|
|
61
|
+
/^ - \*\*Fallback-like code resolution gate\*\* — remove masking fallback slop, repair root causes, or escalate ambiguous cases before continuing$/m,
|
|
62
|
+
/^ - \*\*Pass 1: Dead code deletion\*\*$/m,
|
|
63
|
+
/^ - \*\*Pass 2: Duplicate removal\*\*$/m,
|
|
64
|
+
/^ - \*\*Pass 3: Naming\/error handling cleanup\*\*$/m,
|
|
65
|
+
/^ - \*\*Pass 4: Test reinforcement\*\*$/m,
|
|
66
|
+
/^6\. \*\*Run quality gates\*\*$/m,
|
|
67
|
+
/^ - Regression tests stay green$/m,
|
|
68
|
+
/^ - Static\/security scan passes when available$/m,
|
|
69
|
+
/^7\. \*\*Finish with an evidence-dense report\*\*$/m,
|
|
70
|
+
/^ - Changed files$/m,
|
|
71
|
+
/^ - Fallback findings, classifications, and escalation status$/m,
|
|
72
|
+
/^ - Remaining risks$/m,
|
|
73
|
+
];
|
|
11
74
|
describe('anti-slop workflow surfaces', () => {
|
|
12
|
-
it('adds anti-slop
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
assert.match(content, /\$ai-slop-cleaner/);
|
|
22
|
-
assert.match(content, /writer\/reviewer pass separation/i);
|
|
75
|
+
it('adds durable anti-slop guidance to AGENTS surfaces', () => {
|
|
76
|
+
const templateContent = read('templates/AGENTS.md');
|
|
77
|
+
assertMatchesAll(templateContent, antiSlopWorkingAgreementPatterns);
|
|
78
|
+
assertMatchesAll(templateContent, antiSlopWorkflowPatterns);
|
|
79
|
+
if (existsSync(join(repoRoot, 'AGENTS.md'))) {
|
|
80
|
+
const content = read('AGENTS.md');
|
|
81
|
+
if (/^## Working agreements$/m.test(content)) {
|
|
82
|
+
assertMatchesAll(content, antiSlopWorkingAgreementPatterns);
|
|
83
|
+
}
|
|
23
84
|
}
|
|
24
85
|
});
|
|
25
86
|
it('documents reviewer-only separation in review and plan review mode', () => {
|
|
87
|
+
assertCanonicalPluginParity('skills/plan/SKILL.md');
|
|
26
88
|
const reviewSkill = read('skills/review/SKILL.md');
|
|
27
89
|
const planSkill = read('skills/plan/SKILL.md');
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
90
|
+
assertMatchesAll(reviewSkill, [
|
|
91
|
+
/Hard-deprecated/i,
|
|
92
|
+
/Do not invoke or route this skill/i,
|
|
93
|
+
/Use `\$code-review` directly/i,
|
|
94
|
+
]);
|
|
95
|
+
assertMatchesAll(planSkill, [
|
|
96
|
+
/### Review Mode \(`--review`\)/,
|
|
97
|
+
/reviewer-only\s+pass/i,
|
|
98
|
+
/MUST\s+NOT\s+be\s+the\s+context\s+that\s+approves\s+it/i,
|
|
99
|
+
/cleanup\s+plan,\s*regression\s+tests/i,
|
|
100
|
+
]);
|
|
35
101
|
});
|
|
36
102
|
it('defines the built-in ai-slop-cleaner workflow', () => {
|
|
37
103
|
const skill = read('skills/ai-slop-cleaner/SKILL.md');
|
|
104
|
+
const pluginSkill = read('plugins/oh-my-codex/skills/ai-slop-cleaner/SKILL.md');
|
|
105
|
+
assert.equal(pluginSkill, skill);
|
|
106
|
+
assertMatchesAll(skill, aiSlopCleanerWorkflowPatterns);
|
|
38
107
|
assert.match(skill, /regression tests first/i);
|
|
39
108
|
assert.match(skill, /cleanup plan/i);
|
|
40
109
|
assert.match(skill, /duplication/i);
|
|
@@ -50,6 +119,28 @@ describe('anti-slop workflow surfaces', () => {
|
|
|
50
119
|
assert.match(skill, /file list scope/i);
|
|
51
120
|
assert.match(skill, /changed files/i);
|
|
52
121
|
assert.match(skill, /Ralph workflow/i);
|
|
122
|
+
assert.match(skill, /fallback-like (?:inventory|detection|code)/i);
|
|
123
|
+
assert.match(skill, /quick hack/i);
|
|
124
|
+
assert.match(skill, /temporary workaround/i);
|
|
125
|
+
assert.match(skill, /temporary fallback/i);
|
|
126
|
+
assert.match(skill, /just bypass/i);
|
|
127
|
+
assert.match(skill, /fallback if it fails/i);
|
|
128
|
+
assert.match(skill, /swallowed errors/i);
|
|
129
|
+
assert.match(skill, /silent defaults/i);
|
|
130
|
+
assert.match(skill, /broad compatibility shims/i);
|
|
131
|
+
assert.match(skill, /alternate execution paths/i);
|
|
132
|
+
assert.match(skill, /Masking fallback slop/i);
|
|
133
|
+
assert.match(skill, /Grounded compatibility\/fail-safe fallback/i);
|
|
134
|
+
assert.match(skill, /root-cause repair/i);
|
|
135
|
+
assert.match(skill, /explicit failure behavior/i);
|
|
136
|
+
assert.match(skill, /\$ralplan/);
|
|
137
|
+
assert.match(skill, /consensus resolution/i);
|
|
138
|
+
assert.match(skill, /Recursion guard/i);
|
|
139
|
+
assert.match(skill, /do not spawn a nested `?\$ralplan`?/i);
|
|
140
|
+
assert.match(skill, /active ralplan/i);
|
|
141
|
+
assert.match(skill, /Fallback Findings/i);
|
|
142
|
+
assert.match(skill, /classifications/i);
|
|
143
|
+
assert.match(skill, /escalation status/i);
|
|
53
144
|
});
|
|
54
145
|
});
|
|
55
146
|
//# sourceMappingURL=anti-slop-workflow.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anti-slop-workflow.test.js","sourceRoot":"","sources":["../../../src/hooks/__tests__/anti-slop-workflow.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AAE9C,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC;AAED,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"anti-slop-workflow.test.js","sourceRoot":"","sources":["../../../src/hooks/__tests__/anti-slop-workflow.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { detectKeywords, detectPrimaryKeyword, recordSkillActivation, DEEP_INTER
|
|
|
8
8
|
import { SKILL_ACTIVE_STATE_FILE } from '../../state/skill-active.js';
|
|
9
9
|
import { isUnderspecifiedForExecution, applyRalplanGate } from '../keyword-detector.js';
|
|
10
10
|
import { KEYWORD_TRIGGER_DEFINITIONS } from '../keyword-registry.js';
|
|
11
|
-
describe('keyword detector
|
|
11
|
+
describe('keyword detector team compatibility', () => {
|
|
12
12
|
it('keeps explicit $skill order in detectKeywords results (left-to-right)', () => {
|
|
13
13
|
const matches = detectKeywords('$analyze $ultraqa $code-review now');
|
|
14
14
|
assert.deepEqual(matches.map((m) => m.skill).slice(0, 3), ['analyze', 'ultraqa', 'code-review']);
|
|
@@ -50,11 +50,7 @@ describe('keyword detector swarm/team compatibility', () => {
|
|
|
50
50
|
const matches = detectKeywords('$oh-my-codex:ralplan text $ralph');
|
|
51
51
|
assert.deepEqual(matches.map((m) => m.skill), ['ralplan']);
|
|
52
52
|
});
|
|
53
|
-
it('normalizes plugin-prefixed
|
|
54
|
-
const swarm = detectPrimaryKeyword('$oh-my-codex:swarm handle this');
|
|
55
|
-
assert.ok(swarm);
|
|
56
|
-
assert.equal(swarm.skill, 'team');
|
|
57
|
-
assert.equal(swarm.keyword, '$oh-my-codex:swarm');
|
|
53
|
+
it('normalizes plugin-prefixed ulw shorthand token', () => {
|
|
58
54
|
const ulw = detectPrimaryKeyword('$oh-my-codex:ulw continue');
|
|
59
55
|
assert.ok(ulw);
|
|
60
56
|
assert.equal(ulw.skill, 'ultrawork');
|
|
@@ -99,6 +95,19 @@ describe('keyword detector swarm/team compatibility', () => {
|
|
|
99
95
|
assert.equal(match.skill, 'analyze');
|
|
100
96
|
assert.equal(match.keyword.toLowerCase(), '$analyze');
|
|
101
97
|
});
|
|
98
|
+
it('maps explicit $ultragoal invocation to ultragoal workflow skill', () => {
|
|
99
|
+
const match = detectPrimaryKeyword('$ultragoal split this release into durable goals');
|
|
100
|
+
assert.ok(match);
|
|
101
|
+
assert.equal(match.skill, 'ultragoal');
|
|
102
|
+
assert.equal(match.keyword.toLowerCase(), '$ultragoal');
|
|
103
|
+
});
|
|
104
|
+
it('maps intentful ultragoal prose without triggering artifact path mentions', () => {
|
|
105
|
+
const intentful = detectPrimaryKeyword('please run ultragoal workflow for this launch');
|
|
106
|
+
assert.ok(intentful);
|
|
107
|
+
assert.equal(intentful.skill, 'ultragoal');
|
|
108
|
+
const pathOnly = detectPrimaryKeyword('inspect .omx/ultragoal/goals.json');
|
|
109
|
+
assert.notEqual(pathOnly?.skill, 'ultragoal');
|
|
110
|
+
});
|
|
102
111
|
it('maps code-review keyword variants to code-review skill', () => {
|
|
103
112
|
const hyphen = detectPrimaryKeyword('run $code-review before merge');
|
|
104
113
|
assert.ok(hyphen);
|
|
@@ -107,6 +116,8 @@ describe('keyword detector swarm/team compatibility', () => {
|
|
|
107
116
|
const spaced = detectPrimaryKeyword('please do a code review');
|
|
108
117
|
assert.ok(spaced);
|
|
109
118
|
assert.equal(spaced.skill, 'code-review');
|
|
119
|
+
assert.equal(detectPrimaryKeyword('run $security-review before merge')?.skill, undefined);
|
|
120
|
+
assert.equal(detectPrimaryKeyword('please do a security review')?.skill, undefined);
|
|
110
121
|
});
|
|
111
122
|
it('supports explicit multi-skill invocation by prioritizing left-most $skill', () => {
|
|
112
123
|
const match = detectPrimaryKeyword('$ultraqa $analyze $code-review run now');
|
|
@@ -120,24 +131,6 @@ describe('keyword detector swarm/team compatibility', () => {
|
|
|
120
131
|
assert.equal(match.skill, 'team');
|
|
121
132
|
assert.match(match.keyword.toLowerCase(), /team/);
|
|
122
133
|
});
|
|
123
|
-
it('maps "swarm" to team orchestration skill', () => {
|
|
124
|
-
const match = detectPrimaryKeyword('please use swarm for this task');
|
|
125
|
-
assert.ok(match);
|
|
126
|
-
assert.equal(match.skill, 'team');
|
|
127
|
-
});
|
|
128
|
-
it('maps "coordinated swarm" phrase to team orchestration skill', () => {
|
|
129
|
-
const match = detectPrimaryKeyword('run a coordinated swarm for implementation');
|
|
130
|
-
assert.ok(match);
|
|
131
|
-
assert.equal(match.skill, 'team');
|
|
132
|
-
assert.match(match.keyword.toLowerCase(), /swarm/);
|
|
133
|
-
});
|
|
134
|
-
it('keeps swarm trigger priority aligned with explicit team invocation', () => {
|
|
135
|
-
const teamMatch = detectKeywords('use $team agents for this').find((entry) => entry.skill === 'team');
|
|
136
|
-
const swarmMatch = detectKeywords('use swarm for this').find((entry) => entry.skill === 'team');
|
|
137
|
-
assert.ok(teamMatch);
|
|
138
|
-
assert.ok(swarmMatch);
|
|
139
|
-
assert.equal(swarmMatch.priority, teamMatch.priority);
|
|
140
|
-
});
|
|
141
134
|
it('does not trigger team keyword from filesystem/team-state path text', () => {
|
|
142
135
|
const match = detectPrimaryKeyword('You have 1 new message(s). Read .omx/state/team/execute-plan/mailbox/worker-3.json, act now, reply with concrete progress, then continue assigned work or next feasible task.');
|
|
143
136
|
assert.equal(match, null);
|
|
@@ -175,10 +168,10 @@ describe('keyword detector swarm/team compatibility', () => {
|
|
|
175
168
|
assert.equal(match.skill, 'ralplan');
|
|
176
169
|
});
|
|
177
170
|
it('applies longest-match tie-breaker when priorities are equal', () => {
|
|
178
|
-
const match = detectPrimaryKeyword('please run a
|
|
171
|
+
const match = detectPrimaryKeyword('please run a deep interview for this');
|
|
179
172
|
assert.ok(match);
|
|
180
|
-
assert.equal(match.skill, '
|
|
181
|
-
assert.equal(match.keyword.toLowerCase(), '
|
|
173
|
+
assert.equal(match.skill, 'deep-interview');
|
|
174
|
+
assert.equal(match.keyword.toLowerCase(), 'deep interview');
|
|
182
175
|
});
|
|
183
176
|
it('maps "deep interview" phrase to deep-interview skill', () => {
|
|
184
177
|
const match = detectPrimaryKeyword('please run a deep interview before planning');
|
|
@@ -284,7 +277,7 @@ describe('explicit skill-name invocation requirement', () => {
|
|
|
284
277
|
});
|
|
285
278
|
});
|
|
286
279
|
describe('keyword registry coverage', () => {
|
|
287
|
-
it('includes key team
|
|
280
|
+
it('includes key team aliases in runtime keyword registry', () => {
|
|
288
281
|
const registryKeywords = new Set(KEYWORD_TRIGGER_DEFINITIONS.map((v) => v.keyword.toLowerCase()));
|
|
289
282
|
assert.ok(registryKeywords.has('$ultraqa'));
|
|
290
283
|
assert.ok(registryKeywords.has('$analyze'));
|
|
@@ -292,8 +285,6 @@ describe('keyword registry coverage', () => {
|
|
|
292
285
|
assert.ok(registryKeywords.has('code review'));
|
|
293
286
|
assert.ok(registryKeywords.has('$code-review'));
|
|
294
287
|
assert.ok(registryKeywords.has('coordinated team'));
|
|
295
|
-
assert.ok(registryKeywords.has('swarm'));
|
|
296
|
-
assert.ok(registryKeywords.has('coordinated swarm'));
|
|
297
288
|
assert.ok(registryKeywords.has('ouroboros'));
|
|
298
289
|
assert.ok(registryKeywords.has("don't assume"));
|
|
299
290
|
assert.ok(registryKeywords.has('interview me'));
|
|
@@ -301,6 +292,8 @@ describe('keyword registry coverage', () => {
|
|
|
301
292
|
assert.ok(registryKeywords.has('wiki add'));
|
|
302
293
|
assert.ok(registryKeywords.has('wiki lint'));
|
|
303
294
|
assert.ok(registryKeywords.has('$autoresearch'));
|
|
295
|
+
assert.ok(registryKeywords.has('$ultragoal'));
|
|
296
|
+
assert.ok(registryKeywords.has('ultragoal'));
|
|
304
297
|
});
|
|
305
298
|
});
|
|
306
299
|
describe('keyword detector skill-active-state lifecycle', () => {
|
|
@@ -1074,6 +1067,26 @@ describe('keyword detector skill-active-state lifecycle', () => {
|
|
|
1074
1067
|
await rm(cwd, { recursive: true, force: true });
|
|
1075
1068
|
}
|
|
1076
1069
|
});
|
|
1070
|
+
it('records ultragoal as a prompt skill without seeding unrelated mode state', async () => {
|
|
1071
|
+
const cwd = await mkdtemp(join(tmpdir(), 'omx-keyword-state-ultragoal-'));
|
|
1072
|
+
const stateDir = join(cwd, '.omx', 'state');
|
|
1073
|
+
try {
|
|
1074
|
+
await mkdir(stateDir, { recursive: true });
|
|
1075
|
+
const result = await recordSkillActivation({
|
|
1076
|
+
stateDir,
|
|
1077
|
+
text: '$ultragoal split this launch into durable goals',
|
|
1078
|
+
});
|
|
1079
|
+
assert.ok(result);
|
|
1080
|
+
assert.equal(result.skill, 'ultragoal');
|
|
1081
|
+
assert.equal(result.keyword, '$ultragoal');
|
|
1082
|
+
assert.equal(result.initialized_mode, undefined);
|
|
1083
|
+
assert.equal(result.initialized_state_path, undefined);
|
|
1084
|
+
assert.equal(existsSync(join(stateDir, 'ultragoal-state.json')), false);
|
|
1085
|
+
}
|
|
1086
|
+
finally {
|
|
1087
|
+
await rm(cwd, { recursive: true, force: true });
|
|
1088
|
+
}
|
|
1089
|
+
});
|
|
1077
1090
|
it('emits a warning when skill-active-state persistence fails', async () => {
|
|
1078
1091
|
const warnings = [];
|
|
1079
1092
|
mock.method(console, 'warn', (...args) => {
|
|
@@ -1644,9 +1657,9 @@ describe('applyRalplanGate', () => {
|
|
|
1644
1657
|
assert.equal(result.gateApplied, false);
|
|
1645
1658
|
});
|
|
1646
1659
|
it('preserves non-execution keywords when gating', () => {
|
|
1647
|
-
const result = applyRalplanGate(['ralph', '
|
|
1660
|
+
const result = applyRalplanGate(['ralph', 'analyze'], 'ralph analyze this');
|
|
1648
1661
|
assert.equal(result.gateApplied, true);
|
|
1649
|
-
assert.ok(result.keywords.includes('
|
|
1662
|
+
assert.ok(result.keywords.includes('analyze'));
|
|
1650
1663
|
assert.ok(result.keywords.includes('ralplan'));
|
|
1651
1664
|
assert.ok(!result.keywords.includes('ralph'));
|
|
1652
1665
|
});
|