gsxdsm
9f5f981e33
FN-9114: expose enabled skills and enforce agent skill reads
Make project-enabled skills available across agent sessions while preserving explicit per-agent skills as observable read-first requirements.
- resolve all enabled discovered skills without using agent metadata as an availability filter
- carry forced skill intent through PI, plugin, chat, workflow, merger, and heartbeat session paths
- report resolved and unavailable forced skills in session summaries and diagnostics
- document the updated skill model and add release notes and regression coverage
Files changed:
.changeset/fn-9114-forced-skills.md | 7 +
docs/PLUGIN_AUTHORING.md | 2 +-
docs/agents.md | 10 +-
docs/diagnostics.md | 2 +-
docs/settings-reference.md | 2 +-
packages/core/src/__tests__/skill-settings.test.ts | 9 +
.../dashboard/src/__tests__/chat-manager.test.ts | 26 ++-
packages/dashboard/src/chat.ts | 10 +
.../engine/src/__tests__/agent-skills-flow.test.ts | 14 +-
.../compound-engineering-skill-resolution.test.ts | 2 +-
.../engine/src/__tests__/heartbeat-skills.test.ts | 41 ++++
.../__tests__/hermes-runtime-integration.test.ts | 63 +++++-
.../engine/src/__tests__/merger-skills.test.ts | 33 ++-
packages/engine/src/__tests__/pi.test.ts | 35 ++-
.../__tests__/plugin-skill-body-delivery.test.ts | 8 +-
.../src/__tests__/plugin-skill-integration.test.ts | 3 +-
.../src/__tests__/session-skill-context.test.ts | 40 ++--
.../engine/src/__tests__/skill-resolver.test.ts | 38 +++-
.../__tests__/step-execute-skill-loading.test.ts | 6 +
packages/engine/src/agents/agent-runtime.ts | 2 +
.../engine/src/agents/agent-session-helpers.ts | 88 ++++++-
.../src/cli-runtime/session-skill-context.ts | 117 ++++------
packages/engine/src/cli-runtime/skill-resolver.ts | 252 +++++++++------------
.../engine/src/executor/execute-workflow-step.ts | 14 ++
packages/engine/src/executor/run-implementation.ts | 5 +
packages/engine/src/pi.ts | 28 ++-
26 files changed, 576 insertions(+), 281 deletions(-)
Fusion-Task-Id: FN-9114
Fusion-Task-Lineage: fe63ebd1-f947-40d7-be7b-c13d7f1c35c9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-08-15 21:57:22 -07:00
..
2026-08-10 10:33:35 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 19:40:01 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-15 15:52:52 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-10 10:11:11 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-03 00:20:53 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-14 21:44:18 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-14 23:14:19 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-12 21:15:53 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-14 22:16:44 -07:00
2026-08-09 15:46:09 -10:00
2026-08-12 21:15:53 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-10 10:11:11 -07:00
2026-08-15 15:52:52 -07:00
2026-08-09 15:46:09 -10:00
2026-08-10 10:33:35 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-14 14:24:26 -07:00
2026-08-14 14:24:26 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-15 15:52:52 -07:00
2026-08-15 21:57:22 -07:00
2026-08-15 00:41:44 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-14 14:24:26 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-15 15:52:52 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-15 15:52:52 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-07-29 20:59:06 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-11 17:53:40 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-14 14:24:26 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-15 15:52:52 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-12 21:15:53 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-07-15 13:34:30 -07:00
2026-08-15 15:52:52 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-10 11:28:32 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-10 13:39:55 -07:00
2026-07-15 13:34:30 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-15 17:45:32 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-15 21:57:22 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-10 11:28:32 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-15 15:52:52 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-15 15:52:52 -07:00
2026-08-15 15:52:52 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-10 13:27:10 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-15 15:52:52 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-15 15:52:52 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-11 13:34:27 -07:00
2026-07-15 13:34:30 -07:00
2026-08-09 15:46:09 -10:00
2026-08-11 15:01:52 -07:00
2026-08-14 23:33:36 -07:00
2026-08-15 00:41:44 -07:00
2026-08-14 22:16:44 -07:00
2026-08-14 22:16:44 -07:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-09 15:46:09 -10:00
2026-08-14 14:24:26 -07:00
2026-08-15 00:41:44 -07:00