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>