gsxdsm
8a6949dd24
FN-8661: resolve selected credential instances for sessions
Resolve requested provider credential instances before creating agent sessions.
- Thread lane credential instance selections through planning, validation, execution, review, and merge sessions.
- Resolve selected instances into runtime credential stores while retaining provider-default fallback behavior.
- Preserve selected credentials for mission validation, executor retries, and spawned child agents.
Files changed:
.../fn-8661-credential-instance-resolution.md | 7 ++
AGENTS.md | 1 +
docs/architecture.md | 2 +-
docs/secrets.md | 2 +
docs/settings-reference.md | 1 +
.../dashboard/src/__tests__/routes-auth.test.ts | 80 +++++++++++++++++++
.../dashboard/src/routes/register-model-routes.ts | 78 +++++++++++++++++++
.../src/__tests__/agent-session-helpers.test.ts | 16 ++++
.../credential-instance-resolution.test.ts | 49 ++++++++++++
packages/engine/src/agent-heartbeat.ts | 1 +
packages/engine/src/agent-runtime.ts | 9 ++-
packages/engine/src/agent-session-helpers.ts | 67 +++++++++++-----
packages/engine/src/auth-storage.ts | 90 ++++++++++++++++++----
packages/engine/src/executor.ts | 29 ++++++-
packages/engine/src/merger-ai.ts | 2 +
packages/engine/src/merger.ts | 5 ++
packages/engine/src/mission-execution-loop.ts | 4 +-
packages/engine/src/pi.ts | 7 +-
packages/engine/src/pr-response-run-ops.ts | 1 +
packages/engine/src/reviewer.ts | 7 ++
packages/engine/src/triage.ts | 2 +
21 files changed, 420 insertions(+), 40 deletions(-)
Fusion-Task-Id: FN-8661
Fusion-Task-Lineage: 1e34a3ce-0857-4619-9746-ce0dc12dc2ba
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-01 02:05:03 -07:00
..
2026-08-01 02:05:03 -07:00
2026-07-30 12:25:00 -07:00
2026-07-30 11:28:54 -07:00
2026-07-29 20:59:06 -07:00
2026-07-13 19:07:58 -07:00
2026-07-30 05:18:19 -07:00
2026-08-01 01:15:10 -07:00
2026-07-31 12:54:58 -07:00
2026-07-30 12:25:00 -07:00
2026-07-24 22:32:49 -07:00
2026-07-20 10:13:57 -07:00
2026-07-31 23:33:47 -07:00
2026-07-30 21:50:37 -07:00
2026-07-20 16:08:00 -07:00
2026-07-26 09:26:13 -07:00
2026-07-30 21:51:09 -07:00
2026-07-30 11:06:20 -07:00
2026-07-16 00:01:17 -07:00
2026-07-21 23:09:30 -07:00
2026-08-01 02:05:03 -07:00
2026-07-10 07:46:52 -07:00
2026-07-22 13:43:55 -07:00
2026-07-30 11:28:54 -07:00
2026-08-01 02:05:03 -07:00
2026-07-26 10:15:18 -07:00
2026-08-01 02:05:03 -07:00
2026-07-31 10:24:22 -07:00
2026-06-30 12:56:03 -07:00
2026-07-03 22:04:45 -07:00
2026-07-16 17:05:29 -07:00
2026-08-01 02:05:03 -07:00
2026-07-29 10:01:14 -07:00
2026-07-31 05:50:13 -07:00
2026-07-31 03:51:43 -07:00
2026-07-30 21:50:37 -07:00
2026-07-16 13:48:00 -07:00
2026-06-26 16:14:44 -07:00
2026-08-01 00:32:25 -07:00
2026-07-30 03:10:35 -07:00
2026-07-21 17:14:30 -07:00
2026-07-22 08:53:31 -07:00
2026-07-21 17:08:44 -07:00
2026-07-31 03:31:03 -07:00
2026-07-30 10:35:31 -07:00
2026-07-14 22:16:16 -07:00
2026-07-31 04:29:21 -07:00
2026-08-01 02:05:03 -07:00
2026-07-13 19:07:58 -07:00
2026-07-15 12:54:16 -07:00
2026-07-30 21:51:09 -07:00
2026-07-26 12:01:19 -07:00
2026-07-14 17:02:47 -07:00
2026-07-30 10:47:44 -07:00
2026-07-13 19:07:58 -07:00
2026-07-27 21:39:21 -07:00
2026-07-18 01:23:31 -07:00
2026-07-28 18:52:39 -07:00
2026-07-30 21:51:09 -07:00
2026-07-02 13:07:16 -07:00
2026-07-23 10:31:22 -07:00
2026-07-23 10:31:22 -07:00
2026-06-26 11:56:12 -07:00
2026-07-22 15:25:20 -07:00
2026-07-14 08:18:52 -07:00
2026-07-26 09:50:43 -07:00
2026-06-26 00:57:32 -07:00
2026-07-15 22:43:24 -07:00
2026-07-30 22:05:04 -07:00
2026-07-15 10:06:32 -07:00
2026-07-27 13:30:13 -07:00
2026-07-21 17:08:17 -07:00
2026-06-25 20:12:20 -07:00
2026-08-01 02:05:03 -07:00
2026-07-16 15:42:22 -07:00
2026-07-26 10:15:18 -07:00
2026-07-18 14:42:59 -07:00
2026-07-16 00:01:17 -07:00
2026-07-15 14:44:35 -07:00
2026-07-19 16:00:28 -07:00
2026-07-15 14:44:35 -07:00
2026-07-30 11:28:54 -07:00
2026-07-30 11:28:54 -07:00
2026-07-16 00:01:17 -07:00
2026-07-11 22:16:48 -07:00
2026-07-30 11:28:54 -07:00
2026-07-26 10:15:18 -07:00
2026-08-01 02:05:03 -07:00
2026-07-27 14:28:53 -07:00
2026-07-29 21:20:09 -07:00
2026-08-01 02:05:03 -07:00
2026-07-30 00:52:55 -07:00
2026-07-19 22:43:13 -07:00
2026-07-21 17:14:30 -07:00
2026-07-26 10:15:18 -07:00
2026-07-14 20:27:35 -07:00
2026-07-14 20:27:35 -07:00
2026-07-14 20:27:35 -07:00
2026-07-09 19:58:06 -07:00
2026-07-16 21:42:44 -07:00
2026-07-14 20:27:35 -07:00
2026-07-14 20:27:35 -07:00
2026-07-26 08:26:20 -07:00
2026-07-30 21:50:37 -07:00
2026-08-01 02:05:03 -07:00
2026-07-25 20:46:07 -07:00
2026-07-27 21:39:21 -07:00
2026-07-30 00:00:46 -07:00
2026-07-04 21:28:16 -07:00
2026-07-31 03:34:27 -07:00
2026-07-21 23:32:18 -07:00
2026-07-30 21:50:37 -07:00
2026-07-14 12:41:10 -07:00
2026-07-30 12:06:14 -07:00
2026-07-17 17:28:09 -07:00
2026-07-13 19:07:58 -07:00
2026-08-01 02:05:03 -07:00
2026-07-13 19:07:58 -07:00
2026-07-23 21:43:58 -07:00
2026-07-28 18:52:39 -07:00
2026-08-01 00:32:25 -07:00
2026-07-28 18:52:39 -07:00
2026-07-28 18:52:39 -07:00
2026-08-01 01:07:59 -07:00
2026-07-21 17:14:30 -07:00
2026-07-26 12:01:19 -07:00
2026-07-21 17:08:44 -07:00
2026-07-21 17:08:44 -07:00
2026-07-27 17:37:20 -07:00
2026-07-31 02:39:45 -07:00
2026-07-24 23:57:49 -07:00
2026-07-21 17:06:26 -07:00
2026-07-13 19:07:58 -07:00
2026-07-13 19:07:58 -07:00
2026-07-31 03:34:27 -07:00
2026-07-15 20:53:05 -07:00
2026-07-21 17:08:44 -07:00
2026-07-01 16:38:27 -07:00
2026-08-01 02:05:03 -07:00
2026-07-30 03:10:35 -07:00
2026-07-26 08:26:20 -07:00
2026-07-30 11:28:54 -07:00
2026-07-26 15:36:33 -07:00
2026-07-30 17:39:59 -07:00
2026-07-26 16:16:27 -07:00
2026-08-01 01:15:10 -07:00
2026-07-16 00:01:17 -07:00
2026-07-16 00:01:17 -07:00
2026-07-27 20:15:46 -07:00
2026-07-16 15:42:22 -07:00
2026-07-16 15:42:22 -07:00
2026-07-31 15:14:30 -07:00
2026-07-26 08:20:37 -07:00
2026-07-19 15:38:31 -07:00
2026-07-29 23:10:11 -07:00
2026-07-29 21:20:09 -07:00
2026-07-30 13:55:10 -07:00
2026-07-29 09:54:39 -07:00
2026-07-25 23:44:56 -07:00
2026-07-29 23:34:30 -07:00
2026-07-30 23:13:34 -07:00
2026-07-30 15:08:01 -07:00
2026-07-30 09:28:27 -07:00
2026-07-30 08:24:50 -07:00
2026-07-16 01:52:10 -07:00
2026-07-29 23:10:11 -07:00
2026-07-25 14:59:53 -07:00
2026-07-25 14:59:53 -07:00
2026-07-15 20:14:25 -07:00
2026-08-01 02:05:03 -07:00
2026-07-17 17:28:36 -07:00
2026-07-30 08:31:47 -07:00
2026-07-15 08:44:11 -07:00
2026-07-26 09:50:43 -07:00
2026-07-31 17:39:04 -07:00
2026-07-31 17:39:04 -07:00
2026-06-29 10:32:51 -07:00
2026-07-01 00:51:01 -07:00
2026-07-27 13:30:13 -07:00
2026-07-31 16:12:49 -07:00
2026-07-26 10:15:18 -07:00
2026-06-25 22:33:08 -07:00
2026-07-31 17:39:04 -07:00
2026-07-15 15:34:43 -07:00
2026-07-30 17:39:59 -07:00
2026-07-01 00:51:01 -07:00
2026-07-01 00:51:01 -07:00
2026-07-01 00:51:01 -07:00
2026-07-01 00:51:01 -07:00
2026-06-30 00:09:36 -07:00
2026-07-21 17:06:26 -07:00
2026-07-19 22:07:55 -07:00
2026-07-19 22:07:55 -07:00
2026-07-07 10:25:11 -07:00
2026-07-19 17:05:05 -07:00
2026-07-16 13:48:00 -07:00
2026-06-25 08:34:44 -07:00
2026-07-14 22:16:16 -07:00
2026-07-30 21:35:23 -07:00
2026-07-19 23:47:53 -07:00
2026-07-30 11:28:54 -07:00
2026-07-13 19:07:58 -07:00