oh-my-opencode 4.4.0 → 4.5.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/.agents/command/get-unpublished-changes.md +148 -0
- package/.agents/command/omomomo.md +37 -0
- package/.agents/command/publish.md +376 -0
- package/.agents/command/remove-deadcode.md +221 -0
- package/.agents/command/security-research.md +16 -0
- package/.agents/skills/get-unpublished-changes/SKILL.md +24 -0
- package/.agents/skills/github-triage/SKILL.md +587 -0
- package/.agents/skills/github-triage/scripts/gh_fetch.py +398 -0
- package/.agents/skills/hyperplan/SKILL.md +450 -0
- package/.agents/skills/omomomo/SKILL.md +36 -0
- package/.agents/skills/pre-publish-review/SKILL.md +407 -0
- package/.agents/skills/publish/SKILL.md +428 -0
- package/.agents/skills/remove-deadcode/SKILL.md +216 -0
- package/.agents/skills/security-research/SKILL.md +204 -0
- package/.agents/skills/work-with-pr/SKILL.md +360 -0
- package/.agents/skills/work-with-pr-workspace/evals/evals.json +76 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/benchmark.json +138 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/benchmark.md +42 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/eval_metadata.json +57 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/grading.json +15 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/code-changes.md +454 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/execution-plan.md +136 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/pr-description.md +47 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/verification-strategy.md +163 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/grading.json +15 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/code-changes.md +615 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/execution-plan.md +99 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/pr-description.md +50 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/verification-strategy.md +111 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/eval_metadata.json +37 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/grading.json +11 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/code-changes.md +205 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/execution-plan.md +78 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/pr-description.md +42 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/verification-strategy.md +87 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/grading.json +11 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/code-changes.md +334 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/execution-plan.md +86 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/pr-description.md +23 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/verification-strategy.md +119 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/eval_metadata.json +32 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +221 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/execution-plan.md +104 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/pr-description.md +41 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/verification-strategy.md +84 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +342 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/execution-plan.md +131 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/pr-description.md +39 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/verification-strategy.md +128 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/eval_metadata.json +32 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/code-changes.md +143 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/execution-plan.md +82 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/pr-description.md +51 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/verification-strategy.md +69 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/code-changes.md +252 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/execution-plan.md +83 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/pr-description.md +33 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/verification-strategy.md +101 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/eval_metadata.json +32 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/code-changes.md +387 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/execution-plan.md +112 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/pr-description.md +51 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/verification-strategy.md +75 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/grading.json +10 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/code-changes.md +529 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/execution-plan.md +127 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/pr-description.md +42 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/verification-strategy.md +120 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/timing.json +1 -0
- package/.agents/skills/work-with-pr-workspace/iteration-1/review.html +1326 -0
- package/.opencode/command/get-unpublished-changes.md +148 -0
- package/.opencode/command/omomomo.md +37 -0
- package/.opencode/command/publish.md +376 -0
- package/.opencode/command/remove-deadcode.md +221 -0
- package/.opencode/command/security-research.md +16 -0
- package/.opencode/skills/github-triage/SKILL.md +587 -0
- package/.opencode/skills/github-triage/scripts/gh_fetch.py +398 -0
- package/.opencode/skills/hyperplan/SKILL.md +450 -0
- package/.opencode/skills/pre-publish-review/SKILL.md +407 -0
- package/.opencode/skills/work-with-pr/SKILL.md +360 -0
- package/.opencode/skills/work-with-pr-workspace/evals/evals.json +76 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/benchmark.json +138 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/benchmark.md +42 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/eval_metadata.json +57 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/grading.json +15 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/code-changes.md +454 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/execution-plan.md +136 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/pr-description.md +47 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/outputs/verification-strategy.md +163 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/with_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/grading.json +15 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/code-changes.md +615 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/execution-plan.md +99 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/pr-description.md +50 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/outputs/verification-strategy.md +111 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-1/without_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/eval_metadata.json +37 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/grading.json +11 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/code-changes.md +205 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/execution-plan.md +78 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/pr-description.md +42 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/outputs/verification-strategy.md +87 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/with_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/grading.json +11 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/code-changes.md +334 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/execution-plan.md +86 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/pr-description.md +23 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/outputs/verification-strategy.md +119 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-2/without_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/eval_metadata.json +32 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md +221 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/execution-plan.md +104 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/pr-description.md +41 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/verification-strategy.md +84 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/code-changes.md +342 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/execution-plan.md +131 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/pr-description.md +39 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/outputs/verification-strategy.md +128 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-3/without_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/eval_metadata.json +32 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/code-changes.md +143 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/execution-plan.md +82 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/pr-description.md +51 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/outputs/verification-strategy.md +69 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/with_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/code-changes.md +252 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/execution-plan.md +83 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/pr-description.md +33 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/outputs/verification-strategy.md +101 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-4/without_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/eval_metadata.json +32 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/code-changes.md +387 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/execution-plan.md +112 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/pr-description.md +51 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/outputs/verification-strategy.md +75 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/with_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/grading.json +10 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/code-changes.md +529 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/execution-plan.md +127 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/pr-description.md +42 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/outputs/verification-strategy.md +120 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/eval-5/without_skill/timing.json +1 -0
- package/.opencode/skills/work-with-pr-workspace/iteration-1/review.html +1326 -0
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/README.ru.md +1 -1
- package/README.zh-cn.md +1 -1
- package/dist/agents/atlas/agent.d.ts +6 -6
- package/dist/agents/prometheus/gemini.d.ts +0 -11
- package/dist/agents/prometheus/gpt.d.ts +0 -10
- package/dist/agents/prometheus/system-prompt.d.ts +2 -20
- package/dist/agents/types.d.ts +1 -16
- package/dist/cli/index.js +50 -17
- package/dist/config/schema/agent-names.d.ts +3 -3
- package/dist/config/schema/agent-overrides.d.ts +208 -208
- package/dist/config/schema/categories.d.ts +28 -28
- package/dist/config/schema/fallback-models.d.ts +20 -20
- package/dist/config/schema/oh-my-opencode-config.d.ts +208 -208
- package/dist/features/background-agent/parent-wake-notifier.d.ts +8 -1
- package/dist/help/schema/acp.d.ts +95 -0
- package/dist/help/schema/doctor.d.ts +147 -0
- package/dist/help/schema/sandbox.d.ts +74 -0
- package/dist/help/schema/status.d.ts +139 -0
- package/dist/hooks/keyword-detector/analyze/default.d.ts +1 -1
- package/dist/hooks/keyword-detector/hyperplan/default.d.ts +1 -1
- package/dist/hooks/keyword-detector/search/default.d.ts +1 -1
- package/dist/hooks/keyword-detector/team/default.d.ts +2 -7
- package/dist/hooks/keyword-detector/ultrawork/default.d.ts +1 -9
- package/dist/hooks/keyword-detector/ultrawork/gemini.d.ts +1 -16
- package/dist/hooks/keyword-detector/ultrawork/gpt.d.ts +1 -10
- package/dist/hooks/keyword-detector/ultrawork/planner.d.ts +1 -5
- package/dist/hooks/ralph-loop/no-progress-turn-detector.d.ts +7 -0
- package/dist/hooks/ralph-loop/pending-verification-handler.d.ts +1 -0
- package/dist/hooks/ralph-loop/types.d.ts +1 -0
- package/dist/hooks/runtime-fallback/error-classifier.d.ts +1 -0
- package/dist/index.js +51910 -50310
- package/dist/shared/prompt-async-gate/pending-tool-turn.d.ts +1 -0
- package/dist/shared/prompt-async-gate/types.d.ts +4 -3
- package/package.json +19 -13
- package/dist/agents/atlas/default-prompt-sections.d.ts +0 -6
- package/dist/agents/atlas/default.d.ts +0 -2
- package/dist/agents/atlas/gemini-prompt-sections.d.ts +0 -6
- package/dist/agents/atlas/gemini.d.ts +0 -2
- package/dist/agents/atlas/gpt-prompt-sections.d.ts +0 -6
- package/dist/agents/atlas/gpt.d.ts +0 -2
- package/dist/agents/atlas/kimi-prompt-sections.d.ts +0 -6
- package/dist/agents/atlas/kimi.d.ts +0 -2
- package/dist/agents/atlas/opus-4-7-prompt-sections.d.ts +0 -6
- package/dist/agents/atlas/opus-4-7.d.ts +0 -2
- package/dist/agents/atlas/shared-prompt.d.ts +0 -9
- package/dist/agents/prometheus/behavioral-summary.d.ts +0 -6
- package/dist/agents/prometheus/high-accuracy-mode.d.ts +0 -6
- package/dist/agents/prometheus/identity-constraints.d.ts +0 -7
- package/dist/agents/prometheus/interview-mode.d.ts +0 -7
- package/dist/agents/prometheus/plan-generation.d.ts +0 -7
- package/dist/agents/prometheus/plan-template.d.ts +0 -7
- package/dist/agents/prometheus/spec-driven-mode.d.ts +0 -7
package/.agents/skills/work-with-pr-workspace/iteration-1/eval-3/with_skill/outputs/code-changes.md
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# Code Changes
|
|
2
|
+
|
|
3
|
+
## New File: `src/tools/delegate-task/default-categories.ts`
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
import type { CategoryConfig } from "../../config/schema"
|
|
7
|
+
|
|
8
|
+
export const DEFAULT_CATEGORIES: Record<string, CategoryConfig> = {
|
|
9
|
+
"visual-engineering": { model: "google/gemini-3.1-pro", variant: "high" },
|
|
10
|
+
ultrabrain: { model: "openai/gpt-5.4", variant: "xhigh" },
|
|
11
|
+
deep: { model: "openai/gpt-5.3-codex", variant: "medium" },
|
|
12
|
+
artistry: { model: "google/gemini-3.1-pro", variant: "high" },
|
|
13
|
+
quick: { model: "anthropic/claude-haiku-4-5" },
|
|
14
|
+
"unspecified-low": { model: "anthropic/claude-sonnet-4-6" },
|
|
15
|
+
"unspecified-high": { model: "anthropic/claude-opus-4-6", variant: "max" },
|
|
16
|
+
writing: { model: "kimi-for-coding/k2p5" },
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const CATEGORY_DESCRIPTIONS: Record<string, string> = {
|
|
20
|
+
"visual-engineering": "Frontend, UI/UX, design, styling, animation",
|
|
21
|
+
ultrabrain: "Use ONLY for genuinely hard, logic-heavy tasks. Give clear goals only, not step-by-step instructions.",
|
|
22
|
+
deep: "Goal-oriented autonomous problem-solving. Thorough research before action. For hairy problems requiring deep understanding.",
|
|
23
|
+
artistry: "Complex problem-solving with unconventional, creative approaches - beyond standard patterns",
|
|
24
|
+
quick: "Trivial tasks - single file changes, typo fixes, simple modifications",
|
|
25
|
+
"unspecified-low": "Tasks that don't fit other categories, low effort required",
|
|
26
|
+
"unspecified-high": "Tasks that don't fit other categories, high effort required",
|
|
27
|
+
writing: "Documentation, prose, technical writing",
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## New File: `src/tools/delegate-task/category-prompt-appends.ts`
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
export const VISUAL_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
35
|
+
You are working on VISUAL/UI tasks.
|
|
36
|
+
...
|
|
37
|
+
</Category_Context>`
|
|
38
|
+
// (exact content from lines 8-95 of constants.ts)
|
|
39
|
+
|
|
40
|
+
export const ULTRABRAIN_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
41
|
+
...
|
|
42
|
+
</Category_Context>`
|
|
43
|
+
// (exact content from lines 97-117)
|
|
44
|
+
|
|
45
|
+
export const ARTISTRY_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
46
|
+
...
|
|
47
|
+
</Category_Context>`
|
|
48
|
+
// (exact content from lines 119-134)
|
|
49
|
+
|
|
50
|
+
export const QUICK_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
51
|
+
...
|
|
52
|
+
</Caller_Warning>`
|
|
53
|
+
// (exact content from lines 136-186)
|
|
54
|
+
|
|
55
|
+
export const UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
56
|
+
...
|
|
57
|
+
</Caller_Warning>`
|
|
58
|
+
// (exact content from lines 188-209)
|
|
59
|
+
|
|
60
|
+
export const UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
61
|
+
...
|
|
62
|
+
</Category_Context>`
|
|
63
|
+
// (exact content from lines 211-224)
|
|
64
|
+
|
|
65
|
+
export const WRITING_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
66
|
+
...
|
|
67
|
+
</Category_Context>`
|
|
68
|
+
// (exact content from lines 226-250)
|
|
69
|
+
|
|
70
|
+
export const DEEP_CATEGORY_PROMPT_APPEND = `<Category_Context>
|
|
71
|
+
...
|
|
72
|
+
</Category_Context>`
|
|
73
|
+
// (exact content from lines 252-281)
|
|
74
|
+
|
|
75
|
+
export const CATEGORY_PROMPT_APPENDS: Record<string, string> = {
|
|
76
|
+
"visual-engineering": VISUAL_CATEGORY_PROMPT_APPEND,
|
|
77
|
+
ultrabrain: ULTRABRAIN_CATEGORY_PROMPT_APPEND,
|
|
78
|
+
deep: DEEP_CATEGORY_PROMPT_APPEND,
|
|
79
|
+
artistry: ARTISTRY_CATEGORY_PROMPT_APPEND,
|
|
80
|
+
quick: QUICK_CATEGORY_PROMPT_APPEND,
|
|
81
|
+
"unspecified-low": UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND,
|
|
82
|
+
"unspecified-high": UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND,
|
|
83
|
+
writing: WRITING_CATEGORY_PROMPT_APPEND,
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## New File: `src/tools/delegate-task/plan-agent-prompt.ts`
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
import type {
|
|
91
|
+
AvailableCategory,
|
|
92
|
+
AvailableSkill,
|
|
93
|
+
} from "../../agents/dynamic-agent-prompt-builder"
|
|
94
|
+
import { truncateDescription } from "../../shared/truncate-description"
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* System prompt prepended to plan agent invocations.
|
|
98
|
+
* Instructs the plan agent to first gather context via explore/librarian agents,
|
|
99
|
+
* then summarize user requirements and clarify uncertainties before proceeding.
|
|
100
|
+
* Also MANDATES dependency graphs, parallel execution analysis, and category+skill recommendations.
|
|
101
|
+
*/
|
|
102
|
+
export const PLAN_AGENT_SYSTEM_PREPEND_STATIC_BEFORE_SKILLS = `<system>
|
|
103
|
+
...
|
|
104
|
+
</CRITICAL_REQUIREMENT_DEPENDENCY_PARALLEL_EXECUTION_CATEGORY_SKILLS>
|
|
105
|
+
`
|
|
106
|
+
// (exact content from lines 324-430)
|
|
107
|
+
|
|
108
|
+
export const PLAN_AGENT_SYSTEM_PREPEND_STATIC_AFTER_SKILLS = `### REQUIRED OUTPUT FORMAT
|
|
109
|
+
...
|
|
110
|
+
`
|
|
111
|
+
// (exact content from lines 432-569)
|
|
112
|
+
|
|
113
|
+
function renderPlanAgentCategoryRows(categories: AvailableCategory[]): string[] {
|
|
114
|
+
const sorted = [...categories].sort((a, b) => a.name.localeCompare(b.name))
|
|
115
|
+
return sorted.map((category) => {
|
|
116
|
+
const bestFor = category.description || category.name
|
|
117
|
+
const model = category.model || ""
|
|
118
|
+
return `| \`${category.name}\` | ${bestFor} | ${model} |`
|
|
119
|
+
})
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function renderPlanAgentSkillRows(skills: AvailableSkill[]): string[] {
|
|
123
|
+
const sorted = [...skills].sort((a, b) => a.name.localeCompare(b.name))
|
|
124
|
+
return sorted.map((skill) => {
|
|
125
|
+
const domain = truncateDescription(skill.description).trim() || skill.name
|
|
126
|
+
return `| \`${skill.name}\` | ${domain} |`
|
|
127
|
+
})
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export function buildPlanAgentSkillsSection(
|
|
131
|
+
categories: AvailableCategory[] = [],
|
|
132
|
+
skills: AvailableSkill[] = []
|
|
133
|
+
): string {
|
|
134
|
+
const categoryRows = renderPlanAgentCategoryRows(categories)
|
|
135
|
+
const skillRows = renderPlanAgentSkillRows(skills)
|
|
136
|
+
|
|
137
|
+
return `### AVAILABLE CATEGORIES
|
|
138
|
+
|
|
139
|
+
| Category | Best For | Model |
|
|
140
|
+
|----------|----------|-------|
|
|
141
|
+
${categoryRows.join("\n")}
|
|
142
|
+
|
|
143
|
+
### AVAILABLE SKILLS (ALWAYS EVALUATE ALL)
|
|
144
|
+
|
|
145
|
+
Skills inject specialized expertise into the delegated agent.
|
|
146
|
+
YOU MUST evaluate EVERY skill and justify inclusions/omissions.
|
|
147
|
+
|
|
148
|
+
| Skill | Domain |
|
|
149
|
+
|-------|--------|
|
|
150
|
+
${skillRows.join("\n")}`
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export function buildPlanAgentSystemPrepend(
|
|
154
|
+
categories: AvailableCategory[] = [],
|
|
155
|
+
skills: AvailableSkill[] = []
|
|
156
|
+
): string {
|
|
157
|
+
return [
|
|
158
|
+
PLAN_AGENT_SYSTEM_PREPEND_STATIC_BEFORE_SKILLS,
|
|
159
|
+
buildPlanAgentSkillsSection(categories, skills),
|
|
160
|
+
PLAN_AGENT_SYSTEM_PREPEND_STATIC_AFTER_SKILLS,
|
|
161
|
+
].join("\n\n")
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## New File: `src/tools/delegate-task/plan-agent-names.ts`
|
|
166
|
+
|
|
167
|
+
```typescript
|
|
168
|
+
/**
|
|
169
|
+
* List of agent names that should be treated as plan agents (receive plan system prompt).
|
|
170
|
+
* Case-insensitive matching is used.
|
|
171
|
+
*/
|
|
172
|
+
export const PLAN_AGENT_NAMES = ["plan"]
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Check if the given agent name is a plan agent (receives plan system prompt).
|
|
176
|
+
*/
|
|
177
|
+
export function isPlanAgent(agentName: string | undefined): boolean {
|
|
178
|
+
if (!agentName) return false
|
|
179
|
+
const lowerName = agentName.toLowerCase().trim()
|
|
180
|
+
return PLAN_AGENT_NAMES.some(name => lowerName === name || lowerName.includes(name))
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Plan family: plan + prometheus. Shares mutual delegation blocking and task tool permission.
|
|
185
|
+
* Does NOT share system prompt (only isPlanAgent controls that).
|
|
186
|
+
*/
|
|
187
|
+
export const PLAN_FAMILY_NAMES = ["plan", "prometheus"]
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Check if the given agent belongs to the plan family (blocking + task permission).
|
|
191
|
+
*/
|
|
192
|
+
export function isPlanFamily(category: string): boolean
|
|
193
|
+
export function isPlanFamily(category: string | undefined): boolean
|
|
194
|
+
export function isPlanFamily(category: string | undefined): boolean {
|
|
195
|
+
if (!category) return false
|
|
196
|
+
const lowerCategory = category.toLowerCase().trim()
|
|
197
|
+
return PLAN_FAMILY_NAMES.some(
|
|
198
|
+
(name) => lowerCategory === name || lowerCategory.includes(name)
|
|
199
|
+
)
|
|
200
|
+
}
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
## Modified File: `src/tools/delegate-task/constants.ts`
|
|
204
|
+
|
|
205
|
+
```typescript
|
|
206
|
+
export * from "./default-categories"
|
|
207
|
+
export * from "./category-prompt-appends"
|
|
208
|
+
export * from "./plan-agent-prompt"
|
|
209
|
+
export * from "./plan-agent-names"
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
## Unchanged: `src/tools/delegate-task/index.ts`
|
|
213
|
+
|
|
214
|
+
```typescript
|
|
215
|
+
export { createDelegateTask, resolveCategoryConfig, buildSystemContent, buildTaskPrompt } from "./tools"
|
|
216
|
+
export type { DelegateTaskToolOptions, SyncSessionCreatedEvent, BuildSystemContentInput } from "./tools"
|
|
217
|
+
export type * from "./types"
|
|
218
|
+
export * from "./constants"
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
No changes needed. `export * from "./constants"` transitively re-exports everything from the 4 new files.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Execution Plan: Split delegate-task/constants.ts
|
|
2
|
+
|
|
3
|
+
## Phase 0: Setup
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
git fetch origin dev
|
|
7
|
+
git worktree add ../omo-wt/refactor-delegate-task-constants origin/dev -b refactor/split-delegate-task-constants
|
|
8
|
+
cd ../omo-wt/refactor-delegate-task-constants
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Phase 1: Implement
|
|
12
|
+
|
|
13
|
+
### Analysis
|
|
14
|
+
|
|
15
|
+
`src/tools/delegate-task/constants.ts` is 654 lines with 4 distinct responsibilities:
|
|
16
|
+
|
|
17
|
+
1. **Category defaults** (lines 285-316): `DEFAULT_CATEGORIES`, `CATEGORY_DESCRIPTIONS`
|
|
18
|
+
2. **Category prompt appends** (lines 8-305): 8 `*_CATEGORY_PROMPT_APPEND` string constants + `CATEGORY_PROMPT_APPENDS` record
|
|
19
|
+
3. **Plan agent prompts** (lines 318-620): `PLAN_AGENT_SYSTEM_PREPEND_*`, builder functions
|
|
20
|
+
4. **Plan agent names** (lines 626-654): `PLAN_AGENT_NAMES`, `isPlanAgent`, `PLAN_FAMILY_NAMES`, `isPlanFamily`
|
|
21
|
+
|
|
22
|
+
Note: `CATEGORY_MODEL_REQUIREMENTS` is already in `src/shared/model-requirements.ts`. No move needed.
|
|
23
|
+
|
|
24
|
+
### New Files
|
|
25
|
+
|
|
26
|
+
| File | Responsibility | ~LOC |
|
|
27
|
+
|------|---------------|------|
|
|
28
|
+
| `default-categories.ts` | `DEFAULT_CATEGORIES`, `CATEGORY_DESCRIPTIONS` | ~40 |
|
|
29
|
+
| `category-prompt-appends.ts` | 8 prompt append constants + `CATEGORY_PROMPT_APPENDS` record | ~300 (exempt: prompt text) |
|
|
30
|
+
| `plan-agent-prompt.ts` | Plan agent system prompt constants + builder functions | ~250 (exempt: prompt text) |
|
|
31
|
+
| `plan-agent-names.ts` | `PLAN_AGENT_NAMES`, `isPlanAgent`, `PLAN_FAMILY_NAMES`, `isPlanFamily` | ~30 |
|
|
32
|
+
| `constants.ts` (updated) | Re-exports from all 4 files (backward compat) | ~5 |
|
|
33
|
+
|
|
34
|
+
### Commit 1: Extract category defaults and prompt appends
|
|
35
|
+
|
|
36
|
+
**Files changed**: 3 new + 1 modified
|
|
37
|
+
- Create `src/tools/delegate-task/default-categories.ts`
|
|
38
|
+
- Create `src/tools/delegate-task/category-prompt-appends.ts`
|
|
39
|
+
- Modify `src/tools/delegate-task/constants.ts` (remove extracted code, add re-exports)
|
|
40
|
+
|
|
41
|
+
### Commit 2: Extract plan agent prompt and names
|
|
42
|
+
|
|
43
|
+
**Files changed**: 2 new + 1 modified
|
|
44
|
+
- Create `src/tools/delegate-task/plan-agent-prompt.ts`
|
|
45
|
+
- Create `src/tools/delegate-task/plan-agent-names.ts`
|
|
46
|
+
- Modify `src/tools/delegate-task/constants.ts` (final: re-exports only)
|
|
47
|
+
|
|
48
|
+
### Local Validation
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
bun run typecheck
|
|
52
|
+
bun test src/tools/delegate-task/
|
|
53
|
+
bun run build
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Phase 2: PR Creation
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
git push -u origin refactor/split-delegate-task-constants
|
|
60
|
+
gh pr create --base dev --title "refactor(delegate-task): split constants.ts into focused modules" --body-file /tmp/pr-body.md
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Phase 3: Verify Loop
|
|
64
|
+
|
|
65
|
+
- **Gate A**: `gh pr checks --watch`
|
|
66
|
+
- **Gate B**: `/review-work` (5-agent review)
|
|
67
|
+
- **Gate C**: Wait for cubic-dev-ai[bot] "No issues found"
|
|
68
|
+
|
|
69
|
+
## Phase 4: Merge
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
gh pr merge --squash --delete-branch
|
|
73
|
+
git worktree remove ../omo-wt/refactor-delegate-task-constants
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Import Update Strategy
|
|
77
|
+
|
|
78
|
+
No import updates needed. Backward compatibility preserved through:
|
|
79
|
+
1. `constants.ts` re-exports everything from the 4 new files
|
|
80
|
+
2. `index.ts` already does `export * from "./constants"` (unchanged)
|
|
81
|
+
3. All external consumers import from `"../tools/delegate-task/constants"` or `"./constants"` -- both still work
|
|
82
|
+
|
|
83
|
+
### External Import Map (Verified -- NO CHANGES NEEDED)
|
|
84
|
+
|
|
85
|
+
| Consumer | Imports | Source Path |
|
|
86
|
+
|----------|---------|-------------|
|
|
87
|
+
| `src/agents/atlas/prompt-section-builder.ts` | `CATEGORY_DESCRIPTIONS` | `../../tools/delegate-task/constants` |
|
|
88
|
+
| `src/agents/builtin-agents.ts` | `CATEGORY_DESCRIPTIONS` | `../tools/delegate-task/constants` |
|
|
89
|
+
| `src/plugin/available-categories.ts` | `CATEGORY_DESCRIPTIONS` | `../tools/delegate-task/constants` |
|
|
90
|
+
| `src/plugin-handlers/category-config-resolver.ts` | `DEFAULT_CATEGORIES` | `../tools/delegate-task/constants` |
|
|
91
|
+
| `src/shared/merge-categories.ts` | `DEFAULT_CATEGORIES` | `../tools/delegate-task/constants` |
|
|
92
|
+
| `src/shared/merge-categories.test.ts` | `DEFAULT_CATEGORIES` | `../tools/delegate-task/constants` |
|
|
93
|
+
|
|
94
|
+
### Internal Import Map (Within delegate-task/ -- NO CHANGES NEEDED)
|
|
95
|
+
|
|
96
|
+
| Consumer | Imports |
|
|
97
|
+
|----------|---------|
|
|
98
|
+
| `categories.ts` | `DEFAULT_CATEGORIES`, `CATEGORY_PROMPT_APPENDS` |
|
|
99
|
+
| `tools.ts` | `CATEGORY_DESCRIPTIONS` |
|
|
100
|
+
| `prompt-builder.ts` | `buildPlanAgentSystemPrepend`, `isPlanAgent` |
|
|
101
|
+
| `subagent-resolver.ts` | `isPlanFamily` |
|
|
102
|
+
| `sync-continuation.ts` | `isPlanFamily` |
|
|
103
|
+
| `sync-prompt-sender.ts` | `isPlanFamily` |
|
|
104
|
+
| `tools.test.ts` | `DEFAULT_CATEGORIES`, `CATEGORY_PROMPT_APPENDS`, `CATEGORY_DESCRIPTIONS`, `isPlanAgent`, `PLAN_AGENT_NAMES`, `isPlanFamily`, `PLAN_FAMILY_NAMES` |
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# PR Title
|
|
2
|
+
|
|
3
|
+
```
|
|
4
|
+
refactor(delegate-task): split constants.ts into focused modules
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
# PR Body
|
|
8
|
+
|
|
9
|
+
## Summary
|
|
10
|
+
|
|
11
|
+
- Split the 654-line `src/tools/delegate-task/constants.ts` into 4 single-responsibility modules: `default-categories.ts`, `category-prompt-appends.ts`, `plan-agent-prompt.ts`, `plan-agent-names.ts`
|
|
12
|
+
- `constants.ts` becomes a pure re-export barrel, preserving all existing import paths (`from "./constants"` and `from "./delegate-task"`)
|
|
13
|
+
- Zero import changes across the codebase (6 external + 7 internal consumers verified)
|
|
14
|
+
|
|
15
|
+
## Motivation
|
|
16
|
+
|
|
17
|
+
`constants.ts` at 654 lines violates the project's 200 LOC soft limit (`modular-code-enforcement.md` rule) and bundles 4 unrelated responsibilities: category model configs, category prompt text, plan agent prompts, and plan agent name utilities.
|
|
18
|
+
|
|
19
|
+
## Changes
|
|
20
|
+
|
|
21
|
+
| New File | Responsibility | LOC |
|
|
22
|
+
|----------|---------------|-----|
|
|
23
|
+
| `default-categories.ts` | `DEFAULT_CATEGORIES`, `CATEGORY_DESCRIPTIONS` | ~25 |
|
|
24
|
+
| `category-prompt-appends.ts` | 8 `*_PROMPT_APPEND` constants + `CATEGORY_PROMPT_APPENDS` record | ~300 (prompt-exempt) |
|
|
25
|
+
| `plan-agent-prompt.ts` | Plan system prompt constants + `buildPlanAgentSystemPrepend()` | ~250 (prompt-exempt) |
|
|
26
|
+
| `plan-agent-names.ts` | `PLAN_AGENT_NAMES`, `isPlanAgent`, `PLAN_FAMILY_NAMES`, `isPlanFamily` | ~30 |
|
|
27
|
+
| `constants.ts` (updated) | 4-line re-export barrel | 4 |
|
|
28
|
+
|
|
29
|
+
## Backward Compatibility
|
|
30
|
+
|
|
31
|
+
All 13 consumers continue importing from `"./constants"` or `"../tools/delegate-task/constants"` with zero changes. The re-export chain: new modules -> `constants.ts` -> `index.ts` -> external consumers.
|
|
32
|
+
|
|
33
|
+
## Note on CATEGORY_MODEL_REQUIREMENTS
|
|
34
|
+
|
|
35
|
+
`CATEGORY_MODEL_REQUIREMENTS` already lives in `src/shared/model-requirements.ts`. No move needed. The AGENTS.md reference to it being in `constants.ts` is outdated.
|
|
36
|
+
|
|
37
|
+
## Testing
|
|
38
|
+
|
|
39
|
+
- `bun run typecheck` passes
|
|
40
|
+
- `bun test src/tools/delegate-task/` passes (all existing tests untouched)
|
|
41
|
+
- `bun run build` succeeds
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Verification Strategy
|
|
2
|
+
|
|
3
|
+
## Gate A: CI (Blocking)
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
gh pr checks --watch
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
**Expected CI jobs** (from `ci.yml`):
|
|
10
|
+
1. **Tests (split)**: mock-heavy isolated + batch `bun test`
|
|
11
|
+
2. **Typecheck**: `bun run typecheck` (tsc --noEmit)
|
|
12
|
+
3. **Build**: `bun run build`
|
|
13
|
+
4. **Schema auto-commit**: If schema changes detected
|
|
14
|
+
|
|
15
|
+
**Likely failure points**: None. This is a pure refactor with re-exports. No runtime behavior changes.
|
|
16
|
+
|
|
17
|
+
**If CI fails**:
|
|
18
|
+
- Typecheck error: Missing re-export or import cycle. Fix in the new modules, amend commit.
|
|
19
|
+
- Test error: `tools.test.ts` imports all symbols from `"./constants"`. Re-export barrel must be complete.
|
|
20
|
+
|
|
21
|
+
## Gate B: review-work (5-Agent Review)
|
|
22
|
+
|
|
23
|
+
Invoke after CI passes:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
/review-work
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**5 parallel agents**:
|
|
30
|
+
1. **Oracle (goal/constraint)**: Verify backward compat claim. Check all 13 import paths resolve.
|
|
31
|
+
2. **Oracle (code quality)**: Verify single-responsibility per file, LOC limits, no catch-all violations.
|
|
32
|
+
3. **Oracle (security)**: No security implications in this refactor.
|
|
33
|
+
4. **QA (hands-on execution)**: Run `bun test src/tools/delegate-task/` and verify all pass.
|
|
34
|
+
5. **Context miner**: Check no related open issues/PRs conflict.
|
|
35
|
+
|
|
36
|
+
**Expected verdict**: Pass. Pure structural refactor with no behavioral changes.
|
|
37
|
+
|
|
38
|
+
## Gate C: Cubic (External Bot)
|
|
39
|
+
|
|
40
|
+
Wait for `cubic-dev-ai[bot]` to post "No issues found" on the PR.
|
|
41
|
+
|
|
42
|
+
**If Cubic flags issues**: Likely false positives on "large number of new files". Address in PR comments if needed.
|
|
43
|
+
|
|
44
|
+
## Pre-Gate Local Validation (Before Push)
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# In worktree
|
|
48
|
+
bun run typecheck
|
|
49
|
+
bun test src/tools/delegate-task/
|
|
50
|
+
bun run build
|
|
51
|
+
|
|
52
|
+
# Verify re-exports are complete
|
|
53
|
+
bun -e "import * as c from './src/tools/delegate-task/constants'; console.log(Object.keys(c).sort().join('\n'))"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Expected exports from constants.ts (13 total):
|
|
57
|
+
- `ARTISTRY_CATEGORY_PROMPT_APPEND`
|
|
58
|
+
- `CATEGORY_DESCRIPTIONS`
|
|
59
|
+
- `CATEGORY_PROMPT_APPENDS`
|
|
60
|
+
- `DEFAULT_CATEGORIES`
|
|
61
|
+
- `DEEP_CATEGORY_PROMPT_APPEND`
|
|
62
|
+
- `PLAN_AGENT_NAMES`
|
|
63
|
+
- `PLAN_AGENT_SYSTEM_PREPEND_STATIC_AFTER_SKILLS`
|
|
64
|
+
- `PLAN_AGENT_SYSTEM_PREPEND_STATIC_BEFORE_SKILLS`
|
|
65
|
+
- `PLAN_FAMILY_NAMES`
|
|
66
|
+
- `QUICK_CATEGORY_PROMPT_APPEND`
|
|
67
|
+
- `ULTRABRAIN_CATEGORY_PROMPT_APPEND`
|
|
68
|
+
- `UNSPECIFIED_HIGH_CATEGORY_PROMPT_APPEND`
|
|
69
|
+
- `UNSPECIFIED_LOW_CATEGORY_PROMPT_APPEND`
|
|
70
|
+
- `VISUAL_CATEGORY_PROMPT_APPEND`
|
|
71
|
+
- `WRITING_CATEGORY_PROMPT_APPEND`
|
|
72
|
+
- `buildPlanAgentSkillsSection`
|
|
73
|
+
- `buildPlanAgentSystemPrepend`
|
|
74
|
+
- `isPlanAgent`
|
|
75
|
+
- `isPlanFamily`
|
|
76
|
+
|
|
77
|
+
## Merge Strategy
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
gh pr merge --squash --delete-branch
|
|
81
|
+
git worktree remove ../omo-wt/refactor-delegate-task-constants
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Squash merge collapses the 2 atomic commits into 1 clean commit on dev.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"total_tokens": null, "duration_ms": 181000, "total_duration_seconds": 181}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"run_id": "eval-3-without_skill",
|
|
3
|
+
"expectations": [
|
|
4
|
+
{"text": "Plan uses git worktree in a sibling directory", "passed": false, "evidence": "git checkout -b only, no worktree"},
|
|
5
|
+
{"text": "Uses 2+ commits for the multi-file refactor", "passed": false, "evidence": "Single atomic commit: 'refactor: split delegate-task constants and category model requirements'"},
|
|
6
|
+
{"text": "Maintains backward compatibility via barrel re-export", "passed": true, "evidence": "Re-exports from new files, zero consumer changes"},
|
|
7
|
+
{"text": "Verification loop includes all 3 gates", "passed": false, "evidence": "Only mentions typecheck/test/build. No review-work or Cubic."},
|
|
8
|
+
{"text": "References actual src/tools/delegate-task/constants.ts", "passed": true, "evidence": "654 lines, detailed responsibility breakdown, full import maps"}
|
|
9
|
+
]
|
|
10
|
+
}
|