From 5d1fbed2733e93cc2be2e1a89ca022d88bef613f Mon Sep 17 00:00:00 2001 From: soryu Date: Tue, 24 Feb 2026 23:37:44 +0000 Subject: feat: non-blocking reconcile polling, directive CLI orders & cleanup (#82) * feat: soryu-co/soryu - makima: Remove aarch64-unknown-linux-gnu from release workflow * WIP: heartbeat checkpoint * WIP: heartbeat checkpoint * WIP: heartbeat checkpoint * feat: soryu-co/soryu - makima: Implement non-blocking ask with client-side polling for reconcile mode --- makima/src/orchestration/directive.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'makima/src/orchestration/directive.rs') diff --git a/makima/src/orchestration/directive.rs b/makima/src/orchestration/directive.rs index b91781c..98690bb 100644 --- a/makima/src/orchestration/directive.rs +++ b/makima/src/orchestration/directive.rs @@ -1371,8 +1371,9 @@ If you need clarification from the user before finalizing the plan, you can ask makima directive ask "Confirm this approach?" --context "Additional context here" --phaseguard Use --phaseguard for questions that block progress (the question will wait indefinitely for a response). +The CLI automatically reconnects via polling every ~5 minutes to avoid HTTP timeout limits. Without --phaseguard, questions timeout based on the directive's reconcile mode: -- Reconcile ON: questions block indefinitely until answered +- Reconcile ON: questions wait indefinitely (with automatic reconnecting polls every ~5 min) - Reconcile OFF: questions timeout after 30 seconds with no response When to ask: @@ -1385,6 +1386,23 @@ Do NOT ask questions for: - Implementation details you can determine from the codebase - Standard engineering decisions with clear best practices - Trivial choices that do not significantly affect the outcome + +CREATING ORDERS FOR FUTURE WORK: +If you discover work that is out of scope for the current plan but should be tracked, create an order: + makima directive create-order --title "Order title" --order-type spike + makima directive create-order --title "Fix flaky test" --order-type chore --priority high --description "Details..." + +Only spike and chore types are allowed. The order is automatically linked to this directive. + +When to create orders: +- You discover follow-up work that is outside the current goal +- A spike reveals additional tasks that need future attention +- You identify technical debt or maintenance chores during planning +- Something needs investigation but is not blocking the current plan + +Do NOT create orders for: +- Work that should be a step in the current plan +- Tasks that are part of the current goal "#, title = directive.title, goal = directive.goal, -- cgit v1.2.3