Fusion
a45a2268a6
feat(FN-2925): merge fusion/fn-2925
- Mobile header row polish: finalize QuickChatFAB CSS for mobile viewport handling, apply visual viewport height to quick chat panel, remove duplicate keyboard overlap subtraction
- Add `node-routing-policy.ts` with routing logic for mesh network nodes; expand scheduler node-routing tests with new policy coverage
- Improve reviewer decision logic and add reviewer test cases for changed behavior
- Refactor triage module (48 lines changed) with updated agent selection logic
- Update `AgentsView` component and styles; add `AgentsView.test.tsx` integration test
- Simplify `QuickChatFAB.test.tsx` test by removing CSS class permutation coverage
- Update architecture docs and settings reference to reflect new routing capabilities
Commits merged:
- fix(FN-2925): remove duplicate keyboard overlap subtraction
- feat(FN-2925): complete Step 5 — finalize mobile header row polish
- fix(FN-2925): apply visual viewport height to mobile quick chat panel
- feat(FN-2903): merge fusion/fn-2903
- feat(FN-2950): merge fusion/fn-2950
Files changed:
docs/architecture.md | 19 +--
docs/settings-reference.md | 2 +-
packages/dashboard/app/components/AgentsView.css | 20 +++-
packages/dashboard/app/components/AgentsView.tsx | 11 +-
packages/dashboard/app/components/QuickChatFAB.css | 32 ++++-
.../dashboard/app/components/SettingsModal.tsx | 4 +-
.../app/components/__tests__/AgentsView.test.tsx | 37 ++++++
.../app/components/__tests__/QuickChatFAB.test.tsx | 18 +--
.../src/__tests__/node-routing-policy.test.ts | 78 ++++++++++++
packages/engine/src/__tests__/reviewer.test.ts | 19 ++-
.../src/__tests__/scheduler-node-routing.test.ts | 131 ++++++++++++++++++++-
packages/engine/src/__tests__/triage.test.ts | 16 +--
packages/engine/src/node-routing-policy.ts | 45 +++++++
packages/engine/src/reviewer.ts | 33 ++++--
packages/engine/src/scheduler.ts | 44 ++++++-
packages/engine/src/triage.ts | 48 ++++----
16 files changed, 473 insertions(+), 84 deletions(-)
Fusion-Task-Id: FN-2925
2026-04-29 12:53:10 -07:00
..
2026-04-13 15:35:08 -07:00
2026-04-28 14:25:55 -07:00
2026-04-15 19:27:53 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 19:59:52 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 03:13:32 -07:00
2026-04-17 09:16:08 -07:00
2026-04-22 09:56:26 -07:00
2026-04-28 18:21:17 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 19:59:52 -07:00
2026-04-29 12:31:09 -07:00
2026-04-25 00:07:19 -07:00
2026-04-28 18:21:17 -07:00
2026-04-28 19:20:10 -07:00
2026-04-25 01:45:29 -07:00
2026-04-27 12:45:53 -07:00
2026-04-29 09:21:30 -07:00
2026-04-29 09:46:16 -07:00
2026-04-29 02:10:51 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 04:05:25 -07:00
2026-04-18 12:21:14 -07:00
2026-04-28 19:20:10 -07:00
2026-04-25 17:44:55 -07:00
2026-04-25 19:35:47 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 13:29:48 -07:00
2026-04-22 16:31:30 -07:00
2026-04-22 15:53:08 -07:00
2026-04-25 11:28:33 -07:00
2026-04-24 08:55:02 -07:00
2026-04-25 10:50:32 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 17:26:07 -07:00
2026-04-24 19:39:20 -07:00
2026-04-18 07:36:57 -07:00
2026-04-28 16:20:24 -07:00
2026-04-27 04:05:25 -07:00
2026-04-27 19:59:52 -07:00
2026-04-29 00:09:39 -07:00
2026-04-29 02:42:57 -07:00
2026-04-29 12:12:05 -07:00
2026-04-27 02:24:21 -07:00
2026-04-28 19:20:10 -07:00
2026-04-27 19:59:52 -07:00
2026-04-28 14:25:55 -07:00
2026-04-24 09:38:16 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 16:05:50 -07:00
2026-04-24 19:39:20 -07:00
2026-04-29 00:23:29 -07:00
2026-04-27 19:59:52 -07:00
2026-04-17 05:36:02 -07:00
2026-04-27 20:16:45 -07:00
2026-04-26 12:25:10 -07:00
2026-04-28 18:21:17 -07:00
2026-04-27 19:59:52 -07:00
2026-04-28 14:25:56 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 19:59:52 -07:00
2026-04-16 08:38:08 -07:00
2026-04-28 23:23:34 -07:00
2026-04-24 19:39:20 -07:00
2026-04-16 09:08:06 -07:00
2026-04-17 08:01:38 -07:00
2026-04-27 19:59:52 -07:00
2026-04-25 07:04:50 -07:00
2026-04-24 08:55:02 -07:00
2026-04-28 14:25:55 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 19:59:52 -07:00
2026-04-16 10:04:44 -07:00
2026-04-25 07:04:50 -07:00
2026-04-27 19:59:52 -07:00
2026-04-14 10:43:51 -07:00
2026-04-28 23:23:34 -07:00
2026-04-18 03:08:00 -07:00
2026-04-27 19:25:10 -07:00
2026-04-23 10:58:36 -07:00
2026-04-29 12:53:10 -07:00
2026-04-29 00:09:39 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 19:59:52 -07:00
2026-04-29 12:12:05 -07:00
2026-04-27 04:05:25 -07:00
2026-04-27 19:59:52 -07:00
2026-04-16 08:38:55 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 19:59:52 -07:00
2026-04-28 15:14:18 -07:00
2026-04-29 12:53:10 -07:00
2026-04-28 23:23:34 -07:00
2026-04-16 08:38:08 -07:00
2026-04-16 08:38:08 -07:00
2026-04-16 04:38:05 -07:00
2026-04-19 20:48:13 -07:00
2026-04-28 21:13:30 -07:00
2026-04-24 19:39:20 -07:00
2026-04-25 12:40:32 -07:00
2026-04-27 04:05:25 -07:00
2026-04-27 08:45:49 -07:00
2026-04-29 11:42:37 -07:00
2026-04-29 11:42:37 -07:00
2026-04-26 22:21:18 -07:00
2026-04-29 01:11:05 -07:00
2026-04-22 08:04:24 -07:00
2026-04-28 16:24:22 -07:00
2026-04-28 19:20:10 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 09:01:32 -07:00
2026-04-28 15:20:49 -07:00
2026-04-29 00:31:46 -07:00
2026-04-27 19:59:52 -07:00
2026-04-25 12:18:55 -07:00
2026-04-13 17:41:33 -07:00