Skip to content

Add lightweight update_plan tool - #19

Merged
CalvinSturm merged 1 commit into
mainfrom
feat/update-plan-tool
Jul 1, 2026
Merged

Add lightweight update_plan tool#19
CalvinSturm merged 1 commit into
mainfrom
feat/update-plan-tool

Conversation

@CalvinSturm

Copy link
Copy Markdown
Owner

Summary

Adds a lightweight side-effect-free update_plan tool so LocalAgent can track and display multi-step work during an active run.

What changed

  • Added an update_plan builtin

  • Supports plan item states:

    • pending
    • in_progress
    • completed
  • Rejects plans with more than one in_progress item

  • Keeps bounded in-memory plan state on the agent

  • Emits PlanUpdated events

  • Adds compact log summaries for plan updates

  • Renders the current plan in the chat TUI when present

  • Renders plan updates in the standalone event tail

Why

LocalAgent now has much better shell lifecycle behavior after recent PRs:

  • shell timeout + cleanup
  • head/tail output truncation
  • default shell timeout policy
  • live shell output in the TUI tail

The next major opencode-style UX gap is structured task visibility. This PR gives the agent and user a shared view of the current plan without introducing heavy DAG/taskgraph orchestration.

Scope boundaries

This PR intentionally does not:

  • touch taskgraph.rs
  • add multi-run DAG orchestration
  • change provider behavior
  • change Docker timeout behavior
  • add process-tree cleanup
  • redesign the TUI

Validation

  • cargo fmt --check
  • cargo clippy --all-targets -- -D warnings
  • cargo test --lib
  • cargo test --test tool_call_accuracy_ci
  • cargo test --test artifact_golden
  • python scripts/ci_release_readiness.py
  • cargo test

All validation passed locally.

Follow-ups

  • Persist compact plan summaries in run artifacts if useful
  • Add richer TUI styling for plan state transitions
  • Add automatic final-plan summary in task closeout
  • Robust process-tree cleanup
  • Docker shell timeout enforcement

@CalvinSturm
CalvinSturm merged commit 6e1fa6e into main Jul 1, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant