gsxdsm
5b9e6643d6
FN-8869: inherit project model overrides for role agents
Role-based permanent agents now consistently use their effective project model and thinking settings.
- Resolve permanent-agent model and thinking inheritance by workflow role in core.
- Apply inherited settings to Agent views, Chat sessions, routes, and heartbeat sessions.
- Cover role-specific inheritance and preserve the lifecycle-column ratchet classification.
Files changed:
.changeset/fn-8869-role-agent-project-model-override.md | 7 ++
docs/agents.md | 9 +-
docs/settings-reference.md | 4 +-
packages/core/src/__tests__/agent-effective-model.test.ts | 97 +++++++++++++++++++
packages/core/src/__tests__/no-hardcoded-lifecycle-columns.test.ts | 2 +
packages/core/src/ai/agent-effective-model.ts | 82 +++++++++++++++++
packages/core/src/ai/model-resolution.ts | 14 +++
packages/core/src/index.gate.ts | 7 ++
packages/core/src/index.ts | 7 ++
packages/core/src/types.ts | 7 ++
packages/dashboard/app/components/AgentDetailView.tsx | 49 ++++++---
packages/dashboard/app/components/AgentsView.tsx | 11 ++-
packages/dashboard/app/components/__tests__/AgentDetailView.effective-model.test.tsx | 55 +++++++++++
packages/dashboard/app/components/__tests__/AgentDetailView.settings.test.tsx | 22 +++++
packages/dashboard/app/components/__tests__/AgentsView.test.tsx | 25 +++++
packages/dashboard/src/__tests__/chat-manager.test.ts | 45 +++++++++
packages/dashboard/src/__tests__/routes-chat-sessions-project-model.test.ts | 103 +++++++++++++++++++++
packages/dashboard/src/chat.ts | 65 +++++--------
packages/dashboard/src/routes/register-chat-routes.ts | 37 +++++---
packages/engine/src/__tests__/agent-session-helpers-test-mode.test.ts | 13 +++
packages/engine/src/__tests__/agent-session-helpers.test.ts | 54 +++++++++++
packages/engine/src/agent-heartbeat.ts | 10 +-
packages/engine/src/agents/agent-session-helpers.ts | 6 +-
23 files changed, 648 insertions(+), 83 deletions(-)
Fusion-Task-Id: FN-8869
Fusion-Task-Lineage: 00227aaf-b33b-43f1-bcbb-2203c9930dbc
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-10 02:25:03 -07:00
..
2026-08-10 02:25:03 -07:00
2026-07-16 14:08:43 -07:00
2026-08-10 02:25:03 -07:00
2026-08-03 09:04:45 -07:00
2026-08-09 09:14:56 -07:00
2026-08-02 23:09:48 -07:00
2026-07-30 12:03:07 -07:00
2026-07-24 22:32:49 -07:00
2026-07-23 18:39:10 -07:00
2026-07-26 12:01:19 -07:00
2026-07-26 12:01:19 -07:00
2026-08-03 12:15:19 -07:00
2026-07-13 13:58:35 -07: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-08 22:55:38 -07:00
2026-07-25 22:52:53 -07:00
2026-07-22 18:46:46 -07:00
2026-07-14 22:13:30 -07:00
2026-08-10 02:25:03 -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-15 02:30:41 -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-07-30 12:03:07 -07:00
2026-07-30 07:14:54 -07:00
2026-08-01 06:09:04 -07:00
2026-08-09 07:06:06 -07:00
2026-08-09 09:14:56 -07:00
2026-07-02 19:01:09 -07:00
2026-08-01 10:45:13 -07:00
2026-07-30 12:03:07 -07:00
2026-08-01 04:08:57 -07:00
2026-07-02 11:38:34 -07:00
2026-07-30 12:03:07 -07:00
2026-08-01 06:09:04 -07:00
2026-07-30 12:03:07 -07:00
2026-08-01 03:19:00 -07: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-09 04:50:30 -07: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-07-30 12:03:07 -07:00
2026-07-26 12:01:19 -07:00
2026-07-24 22:32:49 -07:00
2026-07-24 22:32:49 -07:00
2026-07-23 18:39:10 -07:00
2026-08-07 20:56:52 -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-09 08:31:26 -07:00
2026-07-26 12:01:19 -07:00
2026-07-24 22:32:49 -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-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-07-30 12:03:07 -07:00
2026-08-03 09:04:45 -07:00
2026-07-26 12:01:19 -07:00
2026-07-17 12:00:26 -07:00
2026-08-09 08:31:26 -07:00
2026-08-09 09:14:56 -07:00
2026-07-15 10:38:04 -07:00
2026-08-09 14:39:17 -07:00
2026-07-24 22:32:49 -07:00
2026-08-09 13:22:32 -10:00
2026-07-30 12:03:07 -07:00
2026-07-30 15:16:24 -07:00
2026-07-26 12:01:19 -07:00
2026-07-10 23:42:10 -07:00
2026-07-13 19:07:58 -07:00
2026-07-19 13:34:25 -07:00
2026-08-01 08:52:08 -07:00
2026-07-26 12:01:19 -07:00