From 5993e46f9216e60be2054b2cdffb764b8e7cdb1e Mon Sep 17 00:00:00 2001 From: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com> Date: Sun, 13 Sep 2026 10:09:48 -0400 Subject: [PATCH] Give each agent thread its own running instance of the app One bullet under the general rules: start one instance per thread, keyed by worktree or branch, with its own Hive store inside the app container; hot reload it with SIGUSR1 after each edit; keep it for the thread's life. Co-Authored-By: Claude Fable 5.1 --- AGENTS.md | 1 + 1 file changed, 1 insertion(+) diff --git a/AGENTS.md b/AGENTS.md index 313b3aa5..8d8461f4 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -38,3 +38,4 @@ Measure twice, cut once: understand the problem fully before building, because c These steer us in the right direction. They are not hard-set, but default to following them; if you think one should be ignored, be very loud about it and get approval from us first. - Never edit `*.g.dart` files. Edit the source models, then run `dart run build_runner build --delete-conflicting-outputs`. +- Each thread owns one running instance of the app, and never touches another's. Start yours once, keyed by your worktree or branch name: `flutter run -d macos --pid-file /tmp/icarus-.pid --dart-entrypoint-args "--hive-store-dir="`, with `` = `~/Library/Containers/xyz.icarus-strats/Data/Library/Application Support/icarus-` so its library is yours alone, launched from an unsandboxed shell or it draws but takes no clicks. Instances share a window frame, so move yours aside before you click. After every edit, hot reload it with `kill -USR1 $(cat /tmp/icarus-.pid)`; the tool's stdin is not a terminal, so typing `r` does nothing. Keep it running for the thread, and kill it when the thread ends.