Skip to content

Bug/gap: promptContribution.condition is declared in the SDK but never evaluated by the host #1982

Description

@m5x

Version: Fusion 0.57.0

Facts: PluginPromptContribution carries an optional condition string, and plugins can declare typed per-plugin settings via manifest.settingsSchema (values editable per project in the plugin settings panel). However, getPromptContributionsForSurface filters only by plugin state === "started", surface, and promptContributions.enabledByDefault !== false; buildPluginPromptSection joins content without ever reading .condition (zero references to contribution.condition in bin.js).

Impact: conditional/gated plugin content cannot be enforced host-side. Our plugin (fusion-dotnet-kit) declares decision-gated skills whose prompt contributions carry conditions like settings["api-style"] === "minimal-apis"; consumers set the enum in the plugin settings panel, but the setting has no effect — the condition is decorative. Without evaluation, per-project gating of plugin guidance (a core plugin use case: activate content only after a project sanctions a stack decision) cannot work.

Request: evaluate condition against the plugin's per-project effective settings when assembling prompt contributions (a minimal grammar would suffice: equality/inequality comparison of one setting key against a string literal, e.g. settings["key"] === "value" / !==). Please document the supported grammar in the SDK types so plugin authors can rely on it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions