diff options
| author | soryu <soryu@soryu.co> | 2026-02-17 00:40:32 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-17 00:40:32 +0000 |
| commit | b67b3f8e8d63361d9ff19f87fd608c03bfa3fd43 (patch) | |
| tree | d5429658a90c4be9a2984617118d2c843cadfdf6 /makima/src/orchestration/directive.rs | |
| parent | 4bd40f047a6f4703945c6db2811d8feda27241d6 (diff) | |
| download | soryu-b67b3f8e8d63361d9ff19f87fd608c03bfa3fd43.tar.gz soryu-b67b3f8e8d63361d9ff19f87fd608c03bfa3fd43.zip | |
soryu-co/soryu - makima (#67)
* feat: soryu-co/soryu - makima: Fix contracts page scrolling overflow
* WIP: heartbeat checkpoint
* WIP: heartbeat checkpoint
* WIP: heartbeat checkpoint
* WIP: heartbeat checkpoint
* feat: soryu-co/soryu - makima: Remove contract association from orders and make directive mandatory in UI
* feat: soryu-co/soryu - makima: Add directive name to order metadata for searchability
* feat: soryu-co/soryu - makima: Change directive link in orders to use search interface
* feat: soryu-co/soryu - makima: Name directive PRs based on content not directive title
* feat: soryu-co/soryu - makima: Add orderId to step creation and auto-link orders to steps
* feat: soryu-co/soryu - makima: Add under_review status and auto-complete orders in plan flow
Diffstat (limited to 'makima/src/orchestration/directive.rs')
| -rw-r--r-- | makima/src/orchestration/directive.rs | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/makima/src/orchestration/directive.rs b/makima/src/orchestration/directive.rs index 62f15d9..5c134d6 100644 --- a/makima/src/orchestration/directive.rs +++ b/makima/src/orchestration/directive.rs @@ -1359,6 +1359,11 @@ gh pr view {pr_url} --json state --jq '.state' The previous PR was already merged/closed. You need to create a NEW PR with a fresh branch. +Goal: {goal} + +Steps completed: +{step_summary} + 1. Clear the old PR URL: ``` makima directive update --pr-url "" @@ -1373,10 +1378,13 @@ git checkout -b "$NEW_BRANCH" origin/{base_branch} git push -u origin "$NEW_BRANCH" ``` -3. Create a new PR: +3. Create a new PR. Generate a concise, descriptive PR title (max 72 characters) based on the steps completed. +The title should summarize what the changes actually accomplish — do NOT just use the directive name "{title}". +Focus on the actual work done in the steps listed below. ``` -gh pr create --title "{title}" --body "{pr_body}" --head "$NEW_BRANCH" --base {base_branch} +gh pr create --title "<YOUR_GENERATED_TITLE>" --body "{pr_body}" --head "$NEW_BRANCH" --base {base_branch} ``` +Replace <YOUR_GENERATED_TITLE> with the concise descriptive title you generated. 4. Store the new PR URL: ``` @@ -1408,6 +1416,7 @@ git push origin {directive_branch} Already-merged branches will be a no-op. If there are merge conflicts, resolve them sensibly. "#, title = directive.title, + goal = directive.goal, pr_url = pr_url, directive_branch = directive_branch, base_branch = base_branch, @@ -1437,10 +1446,15 @@ git checkout -b {directive_branch} origin/{base_branch} git push -u origin {directive_branch} ``` -Then create the PR: +Then create the PR. You MUST generate a concise, descriptive PR title (max 72 characters) based on the steps completed above. +The title should summarize what the changes actually accomplish — do NOT just use the directive name "{title}". +For example, instead of "soryu-co/soryu - makima" use something like "Fix order lifecycle, PR update, and contracts overflow". +Focus on the actual work done in the steps. + ``` -gh pr create --title "{title}" --body "{pr_body}" --head {directive_branch} --base {base_branch} +gh pr create --title "<YOUR_GENERATED_TITLE>" --body "{pr_body}" --head {directive_branch} --base {base_branch} ``` +Replace <YOUR_GENERATED_TITLE> with the concise descriptive title you generated. IMPORTANT: After creating the PR, you MUST store the PR URL so the directive system can track it. @@ -1576,7 +1590,7 @@ pub fn build_order_pickup_prompt( Review them and create steps to fulfil them.\n\n"); for (i, order) in orders.iter().enumerate() { prompt.push_str(&format!( - " {}. [{}] [{}] {} (id: {})\n", + " {}. [{}] [{}] {} \n orderId: {}\n", i + 1, order.priority, order.order_type, @@ -1707,13 +1721,15 @@ For each order (or group of related orders), create one or more steps: - dependsOn: UUIDs of steps this depends on (use IDs from previous add-step responses) - orderIndex: Execution phase number. Steps only start after ALL steps with a lower orderIndex complete. Steps with the same orderIndex run in parallel. Use ascending values (0, 1, 2, ...) to create sequential phases. +- orderId: The UUID of the order this step fulfils. Include this so the order is automatically marked done + when the step completes. Use the orderId shown in the order listing above. Submit steps using generation {generation}: makima directive add-step "Step Name" --description "..." --task-plan "..." --generation {generation} (Use --depends-on "uuid1,uuid2" for dependencies) Or batch: - makima directive batch-add-steps --json '[{{"name":"...","description":"...","taskPlan":"...","dependsOn":[],"orderIndex":0,"generation":{generation}}}]' + makima directive batch-add-steps --json '[{{"name":"...","description":"...","taskPlan":"...","dependsOn":[],"orderIndex":0,"generation":{generation},"orderId":"<order-uuid>"}}]' DEPENDENCY WORKTREE CONTINUATION: Each step runs in its own git worktree. How that worktree is initialised depends on dependsOn: |
