From 2f702ad446fcd6a261a3bea0ab2807d70eca43e2 Mon Sep 17 00:00:00 2001 From: Michelle Tilley Date: Tue, 21 Apr 2026 13:07:27 -0700 Subject: refactor: Replace ad-hoc dispatch with FSM + driver architecture (#3434) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the tangled dispatch handler system (`tui/dispatch.rs`, `tui/state.rs`) with a pure finite state machine + driver architecture. The FSM handles all state transitions as explicit `(State, Event) → (NewState, Effects)` mappings. The driver executes IO effects and bridges the TUI to the FSM. --- crates/atuin-ai/src/permissions/writer.rs | 1 + 1 file changed, 1 insertion(+) (limited to 'crates/atuin-ai/src/permissions') diff --git a/crates/atuin-ai/src/permissions/writer.rs b/crates/atuin-ai/src/permissions/writer.rs index b2bd9482..ffef404e 100644 --- a/crates/atuin-ai/src/permissions/writer.rs +++ b/crates/atuin-ai/src/permissions/writer.rs @@ -5,6 +5,7 @@ use eyre::Result; use crate::permissions::rule::Rule; /// Whether a rule should be added to the allow or deny list. +#[derive(Debug, Clone)] #[allow(dead_code)] pub(crate) enum RuleDisposition { Allow, -- cgit v1.3.1