SMITH Overview
SMITH is FORJ's visual strategy editor. It is where you build a strategy's state machine, data subscriptions, reusable guards, actions, trade plans, and alert definitions.
The editor layout
When you open SMITH, you work across three main areas.
Canvas
The canvas is a node-and-edge editor:
- States are rendered as nodes.
- Transitions are rendered as connections between nodes.
- Node position is visual only and does not affect runtime behavior.
You can add transitions directly from a state node, inspect individual transitions, or manage the full transition set from Manage Transitions in the Strategy Toolbar.
Header bar
The top bar gives you quick access to:
- Strategy name
- Rename strategy
- Undo / Redo
- Orphan reference warnings
- Enable / Disable toggle
- Strategy Toolbar
- Save
Save-readiness checklist
The bottom checklist tracks whether the strategy is ready to save.
| Requirement | What it means |
|---|---|
| Valid strategy name | The machine ID is valid and unique for the workspace |
| At least two states | The strategy has two or more states |
| Initial state configured | One state is marked as the starting state |
| All states have transitions | Every state has at least one outgoing transition |
| No infinite transition loops | Always-trigger cycles are not present |
| Strategy activation settings need attention | Activation config passes validation |
| Trigger formats current | Legacy trigger definitions have been upgraded |
The checklist auto-expands when a new invalid item appears, including when a previously valid item becomes invalid again.
Strategy Toolbar
Open the Strategy Toolbar from the gear button in the header. It is organized into six sections:
| Section | Actions |
|---|---|
| Structure | Manage States, Manage Transitions, Add Global Event Handler |
| Runtime | Manage Strategy Activation |
| Data | Manage Data Sources |
| Assets | Manage Custom Variables, Manage Indicator Events, Manage Guards, Manage Actions |
| Trade & Alerts | Manage Trade Plans, Manage Strategy Alert Definitions |
| Manage Draft | View Undo History, Reset Strategy Draft |
Toolbar modes
- Expanded mode shows the full section navigator and detail pane.
- Minimized mode collapses the panel to its standard header so you can restore or close it without showing section content.
State nodes
Each state node includes:
- the state name
- edit and delete controls in the header
- an Add Transition action
- an Initial State toggle in the node actions area
Use Manage States when you want the centralized list view for creating, renaming, deleting, or reviewing states.
Transition model
Each transition has:
- a trigger
- optional guards
- optional actions
Guards are reusable definitions attached to transitions. Each guard is made up of one or more conditions. Conditions are also used inside conditional action steps, but transitions do not attach free-standing conditions directly.