Skip to content

feat: dynamic substatus text for tool execution steps - #208

Merged
premiumjibles merged 2 commits into
mainfrom
worktree-sa2-yngn
Mar 12, 2026
Merged

premiumjibles merged 2 commits into
mainfrom
worktree-sa2-yngn

Conversation

@premiumjibles

@premiumjibles premiumjibles commented Mar 12, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Adds transient substatus text that displays as grey subtext below each in-progress step label, giving users real-time visibility into execution phases (e.g. "Requesting signature...", "Waiting for confirmation...", "Submitting to CoW Protocol...")
  • Wires setSubstatus() into ExecutionContext with auto-clear on step transitions; strips substatus before localStorage persistence so rehydrated states never show stale text
  • Updates all 10 transactional tool execution hooks and 3 shared step helpers with phase-appropriate substatus messages

Test plan

  • Execute a swap and verify substatus text appears below each in-progress step (approval → confirmation → signature phases)
  • Execute a limit order and verify CoW Protocol submission substatus
  • Execute a stop-loss/TWAP and verify Safe transaction substatus through all phases
  • Cancel a limit order and verify cancellation substatus
  • Execute a vault deposit/withdraw and verify substatus
  • Refresh page mid-execution and verify no stale substatus appears on rehydrated state
  • Verify substatus disappears when step completes, fails, or is skipped
  • Verify lint and type-check pass

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Added substatus updates throughout tool execution to provide granular progress feedback to users, including messages for signature requests, confirmation waits, and transaction proposals.
    • Substatus dynamically reflects in-progress state within the Step component UI and is cleared upon step completion or failure.

Wire up transient substatus text that shows as grey subtext below each
step label during in-progress phases. Adds setSubstatus() to
ExecutionContext, auto-clears on advanceStep/skipStep/failAndPersist,
strips substatus before persisting to localStorage. All transactional
tool UIs and shared step helpers now set appropriate phase messages.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel

vercel Bot commented Mar 12, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
shapeshift-agentic Ready Ready Preview, Comment Mar 12, 2026 0:51am

Request Review

@coderabbitai

coderabbitai Bot commented Mar 12, 2026 •

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a43c1ce6-6177-4be8-8691-8d18eafc5109

📥 Commits

Reviewing files that changed from the base of the PR and between 0dd50c5 and 7ad5bbb.

📒 Files selected for processing (17)
  • .tickets/sa2-yngn.md
  • apps/agentic-chat/src/components/Execution.tsx
  • apps/agentic-chat/src/components/tools/SendUI.tsx
  • apps/agentic-chat/src/components/tools/VaultDepositUI.tsx
  • apps/agentic-chat/src/components/tools/VaultWithdrawUI.tsx
  • apps/agentic-chat/src/components/tools/useCancelConditionalOrderExecution.tsx
  • apps/agentic-chat/src/components/tools/useCancelLimitOrderExecution.tsx
  • apps/agentic-chat/src/components/tools/useConditionalOrderExecution.tsx
  • apps/agentic-chat/src/components/tools/useLimitOrderExecution.tsx
  • apps/agentic-chat/src/components/tools/useSwapExecution.tsx
  • apps/agentic-chat/src/components/tools/useVaultWithdrawAllExecution.ts
  • apps/agentic-chat/src/hooks/useToolExecution.ts
  • apps/agentic-chat/src/lib/executionState.ts
  • apps/agentic-chat/src/lib/steps/signEip712Step.ts
  • apps/agentic-chat/src/lib/steps/submitSafeTxStep.ts
  • apps/agentic-chat/src/lib/steps/switchNetworkStep.ts
  • apps/agentic-chat/src/stores/chatStore.ts

Disabled knowledge base sources:

  • Linear integration is disabled

You can enable these sources in your CodeRabbit configuration.


📝 Walkthrough

Walkthrough

This pull request introduces a substatus feature that allows displaying intermediate status messages during step execution. A new setSubstatus API is added to the execution context, propagated through state management, and called at key points across multiple tool and step components. The substatus is rendered dynamically in the UI and excluded from persistence.

Changes

Cohort / File(s) Summary
Core Infrastructure
apps/agentic-chat/src/hooks/useToolExecution.ts, apps/agentic-chat/src/lib/executionState.ts
Introduces setSubstatus(text?) public API in execution context and adds optional substatus field to ToolExecutionState. Substatus is cleared on state transitions (advanceStep, skipStep, failStep).
Persistence Layer
apps/agentic-chat/src/stores/chatStore.ts
Excludes substatus from persisted transaction state by cloning incoming state and omitting the substatus field before storage.
Rendering
apps/agentic-chat/src/components/Execution.tsx
Consolidates step utility imports and changes subtitle display to dynamically reflect in-progress substatus when available via computed activeSubtitle.
Step Utilities
apps/agentic-chat/src/lib/steps/signEip712Step.ts, apps/agentic-chat/src/lib/steps/submitSafeTxStep.ts, apps/agentic-chat/src/lib/steps/switchNetworkStep.ts
Adds substatus updates at key signing and transaction steps: "Requesting signature...", "Proposing Safe transaction...", and "Requesting wallet switch...".
Tool Execution Hooks
apps/agentic-chat/src/components/tools/useSwapExecution.tsx, apps/agentic-chat/src/components/tools/useLimitOrderExecution.tsx, apps/agentic-chat/src/components/tools/useConditionalOrderExecution.tsx, apps/agentic-chat/src/components/tools/useVaultWithdrawAllExecution.ts, apps/agentic-chat/src/components/tools/useCancelLimitOrderExecution.tsx, apps/agentic-chat/src/components/tools/useCancelConditionalOrderExecution.tsx
Adds substatus updates at various execution stages (approval, confirmation, submission) with messages like "Requesting approval signature...", "Waiting for confirmation...", "Submitting to CoW Protocol...", etc.
UI Components
apps/agentic-chat/src/components/tools/SendUI.tsx, apps/agentic-chat/src/components/tools/VaultDepositUI.tsx, apps/agentic-chat/src/components/tools/VaultWithdrawUI.tsx
Adds substatus updates before executing send/deposit/withdraw operations with messages like "Requesting signature..." and "Proposing Safe transaction...".
Ticket
.tickets/sa2-yngn.md
Closes ticket by updating status in YAML front matter.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 A status for every step, we now display,
From "Requesting" to "Waiting," we guide the way,
Each subtitle whispers what's happening right,
The substatus shines, making progress quite bright! ✨

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch worktree-sa2-yngn

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@premiumjibles
premiumjibles marked this pull request as ready for review March 12, 2026 00:50
@premiumjibles
premiumjibles merged commit 8d36914 into main Mar 12, 2026
3 of 4 checks passed
@premiumjibles
premiumjibles deleted the worktree-sa2-yngn branch March 12, 2026 00:50

This branch was successfully deployed

1 active deployment
Preview — 7ad5bbb1 Deployed Mar 12, 2026 by vercel[bot]
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