1. A system component (e.g. `runtime-materializer` or a future analyzer) creates a file in `actions/pending/`.
2.`telegram-bot` detects the file, sends a message to allowed users.
3. Operator clicks "Approve" or "Reject".
4.`telegram-bot` moves the file to `actions/approved/` or `actions/rejected/` atomically, appending a transition to `transition_history`.
5. The responsible agent (e.g. `stability-agent` on the target node) picks up the `approved` action, moves it to `running`, executes it, and finally moves it to `completed` or `failed`.