gsxdsm
68c466a6ab
FN-9209: Gate chat focus behind an experimental flag
Make per-conversation chat memory focus opt-in while preserving stored focus values for compatibility.
- Add the chatFocus experimental setting, exports, documentation, and release changeset.
- Hide and disable focus controls and commands across chat and task-planner composers when the flag is off.
- Apply persisted focus scopes to memory recall only when enabled, with regression coverage for both flag states.
Files changed:
.changeset/fn-9209-chat-focus-experimental-flag.md | 7 ++
docs/memory-backend-integration.md | 6 +-
docs/settings-reference.md | 3 +-
.../core/src/__tests__/settings-defaults.test.ts | 9 +-
packages/core/src/config/experimental-features.ts | 7 ++
packages/core/src/index.gate.ts | 2 +-
packages/core/src/index.ts | 2 +-
packages/core/src/types.ts | 7 ++
packages/dashboard/app/components/ChatView.tsx | 37 ++++---
.../dashboard/app/components/SettingsModal.tsx | 1 +
.../app/components/TaskPlannerChatTab.tsx | 62 ++++++++---
.../__tests__/ChatView.chat-focus-flag.test.tsx | 122 +++++++++++++++++++++
.../__tests__/ChatView.focus-chip.test.tsx | 2 +-
.../TaskPlannerChatTab.chat-focus-flag.test.tsx | 108 ++++++++++++++++++
.../__tests__/TaskPlannerChatTab.test.tsx | 5 +-
.../app/components/__tests__/chat-commands.test.ts | 7 +-
.../app/components/__tests__/focus-command.test.ts | 13 ++-
packages/dashboard/app/components/chat-commands.ts | 11 ++
.../chat-memory-focus-reachability.test.ts | 16 ++-
packages/dashboard/src/chat.ts | 30 ++---
20 files changed, 394 insertions(+), 63 deletions(-)
Fusion-Task-Id: FN-9209
Fusion-Task-Lineage: d58296be-a5f9-4b8c-bf4a-03f7f9100efe
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-23 21:47:40 -07:00
..
2026-08-23 21:47:40 -07:00
2026-07-16 14:08:43 -07:00
2026-08-18 22:11:22 -07:00
2026-08-23 17:07:31 -07:00
2026-08-20 03:57:23 +00:00
2026-08-09 09:14:56 -07:00
2026-08-13 16:39:11 -07:00
2026-08-15 14:40:55 -07:00
2026-08-23 17:07:31 -07:00
2026-08-20 03:55:38 +00:00
2026-07-26 12:01:19 -07:00
2026-08-21 04:32:53 +00:00
2026-08-21 04:32:53 +00:00
2026-08-21 04:32:53 +00:00
2026-08-09 13:33:16 -10:00
2026-07-26 13:15:36 -07:00
2026-07-19 18:45:27 -07:00
2026-08-18 17:55:31 -07:00
2026-08-21 10:18:45 -07:00
2026-07-22 18:46:46 -07:00
2026-08-20 03:57:23 +00:00
2026-08-23 21:47:40 -07:00
2026-07-17 12:00:26 -07:00
2026-07-13 19:07:58 -07:00
2026-07-03 21:45:20 -07:00
2026-06-05 03:56:29 -07:00
2026-06-15 02:30:41 -07:00
2026-06-05 03:41:54 -07:00
2026-07-02 15:00:40 -07:00
2026-07-09 19:58:03 -07:00
2026-08-09 04:37:47 -07:00
2026-07-19 18:59:36 -07:00
2026-07-26 12:01:19 -07:00
2026-07-13 23:16:36 -07:00
2026-07-26 13:15:36 -07:00
2026-07-15 10:07:20 -07:00
2026-07-15 19:29:02 -07:00
2026-06-30 00:03:37 -07:00
2026-07-30 12:03:07 -07:00
2026-06-10 10:34:36 -07:00
2026-07-30 12:03:07 -07:00
2026-08-15 15:33:40 -07:00
2026-08-21 04:32:53 +00:00
2026-08-20 03:57:23 +00:00
2026-08-09 09:14:56 -07:00
2026-07-02 19:01:09 -07:00
2026-08-21 04:32:53 +00:00
2026-07-30 12:03:07 -07:00
2026-08-21 04:32:53 +00:00
2026-07-02 11:38:34 -07:00
2026-07-30 12:03:07 -07:00
2026-07-30 12:03:07 -07:00
2026-08-21 04:32:53 +00:00
2026-07-15 21:58:46 -07:00
2026-07-13 23:16:36 -07:00
2026-07-09 19:58:03 -07:00
2026-07-07 22:04:55 -07:00
2026-07-18 13:18:08 -07:00
2026-07-17 13:31:42 -07:00
2026-08-21 04:32:53 +00:00
2026-07-13 19:07:58 -07:00
2026-07-26 12:01:19 -07:00
2026-08-09 08:31:26 -07:00
2026-08-09 08:31:26 -07:00
2026-08-19 22:44:46 -07:00
2026-08-19 22:44:46 -07:00
2026-08-13 16:48:01 -07:00
2026-07-30 12:03:07 -07:00
2026-07-26 12:01:19 -07:00
2026-07-24 22:32:49 -07:00
2026-08-16 08:32:46 -07:00
2026-08-16 08:32:46 -07:00
2026-08-19 21:01:56 -07:00
2026-08-11 19:00:44 -07:00
2026-08-09 06:51:22 -07:00
2026-07-14 22:16:16 -07:00
2026-07-19 15:45:45 -07:00
2026-07-14 08:18:52 -07:00
2026-07-14 22:16:16 -07:00
2026-07-30 12:03:07 -07:00
2026-08-21 04:32:53 +00:00
2026-07-26 12:01:19 -07:00
2026-08-19 21:42:29 -07:00
2026-06-28 01:17:22 -07:00
2026-06-16 15:08:24 -07:00
2026-08-01 06:09:04 -07:00
2026-07-23 17:27:59 -07:00
2026-08-03 09:04:45 -07:00
2026-07-31 13:23:20 -07:00
2026-08-18 18:05:15 -07:00
2026-07-18 10:55:50 -07:00
2026-07-19 20:42:05 -07:00
2026-07-18 14:23:14 -07:00
2026-07-18 17:06:34 -07:00
2026-08-08 22:55:38 -07:00
2026-07-14 22:13:30 -07:00
2026-08-11 05:45:36 -07:00
2026-08-23 16:46:14 -07:00
2026-07-26 12:01:19 -07:00
2026-07-17 12:00:26 -07:00
2026-08-23 16:46:14 -07:00
2026-08-09 09:14:56 -07:00
2026-07-15 10:38:04 -07:00
2026-08-19 21:01:56 -07:00
2026-08-09 13:22:32 -10:00
2026-07-30 12:03:07 -07:00
2026-08-15 13:39:24 -07:00
2026-08-18 19:52:36 -07:00
2026-08-18 19:52:36 -07:00
2026-07-10 23:42:10 -07:00
2026-08-21 04:32:53 +00:00
2026-08-21 10:18:45 -07:00
2026-08-21 14:41:37 +00:00
2026-08-01 08:52:08 -07:00
2026-07-26 12:01:19 -07:00