oh-my-codex 0.16.4 → 0.17.1
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 +5 -5
- package/Cargo.toml +1 -1
- package/dist/catalog/__tests__/generator.test.js +2 -0
- package/dist/catalog/__tests__/generator.test.js.map +1 -1
- package/dist/cli/__tests__/doctor-warning-copy.test.js +80 -7
- package/dist/cli/__tests__/doctor-warning-copy.test.js.map +1 -1
- package/dist/cli/__tests__/index.test.js +17 -11
- package/dist/cli/__tests__/index.test.js.map +1 -1
- package/dist/cli/__tests__/mcp-serve.test.js +4 -0
- package/dist/cli/__tests__/mcp-serve.test.js.map +1 -1
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js +3 -0
- package/dist/cli/__tests__/ralph-goal-mode-contract.test.js.map +1 -1
- package/dist/cli/__tests__/ralph.test.js +0 -124
- package/dist/cli/__tests__/ralph.test.js.map +1 -1
- package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js +8 -3
- package/dist/cli/__tests__/setup-hooks-shared-ownership.test.js.map +1 -1
- package/dist/cli/__tests__/setup-install-mode.test.js +183 -4
- package/dist/cli/__tests__/setup-install-mode.test.js.map +1 -1
- package/dist/cli/__tests__/setup-refresh.test.js +3 -3
- package/dist/cli/__tests__/setup-refresh.test.js.map +1 -1
- package/dist/cli/__tests__/team.test.js +166 -42
- package/dist/cli/__tests__/team.test.js.map +1 -1
- package/dist/cli/__tests__/ultragoal.test.js +22 -0
- package/dist/cli/__tests__/ultragoal.test.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +75 -14
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/index.d.ts +8 -2
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +17 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp-serve.d.ts.map +1 -1
- package/dist/cli/mcp-serve.js +4 -0
- package/dist/cli/mcp-serve.js.map +1 -1
- package/dist/cli/plugin-marketplace.d.ts +25 -1
- package/dist/cli/plugin-marketplace.d.ts.map +1 -1
- package/dist/cli/plugin-marketplace.js +146 -3
- package/dist/cli/plugin-marketplace.js.map +1 -1
- package/dist/cli/question.d.ts +1 -1
- package/dist/cli/question.d.ts.map +1 -1
- package/dist/cli/question.js +98 -4
- package/dist/cli/question.js.map +1 -1
- package/dist/cli/ralph.d.ts.map +1 -1
- package/dist/cli/ralph.js +1 -49
- package/dist/cli/ralph.js.map +1 -1
- package/dist/cli/setup.d.ts +1 -0
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +103 -18
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/team.d.ts.map +1 -1
- package/dist/cli/team.js +21 -29
- package/dist/cli/team.js.map +1 -1
- package/dist/cli/ultragoal.d.ts.map +1 -1
- package/dist/cli/ultragoal.js +7 -1
- package/dist/cli/ultragoal.js.map +1 -1
- package/dist/config/__tests__/codex-hooks.test.js +136 -9
- package/dist/config/__tests__/codex-hooks.test.js.map +1 -1
- package/dist/config/__tests__/generator-idempotent.test.js +15 -0
- package/dist/config/__tests__/generator-idempotent.test.js.map +1 -1
- package/dist/config/codex-hooks.d.ts +13 -14
- package/dist/config/codex-hooks.d.ts.map +1 -1
- package/dist/config/codex-hooks.js +85 -7
- package/dist/config/codex-hooks.js.map +1 -1
- package/dist/config/generator.d.ts +8 -1
- package/dist/config/generator.d.ts.map +1 -1
- package/dist/config/generator.js +73 -9
- package/dist/config/generator.js.map +1 -1
- package/dist/config/omx-first-party-mcp.d.ts.map +1 -1
- package/dist/config/omx-first-party-mcp.js +7 -0
- package/dist/config/omx-first-party-mcp.js.map +1 -1
- package/dist/hooks/__tests__/agents-overlay.test.js +29 -0
- package/dist/hooks/__tests__/agents-overlay.test.js.map +1 -1
- package/dist/hooks/__tests__/design-skill.test.d.ts +2 -0
- package/dist/hooks/__tests__/design-skill.test.d.ts.map +1 -0
- package/dist/hooks/__tests__/design-skill.test.js +55 -0
- package/dist/hooks/__tests__/design-skill.test.js.map +1 -0
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js +265 -0
- package/dist/hooks/__tests__/notify-hook-tmux-heal.test.js.map +1 -1
- package/dist/hooks/__tests__/session.test.js +126 -1
- package/dist/hooks/__tests__/session.test.js.map +1 -1
- package/dist/hooks/__tests__/skill-catalog-hygiene.test.js +1 -1
- package/dist/hooks/__tests__/skill-catalog-hygiene.test.js.map +1 -1
- package/dist/hooks/__tests__/skill-guidance-contract.test.js +41 -0
- package/dist/hooks/__tests__/skill-guidance-contract.test.js.map +1 -1
- package/dist/hooks/agents-overlay.d.ts.map +1 -1
- package/dist/hooks/agents-overlay.js +6 -3
- 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 +5 -1
- 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 -0
- 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 +47 -2
- package/dist/hooks/prompt-guidance-contract.js.map +1 -1
- package/dist/hooks/session.d.ts +11 -3
- package/dist/hooks/session.d.ts.map +1 -1
- package/dist/hooks/session.js +68 -6
- package/dist/hooks/session.js.map +1 -1
- package/dist/hud/__tests__/reconcile.test.js +63 -0
- package/dist/hud/__tests__/reconcile.test.js.map +1 -1
- package/dist/hud/__tests__/tmux.test.d.ts +2 -0
- package/dist/hud/__tests__/tmux.test.d.ts.map +1 -0
- package/dist/hud/__tests__/tmux.test.js +92 -0
- package/dist/hud/__tests__/tmux.test.js.map +1 -0
- package/dist/hud/reconcile.d.ts +2 -0
- package/dist/hud/reconcile.d.ts.map +1 -1
- package/dist/hud/reconcile.js +14 -1
- package/dist/hud/reconcile.js.map +1 -1
- package/dist/hud/tmux.d.ts +12 -0
- package/dist/hud/tmux.d.ts.map +1 -1
- package/dist/hud/tmux.js +88 -0
- package/dist/hud/tmux.js.map +1 -1
- package/dist/mcp/__tests__/bootstrap.test.js +3 -0
- package/dist/mcp/__tests__/bootstrap.test.js.map +1 -1
- package/dist/mcp/__tests__/hermes-bridge.test.d.ts +2 -0
- package/dist/mcp/__tests__/hermes-bridge.test.d.ts.map +1 -0
- package/dist/mcp/__tests__/hermes-bridge.test.js +441 -0
- package/dist/mcp/__tests__/hermes-bridge.test.js.map +1 -0
- package/dist/mcp/__tests__/state-paths.test.js +96 -13
- package/dist/mcp/__tests__/state-paths.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 +2 -0
- package/dist/mcp/bootstrap.js.map +1 -1
- package/dist/mcp/hermes-bridge.d.ts +111 -0
- package/dist/mcp/hermes-bridge.d.ts.map +1 -0
- package/dist/mcp/hermes-bridge.js +474 -0
- package/dist/mcp/hermes-bridge.js.map +1 -0
- package/dist/mcp/hermes-server.d.ts +374 -0
- package/dist/mcp/hermes-server.d.ts.map +1 -0
- package/dist/mcp/hermes-server.js +158 -0
- package/dist/mcp/hermes-server.js.map +1 -0
- package/dist/mcp/state-paths.d.ts.map +1 -1
- package/dist/mcp/state-paths.js +41 -9
- package/dist/mcp/state-paths.js.map +1 -1
- package/dist/modes/__tests__/base-tmux-pane.test.js +31 -1
- package/dist/modes/__tests__/base-tmux-pane.test.js.map +1 -1
- package/dist/pipeline/__tests__/stages.test.js +18 -9
- package/dist/pipeline/__tests__/stages.test.js.map +1 -1
- package/dist/pipeline/stages/team-exec.d.ts.map +1 -1
- package/dist/pipeline/stages/team-exec.js +2 -7
- package/dist/pipeline/stages/team-exec.js.map +1 -1
- package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.js +111 -269
- package/dist/planning/__tests__/approved-execution-lifecycle-matrix.test.js.map +1 -1
- package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.js +31 -72
- package/dist/planning/__tests__/approved-launch-hint-lineage-matrix.test.js.map +1 -1
- package/dist/planning/__tests__/artifacts.test.js +27 -372
- package/dist/planning/__tests__/artifacts.test.js.map +1 -1
- package/dist/planning/artifacts.d.ts +1 -14
- package/dist/planning/artifacts.d.ts.map +1 -1
- package/dist/planning/artifacts.js +11 -31
- package/dist/planning/artifacts.js.map +1 -1
- package/dist/question/__tests__/state.test.js +287 -1
- package/dist/question/__tests__/state.test.js.map +1 -1
- package/dist/question/__tests__/ui.test.js +8 -8
- package/dist/question/__tests__/ui.test.js.map +1 -1
- package/dist/question/events.d.ts +53 -0
- package/dist/question/events.d.ts.map +1 -0
- package/dist/question/events.js +201 -0
- package/dist/question/events.js.map +1 -0
- package/dist/question/state.d.ts +25 -1
- package/dist/question/state.d.ts.map +1 -1
- package/dist/question/state.js +259 -3
- package/dist/question/state.js.map +1 -1
- package/dist/question/types.d.ts +1 -0
- package/dist/question/types.d.ts.map +1 -1
- package/dist/question/types.js.map +1 -1
- package/dist/question/ui.d.ts.map +1 -1
- package/dist/question/ui.js +1 -18
- package/dist/question/ui.js.map +1 -1
- package/dist/ralph/__tests__/completion-audit.test.js +39 -0
- package/dist/ralph/__tests__/completion-audit.test.js.map +1 -1
- package/dist/scripts/__tests__/codex-native-hook.test.js +298 -3
- package/dist/scripts/__tests__/codex-native-hook.test.js.map +1 -1
- package/dist/scripts/__tests__/run-test-files.test.js +22 -0
- package/dist/scripts/__tests__/run-test-files.test.js.map +1 -1
- package/dist/scripts/codex-native-hook.d.ts +1 -0
- package/dist/scripts/codex-native-hook.d.ts.map +1 -1
- package/dist/scripts/codex-native-hook.js +137 -18
- package/dist/scripts/codex-native-hook.js.map +1 -1
- package/dist/scripts/codex-native-pre-post.d.ts.map +1 -1
- package/dist/scripts/codex-native-pre-post.js +12 -6
- package/dist/scripts/codex-native-pre-post.js.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.d.ts.map +1 -1
- package/dist/scripts/notify-hook/tmux-injection.js +91 -2
- package/dist/scripts/notify-hook/tmux-injection.js.map +1 -1
- package/dist/scripts/run-test-files.js +12 -1
- package/dist/scripts/run-test-files.js.map +1 -1
- package/dist/state/mode-state-context.d.ts +2 -0
- package/dist/state/mode-state-context.d.ts.map +1 -1
- package/dist/state/mode-state-context.js +21 -0
- package/dist/state/mode-state-context.js.map +1 -1
- package/dist/team/__tests__/approved-execution.test.js +25 -24
- package/dist/team/__tests__/approved-execution.test.js.map +1 -1
- package/dist/team/__tests__/runtime.test.js +173 -26
- package/dist/team/__tests__/runtime.test.js.map +1 -1
- package/dist/team/__tests__/scaling.test.js +66 -17
- package/dist/team/__tests__/scaling.test.js.map +1 -1
- package/dist/team/__tests__/tmux-session.test.js +42 -0
- package/dist/team/__tests__/tmux-session.test.js.map +1 -1
- package/dist/team/__tests__/worker-bootstrap.test.js +205 -0
- package/dist/team/__tests__/worker-bootstrap.test.js.map +1 -1
- package/dist/team/approved-execution.d.ts +13 -0
- package/dist/team/approved-execution.d.ts.map +1 -1
- package/dist/team/approved-execution.js +65 -30
- package/dist/team/approved-execution.js.map +1 -1
- package/dist/team/runtime.d.ts.map +1 -1
- package/dist/team/runtime.js +28 -24
- package/dist/team/runtime.js.map +1 -1
- package/dist/team/scaling.d.ts.map +1 -1
- package/dist/team/scaling.js +7 -8
- package/dist/team/scaling.js.map +1 -1
- package/dist/team/tmux-session.d.ts.map +1 -1
- package/dist/team/tmux-session.js +48 -2
- package/dist/team/tmux-session.js.map +1 -1
- package/dist/team/ultragoal-context.d.ts +35 -0
- package/dist/team/ultragoal-context.d.ts.map +1 -0
- package/dist/team/ultragoal-context.js +191 -0
- package/dist/team/ultragoal-context.js.map +1 -0
- package/dist/ultragoal/__tests__/artifacts.test.js +121 -0
- package/dist/ultragoal/__tests__/artifacts.test.js.map +1 -1
- package/dist/ultragoal/__tests__/docs-contract.test.js +19 -0
- package/dist/ultragoal/__tests__/docs-contract.test.js.map +1 -1
- package/dist/ultragoal/artifacts.d.ts +9 -1
- package/dist/ultragoal/artifacts.d.ts.map +1 -1
- package/dist/ultragoal/artifacts.js +105 -3
- package/dist/ultragoal/artifacts.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/paths.d.ts +6 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +18 -0
- package/dist/utils/paths.js.map +1 -1
- package/dist/wiki/lifecycle.js +3 -3
- package/dist/wiki/lifecycle.js.map +1 -1
- package/package.json +1 -1
- package/plugins/oh-my-codex/.codex-plugin/plugin.json +1 -1
- package/plugins/oh-my-codex/.mcp.json +8 -0
- package/plugins/oh-my-codex/skills/design/SKILL.md +180 -0
- package/plugins/oh-my-codex/skills/plan/SKILL.md +3 -3
- package/plugins/oh-my-codex/skills/ralph/SKILL.md +2 -2
- package/plugins/oh-my-codex/skills/ralplan/SKILL.md +1 -1
- package/plugins/oh-my-codex/skills/skill/SKILL.md +2 -1
- package/plugins/oh-my-codex/skills/team/SKILL.md +6 -0
- package/plugins/oh-my-codex/skills/ultragoal/SKILL.md +11 -0
- package/plugins/oh-my-codex/skills/ultraqa/SKILL.md +161 -47
- package/plugins/oh-my-codex/skills/visual-ralph/SKILL.md +2 -2
- package/skills/design/SKILL.md +180 -0
- package/skills/frontend-ui-ux/SKILL.md +6 -2
- package/skills/plan/SKILL.md +3 -3
- package/skills/ralph/SKILL.md +2 -2
- package/skills/ralplan/SKILL.md +1 -1
- package/skills/skill/SKILL.md +2 -1
- package/skills/team/SKILL.md +6 -0
- package/skills/ultragoal/SKILL.md +11 -0
- package/skills/ultraqa/SKILL.md +161 -47
- package/skills/visual-ralph/SKILL.md +2 -2
- package/src/scripts/__tests__/codex-native-hook.test.ts +339 -2
- package/src/scripts/__tests__/run-test-files.test.ts +32 -0
- package/src/scripts/codex-native-hook.ts +166 -20
- package/src/scripts/codex-native-pre-post.ts +12 -6
- package/src/scripts/notify-hook/tmux-injection.ts +110 -3
- package/src/scripts/run-test-files.ts +13 -2
- package/templates/catalog-manifest.json +9 -2
- package/dist/planning/__tests__/context-pack-status.test.d.ts +0 -2
- package/dist/planning/__tests__/context-pack-status.test.d.ts.map +0 -1
- package/dist/planning/__tests__/context-pack-status.test.js +0 -795
- package/dist/planning/__tests__/context-pack-status.test.js.map +0 -1
- package/dist/planning/__tests__/ready-context-pack-role-refs.test.d.ts +0 -2
- package/dist/planning/__tests__/ready-context-pack-role-refs.test.d.ts.map +0 -1
- package/dist/planning/__tests__/ready-context-pack-role-refs.test.js +0 -612
- package/dist/planning/__tests__/ready-context-pack-role-refs.test.js.map +0 -1
- package/dist/planning/context-pack-status.d.ts +0 -73
- package/dist/planning/context-pack-status.d.ts.map +0 -1
- package/dist/planning/context-pack-status.js +0 -745
- package/dist/planning/context-pack-status.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approved-launch-hint-lineage-matrix.test.js","sourceRoot":"","sources":["../../../src/planning/__tests__/approved-launch-hint-lineage-matrix.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"approved-launch-hint-lineage-matrix.test.js","sourceRoot":"","sources":["../../../src/planning/__tests__/approved-launch-hint-lineage-matrix.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,+BAA+B,EAC/B,sCAAsC,GACvC,MAAM,iBAAiB,CAAC;AAkDzB,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAC1D,MAAM,iBAAiB,GAAG,6CAA6C,CAAC;AACxE,MAAM,aAAa,GAAG,aAAa,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC;AACvE,MAAM,uBAAuB,GAAG,UAAU,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC;AAC9E,MAAM,gBAAgB,GAAG,4CAA4C,CAAC;AACtE,MAAM,aAAa,GAAG;IACpB,CAAC,EAAE,uBAAuB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE;IAC5D,UAAU,EAAE,oBAAoB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE;IAClE,CAAC,EAAE,0BAA0B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE;CACvD,CAAC;AACX,MAAM,iBAAiB,GAA8B;IACnD,MAAM;IACN,QAAQ;IACR,OAAO;IACP,UAAU;IACV,WAAW;CACH,CAAC;AACX,MAAM,gBAAgB,GAA6B;IACjD,MAAM;IACN,SAAS;IACT,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,WAAW;IACX,SAAS;IACT,YAAY;IACZ,SAAS;IACT,YAAY;CACJ,CAAC;AACX,MAAM,iBAAiB,GAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC;AAC1F,MAAM,gBAAgB,GAA6B;IACjD,MAAM;IACN,MAAM;IACN,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,UAAU;IACV,UAAU;CACF,CAAC;AAEX,IAAI,OAAO,GAAG,EAAE,CAAC;AAEjB,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY;IACzC,OAAO,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAY;IAC7C,IAAI,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC;IACvB,OAAO,GAAG,EAAE;QACV,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC;QACpD,KAAK,MAAM,CAAC,CAAC;QACb,OAAO,KAAK,GAAG,aAAa,CAAC;IAC/B,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAI,UAAwB,EAAE,MAAoB;IACnE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC,KAAK,CAAE,CAAC;AACxB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAqB;IAC9C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACX,OAAO,EAAE,CAAC;QACZ,KAAK,OAAO;YACV,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,KAAK,UAAU;YACb,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7E,KAAK,WAAW;YACd,OAAO;gBACL,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE;gBAChE,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE;aAC3E,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAoB;IAC5C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,EAAE,CAAC;QACZ,KAAK,QAAQ;YACX,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7F,KAAK,WAAW;YACd,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9F,KAAK,QAAQ;YACX,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7F,KAAK,WAAW;YACd,OAAO,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9F,KAAK,SAAS;YACZ,OAAO;gBACL,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;gBACjF,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;aAClF,CAAC;QACJ,KAAK,YAAY;YACf,OAAO;gBACL,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE;gBAClF,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE;aACnF,CAAC;QACJ,KAAK,SAAS;YACZ,OAAO;gBACL,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;gBACjF,EAAE,OAAO,EAAE,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;aAC3F,CAAC;QACJ,KAAK,YAAY;YACf,OAAO;gBACL,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE;gBAClF,EAAE,OAAO,EAAE,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE;aAC5F,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,YAAkC,EAClC,KAAiB,EACjB,eAA+B;IAE/B,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC;QACxC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,eAAe,IAAI,IAAI,CAAC,SAAS,KAAK,eAAe,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAE,EAAE,CAAC;AACjD,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAqB;IAC/C,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,6BAA6B,CACpC,KAAwB,EACxB,MAAiC,EACjC,KAAiB;IAEjB,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,MAAM,eAAe,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1F,IAAI,eAAe,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,eAAe,CAAC,MAAM,KAAK,QAAQ;YACxC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,CAAE,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE;YAC/E,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACrC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAoB;IAC7C,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,4BAA4B,CACnC,KAAwB,EACxB,MAAgC,EAChC,KAAiB;IAEjB,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;IAEvE,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,MAAM,eAAe,GAAG,gBAAgB,CACtC,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAE,CAAC,EACvC,KAAK,EACL,kBAAkB,CACnB,CAAC;QACF,IAAI,eAAe,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,eAAe,CAAC,MAAM,KAAK,QAAQ;YACxC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,CAAE,EAAE,IAAI,EAAE,eAAe,CAAC,IAAI,EAAE;YAC/E,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,gBAAgB,GAAyB,IAAI,CAAC;IAClD,KAAK,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,gBAAgB,CAChC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,EACjC,KAAK,EACL,kBAAkB,IAAI,CACpB,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;YAC1B,CAAC,CAAC,gBAAgB,IAAI,SAAS;YAC/B,CAAC,CAAC,SAAS,CACd,CACF,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACrC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClC,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACjC,gBAAgB,KAAK,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;QACxD,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAE,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;IAC3E,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,eAAe,CAAC,IAAoB;IAC3C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAmB;IACzC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QACpC,KAAK,gBAAgB;YACnB,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAC5B,KAAK,gBAAgB;YACnB,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QAC5B,KAAK,gBAAgB;YACnB,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QACpD,KAAK,gBAAgB;YACnB,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QACpD,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,IAAoB;IAEpB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;QACrC,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAmB;IAEnB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM;YACT,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;QACpC,KAAK,gBAAgB;YACnB,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACvE,KAAK,gBAAgB;YACnB,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACtE,KAAK,gBAAgB;YACnB,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAC/F,KAAK,gBAAgB;YACnB,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC9F,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;QAC9D,KAAK,UAAU;YACb,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,KAAK;IAClB,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,8BAA8B,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,IAAI,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,GAAW,EACX,IAAY,EACZ,KAAwB,EACxB,YAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,IAAI,KAAK,CAAC,EAAE,eAAe,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,GAAW,EACX,IAAY,EACZ,KAAqB;IAErB,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5B,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAClD,MAAM;QACR,KAAK,QAAQ;YACX,KAAK,CAAC,IAAI,CAAC,OAAO,aAAa,EAAE,CAAC,CAAC;YACnC,MAAM;QACR,KAAK,OAAO;YACV,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,EAAE,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,UAAU;YACb,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,EAAE,CAAC,CAAC;YAC1C,MAAM;QACR,KAAK,WAAW;YACd,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,EAAE,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,cAAc,uBAAuB,EAAE,CAAC,CAAC;YACpD,MAAM;IACV,CAAC;IACD,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC;AAC3G,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,GAAW,EACX,IAAY,EACZ,KAAoB;IAEpB,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5B,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,MAAM;YACT,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACjD,MAAM;QACR,KAAK,SAAS;YACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,MAAM;QACR,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW;YACd,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM;QACR,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW;YACd,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM;QACR,KAAK,SAAS,CAAC;QACf,KAAK,YAAY;YACf,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,MAAM;QACR,KAAK,SAAS,CAAC;QACf,KAAK,YAAY;YACf,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,cAAc,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;YACrD,MAAM;IACV,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,SAAS,CAAC;IACtE,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,GAAW,EACX,MAAiC;IAEjC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,GAAW,EACX,MAAgC;IAEhC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,uBAAuB,CAC9B,GAAW,EACX,KAAa,EACb,IAAsB,EACtB,OAAqE,EACrE,QAA2B;IAE3B,MAAM,OAAO,GAAG,sCAAsC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,+BAA+B,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEjE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACrF,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,kCAAkC,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,+BAA+B,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,KAAK,CACV,OAAO,CAAC,IAAI,CAAC,UAAU,EACvB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAK,CAAC,EAC7B,GAAG,KAAK,2BAA2B,CACpC,CAAC;IACF,MAAM,CAAC,KAAK,CACV,OAAO,CAAC,IAAI,CAAC,OAAO,EACpB,QAAQ,CAAC,IAAI,EAAE,OAAO,EACtB,GAAG,KAAK,+BAA+B,CACxC,CAAC;IACF,MAAM,CAAC,SAAS,CACd,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EACrC,IAAI,EACJ,GAAG,KAAK,iCAAiC,CAC1C,CAAC;IACF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,KAAK,CACV,OAAO,CAAC,IAAI,CAAC,WAAW,EACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACxC,GAAG,KAAK,2BAA2B,CACpC,CAAC;QACF,MAAM,CAAC,KAAK,CACV,OAAO,CAAC,IAAI,CAAC,SAAS,EACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAC1D,GAAG,KAAK,yBAAyB,CAClC,CAAC;QACF,MAAM,CAAC,KAAK,CACV,OAAO,CAAC,IAAI,CAAC,WAAW,EACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,KAAK,GAAG,EAChC,GAAG,KAAK,gCAAgC,CACzC,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,oCAAoC,CAAC,CAAC;QAC9D,MAAM,CAAC,KAAK,CACV,IAAI,EAAE,UAAU,EAChB,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAK,CAAC,EAC7B,GAAG,KAAK,mCAAmC,CAC5C,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,yCAAyC,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,UAAU,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,SAAS,CAAC,KAAK,IAAI,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;YAC1C,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;gBAC3C,KAAK,MAAM,WAAW,IAAI,iBAAiB,EAAE,CAAC;oBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,SAAS,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC;oBAC7E,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,WAAW,CAAU,CAAC;oBAClD,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBACtC,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC1F,uBAAuB,CACrB,GAAG,EACH,eAAe,SAAS,UAAU,UAAU,WAAW,WAAW,EAAE,EACpE,OAAO,EACP,iBAAiB,CAAC,SAAS,CAAC,EAC5B,QAAQ,CACT,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChC,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;YACzC,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;gBAC1C,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE,CAAC;oBAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,SAAS,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC;oBAC5E,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,WAAW,CAAU,CAAC;oBAClD,MAAM,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;oBACrC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;oBACxF,uBAAuB,CACrB,GAAG,EACH,cAAc,SAAS,UAAU,UAAU,WAAW,WAAW,EAAE,EACnE,MAAM,EACN,gBAAgB,CAAC,SAAS,CAAC,EAC3B,QAAQ,CACT,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACrD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,gBAAgB,KAAK,EAAE,CAAC,CAAC;YACnD,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACtC,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC1F,uBAAuB,CACrB,GAAG,EACH,gBAAgB,KAAK,UAAU,SAAS,WAAW,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EACrE,OAAO,EACP,iBAAiB,CAAC,SAAS,CAAC,EAC5B,QAAQ,CACT,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACrD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;YACzE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,KAAK,EAAE,CAAC,CAAC;YAClD,MAAM,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACrC,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;gBACzC,MAAM,QAAQ,GAAG,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;gBACxF,uBAAuB,CACrB,GAAG,EACH,eAAe,KAAK,UAAU,SAAS,WAAW,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EACpE,MAAM,EACN,gBAAgB,CAAC,SAAS,CAAC,EAC3B,QAAQ,CACT,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;QACnD,MAAM,kBAAkB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QACjE,uBAAuB,CACrB,GAAG,EACH,mCAAmC,EACnC,OAAO,EACP,EAAE,EACF,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;QACvD,MAAM,iBAAiB,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;QACpE,uBAAuB,CACrB,GAAG,EACH,yCAAyC,EACzC,MAAM,EACN,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAC1B;YACE,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;SACxF,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,CAAC;YACC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YAClD,MAAM,kBAAkB,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;YACtD,uBAAuB,CACrB,GAAG,EACH,4BAA4B,EAC5B,OAAO,EACP,iBAAiB,CAAC,SAAS,CAAC,EAC5B,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;QACJ,CAAC;QAED,CAAC;YACC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YACjD,MAAM,iBAAiB,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;YACvD,uBAAuB,CACrB,GAAG,EACH,2BAA2B,EAC3B,MAAM,EACN,gBAAgB,CAAC,UAAU,CAAC,EAC5B,EAAE,MAAM,EAAE,QAAQ,EAAE,CACrB,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -217,239 +217,6 @@ describe('planning artifacts', () => {
|
|
|
217
217
|
join(plansDir, 'testspec-alpha.md'),
|
|
218
218
|
]);
|
|
219
219
|
});
|
|
220
|
-
it('fails closed for timestamped PRDs when only legacy slug test specs exist', async () => {
|
|
221
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
222
|
-
await mkdir(plansDir, { recursive: true });
|
|
223
|
-
await writeFile(join(plansDir, 'prd-20260427T153100Z-alpha.md'), '# Alpha\n\nLaunch via omx ralph "Execute alpha"\n');
|
|
224
|
-
await writeFile(join(plansDir, 'test-spec-alpha.md'), '# Alpha Legacy Test Spec\n');
|
|
225
|
-
const artifacts = readPlanningArtifacts(tempDir);
|
|
226
|
-
assert.equal(isPlanningComplete(artifacts), false);
|
|
227
|
-
const selection = readLatestPlanningArtifacts(tempDir);
|
|
228
|
-
assert.equal(selection.prdPath, join(plansDir, 'prd-20260427T153100Z-alpha.md'));
|
|
229
|
-
assert.deepEqual(selection.testSpecPaths, []);
|
|
230
|
-
assert.equal(selection.contextPackStatus, 'missing-baseline');
|
|
231
|
-
assert.equal(selection.contextPackRoleRefs, null);
|
|
232
|
-
assert.deepEqual(selection.missingRequiredContextPackRoles, []);
|
|
233
|
-
assert.deepEqual(selection.contextPackIssues, ['Approved plan is missing a matching test spec.']);
|
|
234
|
-
const outcome = readApprovedExecutionLaunchHintOutcome(tempDir, 'ralph');
|
|
235
|
-
assert.equal(outcome.status, 'resolved');
|
|
236
|
-
if (outcome.status !== 'resolved') {
|
|
237
|
-
throw new Error('expected missing-baseline approved hint outcome');
|
|
238
|
-
}
|
|
239
|
-
assert.equal(outcome.hint.contextPackStatus, 'missing-baseline');
|
|
240
|
-
assert.equal(outcome.hint.contextPackRoleRefs, null);
|
|
241
|
-
assert.deepEqual(outcome.hint.testSpecPaths, []);
|
|
242
|
-
assert.deepEqual(outcome.hint.contextPackIssues, ['Approved plan is missing a matching test spec.']);
|
|
243
|
-
assert.equal(readApprovedExecutionLaunchHint(tempDir, 'ralph'), null);
|
|
244
|
-
const resolution = readTeamDagArtifactResolution(tempDir);
|
|
245
|
-
assert.equal(resolution.source, 'none');
|
|
246
|
-
assert.equal(resolution.prdPath, join(plansDir, 'prd-20260427T153100Z-alpha.md'));
|
|
247
|
-
assert.equal(resolution.planSlug, '20260427T153100Z-alpha');
|
|
248
|
-
assert.deepEqual(resolution.warnings, ['missing_matching_test_spec']);
|
|
249
|
-
});
|
|
250
|
-
it('surfaces plan-only context-pack status on approved hints when no pack is declared', async () => {
|
|
251
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
252
|
-
await mkdir(plansDir, { recursive: true });
|
|
253
|
-
await writeFile(join(plansDir, 'prd-plan-only.md'), '# PRD\n\nLaunch via omx ralph "Execute plan-only handoff"\n');
|
|
254
|
-
await writeFile(join(plansDir, 'test-spec-plan-only.md'), '# Test Spec\n');
|
|
255
|
-
const selection = readLatestPlanningArtifacts(tempDir);
|
|
256
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
|
|
257
|
-
assert.equal(selection.contextPack, null);
|
|
258
|
-
assert.equal(selection.contextPackStatus, 'plan-only');
|
|
259
|
-
assert.equal(selection.contextPackRoleRefs, null);
|
|
260
|
-
assert.deepEqual(selection.missingRequiredContextPackRoles, []);
|
|
261
|
-
assert.deepEqual(selection.contextPackIssues, []);
|
|
262
|
-
assert.ok(hint);
|
|
263
|
-
assert.equal(hint?.contextPack, null);
|
|
264
|
-
assert.equal(hint?.contextPackStatus, 'plan-only');
|
|
265
|
-
assert.equal(hint?.contextPackRoleRefs, null);
|
|
266
|
-
assert.deepEqual(hint?.missingRequiredContextPackRoles, []);
|
|
267
|
-
assert.deepEqual(hint?.contextPackIssues, []);
|
|
268
|
-
});
|
|
269
|
-
it('surfaces ready context-pack status on approved hints when the latest plan declares a fresh pack', async () => {
|
|
270
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
271
|
-
await mkdir(plansDir, { recursive: true });
|
|
272
|
-
const prdPath = join(plansDir, 'prd-context-ready.md');
|
|
273
|
-
const testSpecPath = join(plansDir, 'test-spec-context-ready.md');
|
|
274
|
-
await writeFile(prdPath, [
|
|
275
|
-
'# PRD',
|
|
276
|
-
'',
|
|
277
|
-
buildContextPackOutcome(canonicalContextPackRelativePath('context-ready')),
|
|
278
|
-
'',
|
|
279
|
-
'Launch via omx ralph "Execute context-ready handoff"',
|
|
280
|
-
].join('\n'));
|
|
281
|
-
await writeFile(testSpecPath, '# Test Spec\n');
|
|
282
|
-
const packPath = await writeContextPack('context-ready', prdPath, testSpecPath, ['scope', 'build', 'verify']);
|
|
283
|
-
const selection = readLatestPlanningArtifacts(tempDir);
|
|
284
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
|
|
285
|
-
assert.deepEqual(selection.contextPack, { path: packPath });
|
|
286
|
-
assert.equal(selection.contextPackStatus, 'ready');
|
|
287
|
-
assert.deepEqual(selection.contextPackRoleRefs, {
|
|
288
|
-
scope: ['src/scope-0.ts'],
|
|
289
|
-
build: ['src/build-1.ts'],
|
|
290
|
-
verify: ['src/verify-2.ts'],
|
|
291
|
-
});
|
|
292
|
-
assert.ok(hint);
|
|
293
|
-
assert.deepEqual(hint?.contextPack, { path: packPath });
|
|
294
|
-
assert.equal(hint?.contextPackStatus, 'ready');
|
|
295
|
-
assert.deepEqual(hint?.contextPackRoleRefs, {
|
|
296
|
-
scope: ['src/scope-0.ts'],
|
|
297
|
-
build: ['src/build-1.ts'],
|
|
298
|
-
verify: ['src/verify-2.ts'],
|
|
299
|
-
});
|
|
300
|
-
assert.deepEqual(hint?.missingRequiredContextPackRoles, []);
|
|
301
|
-
assert.deepEqual(hint?.contextPackIssues, []);
|
|
302
|
-
});
|
|
303
|
-
it('keeps approved hint role refs unchanged when ready packs carry private entry metadata', async () => {
|
|
304
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
305
|
-
await mkdir(plansDir, { recursive: true });
|
|
306
|
-
const prdPath = join(plansDir, 'prd-context-ready-private.md');
|
|
307
|
-
const testSpecPath = join(plansDir, 'test-spec-context-ready-private.md');
|
|
308
|
-
await writeFile(prdPath, [
|
|
309
|
-
'# PRD',
|
|
310
|
-
'',
|
|
311
|
-
buildContextPackOutcome(canonicalContextPackRelativePath('context-ready-private')),
|
|
312
|
-
'',
|
|
313
|
-
'Launch via omx ralph "Execute context-ready private handoff"',
|
|
314
|
-
].join('\n'));
|
|
315
|
-
await writeFile(testSpecPath, '# Test Spec\n');
|
|
316
|
-
const packPath = await writeContextPackWithEntries('context-ready-private', prdPath, testSpecPath, [
|
|
317
|
-
{
|
|
318
|
-
path: 'src/scope-ready.ts',
|
|
319
|
-
roles: ['scope'],
|
|
320
|
-
},
|
|
321
|
-
{
|
|
322
|
-
path: 'src/build-ready.ts',
|
|
323
|
-
roles: ['build'],
|
|
324
|
-
label: 'Build Focus',
|
|
325
|
-
tags: ['runtime', 'build'],
|
|
326
|
-
selector: { type: 'heading', value: ' ## Build Focus ', maxWords: 120 },
|
|
327
|
-
relationPath: [
|
|
328
|
-
{ tag: 'Plan', target: ' context-ready-private ' },
|
|
329
|
-
{ tag: 'Implements', target: ' src/build-ready.ts#build-focus ' },
|
|
330
|
-
],
|
|
331
|
-
},
|
|
332
|
-
{
|
|
333
|
-
path: 'src/verify-ready.ts',
|
|
334
|
-
roles: ['verify'],
|
|
335
|
-
relationPath: [
|
|
336
|
-
{ tag: 'Plan', target: ' context-ready-private ' },
|
|
337
|
-
{ tag: 'Verifies', target: ' src/verify-ready.ts ' },
|
|
338
|
-
],
|
|
339
|
-
},
|
|
340
|
-
]);
|
|
341
|
-
const selection = readLatestPlanningArtifacts(tempDir);
|
|
342
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
|
|
343
|
-
assert.deepEqual(selection.contextPack, { path: packPath });
|
|
344
|
-
assert.equal(selection.contextPackStatus, 'ready');
|
|
345
|
-
assert.deepEqual(selection.contextPackRoleRefs, {
|
|
346
|
-
scope: ['src/scope-ready.ts'],
|
|
347
|
-
build: ['src/build-ready.ts'],
|
|
348
|
-
verify: ['src/verify-ready.ts'],
|
|
349
|
-
});
|
|
350
|
-
assert.ok(hint);
|
|
351
|
-
assert.deepEqual(hint?.contextPack, { path: packPath });
|
|
352
|
-
assert.equal(hint?.contextPackStatus, 'ready');
|
|
353
|
-
assert.deepEqual(hint?.contextPackRoleRefs, {
|
|
354
|
-
scope: ['src/scope-ready.ts'],
|
|
355
|
-
build: ['src/build-ready.ts'],
|
|
356
|
-
verify: ['src/verify-ready.ts'],
|
|
357
|
-
});
|
|
358
|
-
assert.deepEqual(hint?.missingRequiredContextPackRoles, []);
|
|
359
|
-
assert.deepEqual(hint?.contextPackIssues, []);
|
|
360
|
-
});
|
|
361
|
-
it('keeps approved hint role refs unchanged when ready packs carry malformed private metadata', async () => {
|
|
362
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
363
|
-
await mkdir(plansDir, { recursive: true });
|
|
364
|
-
const prdPath = join(plansDir, 'prd-context-ready-private-counterfactual.md');
|
|
365
|
-
const testSpecPath = join(plansDir, 'test-spec-context-ready-private-counterfactual.md');
|
|
366
|
-
await writeFile(prdPath, [
|
|
367
|
-
'# PRD',
|
|
368
|
-
'',
|
|
369
|
-
buildContextPackOutcome(canonicalContextPackRelativePath('context-ready-private-counterfactual')),
|
|
370
|
-
'',
|
|
371
|
-
'Launch via omx ralph "Execute context-ready private counterfactual handoff"',
|
|
372
|
-
].join('\n'));
|
|
373
|
-
await writeFile(testSpecPath, '# Test Spec\n');
|
|
374
|
-
const packPath = await writeContextPackWithEntries('context-ready-private-counterfactual', prdPath, testSpecPath, [
|
|
375
|
-
{
|
|
376
|
-
path: 'src/scope-counterfactual.ts',
|
|
377
|
-
roles: ['scope'],
|
|
378
|
-
},
|
|
379
|
-
{
|
|
380
|
-
path: 'src/build-counterfactual.ts',
|
|
381
|
-
roles: ['build'],
|
|
382
|
-
selector: { type: 'heading', value: 'Build Focus', maxWords: 20 },
|
|
383
|
-
},
|
|
384
|
-
{
|
|
385
|
-
path: 'src/verify-counterfactual.ts',
|
|
386
|
-
roles: ['verify'],
|
|
387
|
-
},
|
|
388
|
-
]);
|
|
389
|
-
const selection = readLatestPlanningArtifacts(tempDir);
|
|
390
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
|
|
391
|
-
assert.deepEqual(selection.contextPack, { path: packPath });
|
|
392
|
-
assert.equal(selection.contextPackStatus, 'ready');
|
|
393
|
-
assert.deepEqual(selection.contextPackRoleRefs, {
|
|
394
|
-
scope: ['src/scope-counterfactual.ts'],
|
|
395
|
-
build: ['src/build-counterfactual.ts'],
|
|
396
|
-
verify: ['src/verify-counterfactual.ts'],
|
|
397
|
-
});
|
|
398
|
-
assert.ok(hint);
|
|
399
|
-
assert.deepEqual(hint?.contextPack, { path: packPath });
|
|
400
|
-
assert.equal(hint?.contextPackStatus, 'ready');
|
|
401
|
-
assert.deepEqual(hint?.contextPackRoleRefs, {
|
|
402
|
-
scope: ['src/scope-counterfactual.ts'],
|
|
403
|
-
build: ['src/build-counterfactual.ts'],
|
|
404
|
-
verify: ['src/verify-counterfactual.ts'],
|
|
405
|
-
});
|
|
406
|
-
assert.deepEqual(hint?.missingRequiredContextPackRoles, []);
|
|
407
|
-
assert.deepEqual(hint?.contextPackIssues, []);
|
|
408
|
-
});
|
|
409
|
-
it('preserves invalid context-pack issues on approved hints without widening them into missing roles', async () => {
|
|
410
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
411
|
-
await mkdir(plansDir, { recursive: true });
|
|
412
|
-
const prdPath = join(plansDir, 'prd-context-invalid.md');
|
|
413
|
-
const testSpecPath = join(plansDir, 'test-spec-context-invalid.md');
|
|
414
|
-
await writeFile(prdPath, [
|
|
415
|
-
'# PRD',
|
|
416
|
-
'',
|
|
417
|
-
buildContextPackOutcome(canonicalContextPackRelativePath('context-invalid')),
|
|
418
|
-
'',
|
|
419
|
-
'Launch via omx ralph "Execute invalid context handoff"',
|
|
420
|
-
].join('\n'));
|
|
421
|
-
await writeFile(testSpecPath, '# Test Spec\n');
|
|
422
|
-
await writeContextPack('context-invalid', prdPath, testSpecPath, ['scope', 'build', 'verify']);
|
|
423
|
-
await writeFile(testSpecPath, '# Drifted Test Spec\n');
|
|
424
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
|
|
425
|
-
assert.ok(hint);
|
|
426
|
-
assert.equal(hint?.contextPackStatus, 'invalid');
|
|
427
|
-
assert.equal(hint?.contextPackRoleRefs, null);
|
|
428
|
-
assert.deepEqual(hint?.missingRequiredContextPackRoles, []);
|
|
429
|
-
assert.ok(hint?.contextPackIssues.some((issue) => issue.includes('basis test-spec hash')));
|
|
430
|
-
});
|
|
431
|
-
it('preserves inspectable missing roles on approved hints even when the pack is invalid', async () => {
|
|
432
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
433
|
-
await mkdir(plansDir, { recursive: true });
|
|
434
|
-
const prdPath = join(plansDir, 'prd-context-invalid-missing-roles.md');
|
|
435
|
-
const testSpecPath = join(plansDir, 'test-spec-context-invalid-missing-roles.md');
|
|
436
|
-
await writeFile(prdPath, [
|
|
437
|
-
'# PRD',
|
|
438
|
-
'',
|
|
439
|
-
buildContextPackOutcome(canonicalContextPackRelativePath('context-invalid-missing-roles')),
|
|
440
|
-
'',
|
|
441
|
-
'Launch via omx ralph "Execute invalid missing roles handoff"',
|
|
442
|
-
].join('\n'));
|
|
443
|
-
await writeFile(testSpecPath, '# Test Spec\n');
|
|
444
|
-
await writeContextPack('context-invalid-missing-roles', prdPath, testSpecPath, ['scope']);
|
|
445
|
-
await writeFile(testSpecPath, '# Drifted Test Spec\n');
|
|
446
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
|
|
447
|
-
assert.ok(hint);
|
|
448
|
-
assert.equal(hint?.contextPackStatus, 'invalid');
|
|
449
|
-
assert.equal(hint?.contextPackRoleRefs, null);
|
|
450
|
-
assert.deepEqual(hint?.missingRequiredContextPackRoles, ['build', 'verify']);
|
|
451
|
-
assert.ok(hint?.contextPackIssues.some((issue) => issue.includes('basis test-spec hash')));
|
|
452
|
-
});
|
|
453
220
|
it('parses $ralph aliases with single-quoted task text for approved launch hints', async () => {
|
|
454
221
|
const plansDir = join(tempDir, '.omx', 'plans');
|
|
455
222
|
const specsDir = join(tempDir, '.omx', 'specs');
|
|
@@ -678,27 +445,6 @@ describe('planning artifacts', () => {
|
|
|
678
445
|
const outcome = readApprovedExecutionLaunchHintOutcome(tempDir, 'ralph', { task });
|
|
679
446
|
assert.equal(outcome.status, 'absent');
|
|
680
447
|
});
|
|
681
|
-
it('resolves Ralph launch hints wrapped across visible markdown lines', async () => {
|
|
682
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
683
|
-
const task = 'Execute wrapped visible ralph plan';
|
|
684
|
-
const command = `omx ralph ${JSON.stringify(task)}`;
|
|
685
|
-
await mkdir(plansDir, { recursive: true });
|
|
686
|
-
await writeFile(join(plansDir, 'prd-wrapped-visible-ralph.md'), [
|
|
687
|
-
'# PRD',
|
|
688
|
-
'',
|
|
689
|
-
'Launch via omx ralph',
|
|
690
|
-
JSON.stringify(task),
|
|
691
|
-
].join('\n'));
|
|
692
|
-
await writeFile(join(plansDir, 'test-spec-wrapped-visible-ralph.md'), '# Test Spec\n');
|
|
693
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph', { task });
|
|
694
|
-
assert.ok(hint);
|
|
695
|
-
assert.equal(hint?.task, task);
|
|
696
|
-
assert.equal(hint?.command, command);
|
|
697
|
-
assert.equal(hint?.contextPackStatus, 'plan-only');
|
|
698
|
-
const exactHint = readApprovedExecutionLaunchHint(tempDir, 'ralph', { command });
|
|
699
|
-
assert.ok(exactHint);
|
|
700
|
-
assert.equal(exactHint?.command, command);
|
|
701
|
-
});
|
|
702
448
|
it('does not let Ralph launch hints span hidden markdown gaps', async () => {
|
|
703
449
|
const plansDir = join(tempDir, '.omx', 'plans');
|
|
704
450
|
await mkdir(plansDir, { recursive: true });
|
|
@@ -739,30 +485,6 @@ describe('planning artifacts', () => {
|
|
|
739
485
|
assert.equal(outcome.status, 'absent', scenario.name);
|
|
740
486
|
}
|
|
741
487
|
});
|
|
742
|
-
it('resolves Team launch hints wrapped across visible markdown lines', async () => {
|
|
743
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
744
|
-
const task = 'Execute wrapped visible team plan';
|
|
745
|
-
const command = `omx team 2:executor ${JSON.stringify(task)}`;
|
|
746
|
-
await mkdir(plansDir, { recursive: true });
|
|
747
|
-
await writeFile(join(plansDir, 'prd-wrapped-visible-team.md'), [
|
|
748
|
-
'# PRD',
|
|
749
|
-
'',
|
|
750
|
-
'Launch via omx team',
|
|
751
|
-
'2:executor',
|
|
752
|
-
JSON.stringify(task),
|
|
753
|
-
].join('\n'));
|
|
754
|
-
await writeFile(join(plansDir, 'test-spec-wrapped-visible-team.md'), '# Test Spec\n');
|
|
755
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'team', { task });
|
|
756
|
-
assert.ok(hint);
|
|
757
|
-
assert.equal(hint?.task, task);
|
|
758
|
-
assert.equal(hint?.workerCount, 2);
|
|
759
|
-
assert.equal(hint?.agentType, 'executor');
|
|
760
|
-
assert.equal(hint?.command, command);
|
|
761
|
-
assert.equal(hint?.contextPackStatus, 'plan-only');
|
|
762
|
-
const exactHint = readApprovedExecutionLaunchHint(tempDir, 'team', { command });
|
|
763
|
-
assert.ok(exactHint);
|
|
764
|
-
assert.equal(exactHint?.command, command);
|
|
765
|
-
});
|
|
766
488
|
it('normalizes wrapped linked-Ralph team launch hints for exact command matching', async () => {
|
|
767
489
|
const plansDir = join(tempDir, '.omx', 'plans');
|
|
768
490
|
const task = 'Execute wrapped linked ralph team plan';
|
|
@@ -865,28 +587,6 @@ describe('planning artifacts', () => {
|
|
|
865
587
|
assert.equal(exactOutcome.hint.task, task);
|
|
866
588
|
assert.equal(readApprovedExecutionLaunchHintOutcome(tempDir, 'ralph', { command: collapsedCommand }).status, 'absent');
|
|
867
589
|
});
|
|
868
|
-
it('ignores Team launch hints inside fenced code blocks', async () => {
|
|
869
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
870
|
-
const task = 'Execute approved issue 1314 fenced team plan';
|
|
871
|
-
await mkdir(plansDir, { recursive: true });
|
|
872
|
-
await writeFile(join(plansDir, 'prd-issue-1314-fenced-team.md'), [
|
|
873
|
-
'# PRD',
|
|
874
|
-
'',
|
|
875
|
-
'```sh',
|
|
876
|
-
`omx team 5:reviewer ${JSON.stringify(task)}`,
|
|
877
|
-
'```',
|
|
878
|
-
'',
|
|
879
|
-
`Launch via omx team 2:executor ${JSON.stringify(task)}`,
|
|
880
|
-
].join('\n'));
|
|
881
|
-
await writeFile(join(plansDir, 'test-spec-issue-1314-fenced-team.md'), '# Test Spec\n');
|
|
882
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'team');
|
|
883
|
-
assert.ok(hint);
|
|
884
|
-
assert.equal(hint?.task, task);
|
|
885
|
-
assert.equal(hint?.workerCount, 2);
|
|
886
|
-
assert.equal(hint?.agentType, 'executor');
|
|
887
|
-
assert.equal(hint?.command, `omx team 2:executor ${JSON.stringify(task)}`);
|
|
888
|
-
assert.equal(hint?.contextPackStatus, 'plan-only');
|
|
889
|
-
});
|
|
890
590
|
it('ignores Team launch hints that appear only inside fenced code blocks', async () => {
|
|
891
591
|
const plansDir = join(tempDir, '.omx', 'plans');
|
|
892
592
|
const task = 'Execute hidden fenced team plan';
|
|
@@ -902,78 +602,6 @@ describe('planning artifacts', () => {
|
|
|
902
602
|
const outcome = readApprovedExecutionLaunchHintOutcome(tempDir, 'team', { task });
|
|
903
603
|
assert.equal(outcome.status, 'absent');
|
|
904
604
|
});
|
|
905
|
-
it('ignores adversarial hidden Team launch hints that try to break out with deceptive fence lines', async () => {
|
|
906
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
907
|
-
const task = 'Execute adversarial fenced team plan';
|
|
908
|
-
await mkdir(plansDir, { recursive: true });
|
|
909
|
-
await writeFile(join(plansDir, 'prd-adversarial-fenced-team.md'), [
|
|
910
|
-
'# PRD',
|
|
911
|
-
'',
|
|
912
|
-
'```md',
|
|
913
|
-
`omx team 9:reviewer ${JSON.stringify(task)}`,
|
|
914
|
-
' ```',
|
|
915
|
-
'```still-open',
|
|
916
|
-
'~~~',
|
|
917
|
-
`omx team 7:critic ${JSON.stringify(task)}`,
|
|
918
|
-
'```',
|
|
919
|
-
'',
|
|
920
|
-
`Launch via omx team 2:executor ${JSON.stringify(task)}`,
|
|
921
|
-
].join('\n'));
|
|
922
|
-
await writeFile(join(plansDir, 'test-spec-adversarial-fenced-team.md'), '# Test Spec\n');
|
|
923
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'team');
|
|
924
|
-
assert.ok(hint);
|
|
925
|
-
assert.equal(hint?.task, task);
|
|
926
|
-
assert.equal(hint?.workerCount, 2);
|
|
927
|
-
assert.equal(hint?.agentType, 'executor');
|
|
928
|
-
assert.equal(hint?.command, `omx team 2:executor ${JSON.stringify(task)}`);
|
|
929
|
-
assert.equal(hint?.contextPackStatus, 'plan-only');
|
|
930
|
-
});
|
|
931
|
-
it('ignores Team launch hints inside nested commented blocks with inner fence lookalikes', async () => {
|
|
932
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
933
|
-
const task = 'Execute commented nested team plan';
|
|
934
|
-
await mkdir(plansDir, { recursive: true });
|
|
935
|
-
await writeFile(join(plansDir, 'prd-commented-nested-team.md'), [
|
|
936
|
-
'# PRD',
|
|
937
|
-
'',
|
|
938
|
-
'<!--',
|
|
939
|
-
`Launch via omx team 9:reviewer ${JSON.stringify(task)}`,
|
|
940
|
-
'<!--',
|
|
941
|
-
`omx team 7:critic ${JSON.stringify(task)}`,
|
|
942
|
-
'```md',
|
|
943
|
-
`Launch via omx team 6:debugger ${JSON.stringify(task)}`,
|
|
944
|
-
'-->',
|
|
945
|
-
'~~~',
|
|
946
|
-
'-->',
|
|
947
|
-
'',
|
|
948
|
-
`Launch via omx team 2:executor ${JSON.stringify(task)}`,
|
|
949
|
-
].join('\n'));
|
|
950
|
-
await writeFile(join(plansDir, 'test-spec-commented-nested-team.md'), '# Test Spec\n');
|
|
951
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'team');
|
|
952
|
-
assert.ok(hint);
|
|
953
|
-
assert.equal(hint?.task, task);
|
|
954
|
-
assert.equal(hint?.workerCount, 2);
|
|
955
|
-
assert.equal(hint?.agentType, 'executor');
|
|
956
|
-
assert.equal(hint?.command, `omx team 2:executor ${JSON.stringify(task)}`);
|
|
957
|
-
assert.equal(hint?.contextPackStatus, 'plan-only');
|
|
958
|
-
});
|
|
959
|
-
it('ignores Ralph launch hints inside indented code blocks', async () => {
|
|
960
|
-
const plansDir = join(tempDir, '.omx', 'plans');
|
|
961
|
-
const task = 'Execute approved issue 1314 indented ralph plan';
|
|
962
|
-
await mkdir(plansDir, { recursive: true });
|
|
963
|
-
await writeFile(join(plansDir, 'prd-issue-1314-indented-ralph.md'), [
|
|
964
|
-
'# PRD',
|
|
965
|
-
'',
|
|
966
|
-
` omx ralph ${JSON.stringify(task)}`,
|
|
967
|
-
'',
|
|
968
|
-
`Launch via omx ralph ${JSON.stringify(task)}`,
|
|
969
|
-
].join('\n'));
|
|
970
|
-
await writeFile(join(plansDir, 'test-spec-issue-1314-indented-ralph.md'), '# Test Spec\n');
|
|
971
|
-
const hint = readApprovedExecutionLaunchHint(tempDir, 'ralph');
|
|
972
|
-
assert.ok(hint);
|
|
973
|
-
assert.equal(hint?.task, task);
|
|
974
|
-
assert.equal(hint?.command, `omx ralph ${JSON.stringify(task)}`);
|
|
975
|
-
assert.equal(hint?.contextPackStatus, 'plan-only');
|
|
976
|
-
});
|
|
977
605
|
it('ignores Ralph launch hints that appear only inside nested commented blocks', async () => {
|
|
978
606
|
const plansDir = join(tempDir, '.omx', 'plans');
|
|
979
607
|
const task = 'Execute hidden commented ralph plan';
|
|
@@ -1054,6 +682,33 @@ describe('planning artifacts', () => {
|
|
|
1054
682
|
assert.equal(outcome.hint.agentType, 'executor');
|
|
1055
683
|
assert.equal(outcome.hint.linkedRalph, false);
|
|
1056
684
|
});
|
|
685
|
+
it('resolves Team launch hints when PRD recommends Team plus Ultragoal and separates Ralph follow-up', async () => {
|
|
686
|
+
const plansDir = join(tempDir, '.omx', 'plans');
|
|
687
|
+
const sharedTask = 'Implement durable parallel delivery with Team and Ultragoal';
|
|
688
|
+
await mkdir(plansDir, { recursive: true });
|
|
689
|
+
await writeFile(join(plansDir, 'prd-ultragoal-team-handoff.md'), [
|
|
690
|
+
'# PRD',
|
|
691
|
+
'',
|
|
692
|
+
'Recommend Team + Ultragoal for parallelizable durable-goal execution.',
|
|
693
|
+
'Use Ralph only for a later persistent single-owner verification/fix loop.',
|
|
694
|
+
'',
|
|
695
|
+
`Launch via omx team 3:executor ${JSON.stringify(sharedTask)}`,
|
|
696
|
+
].join('\n'));
|
|
697
|
+
await writeFile(join(plansDir, 'test-spec-ultragoal-team-handoff.md'), '# Test Spec\n');
|
|
698
|
+
const outcome = readApprovedExecutionLaunchHintOutcome(tempDir, 'team', {
|
|
699
|
+
task: sharedTask,
|
|
700
|
+
workerCount: 3,
|
|
701
|
+
agentType: 'executor',
|
|
702
|
+
linkedRalph: false,
|
|
703
|
+
});
|
|
704
|
+
assert.equal(outcome.status, 'resolved');
|
|
705
|
+
if (outcome.status !== 'resolved') {
|
|
706
|
+
throw new Error('expected Team + Ultragoal PRD to resolve a team launch hint');
|
|
707
|
+
}
|
|
708
|
+
assert.equal(outcome.hint.linkedRalph, false);
|
|
709
|
+
assert.equal(outcome.hint.workerCount, 3);
|
|
710
|
+
assert.equal(outcome.hint.agentType, 'executor');
|
|
711
|
+
});
|
|
1057
712
|
it('keeps same-task team launch-hint selection ambiguous when the full signature repeats', async () => {
|
|
1058
713
|
const plansDir = join(tempDir, '.omx', 'plans');
|
|
1059
714
|
const sharedTask = 'Execute shared duplicate team handoff';
|