Skip to content

Schema/validator drift: agent instructions segments/StaticSegment not in bundled schema or docs (silently blank instructions) #175

Description

Summary

The agent instructions schema emitted/required by the current Copilot Studio language server (StaticSegment segments) is out of sync with both the plugin's bundled authoring schema and the plugin's own instructions guidance. This silently produced blank instructions on a live agent.

What happened

  1. Cloned a template: cliagent-1.0.0 agent and authored instructions in settings.mcs.yml using the documented field:
    configuration:
      agentSettings:
        instructions:
          text: |-
            <instructions...>
  2. Pushed + published successfully. But in the new Copilot Studio web UI, the agent's instructions showed up empty.
  3. Editing instructions in the web UI and pulling the agent revealed the server now uses a segments model:
    configuration:
      agentSettings:
        instructions:
          segments:
            - kind: StaticSegment
              value: |-
                <instructions...>
    The legacy instructions.text field is ignored, so authored instructions never took effect.

Drift details

  • reference/bot.schema.yaml-authoring.json defines TextSegment, ExpressionSegment, and SampleSegment — but not StaticSegment.
  • skills/edit-agent/instructions-guide.md documents instructions as a plain string system prompt; no mention of the segments / StaticSegment model.
  • StaticSegment only appears compiled inside the VS Code Copilot Studio extension's lspOut/LanguageServerHost.exe (v1.5.20). There is no public/readable schema or MS Learn page for it, and "kind: StaticSegment" returns zero results in public GitHub code search.
  • node manage-agent.bundle.js validate does not flag the deprecated instructions.text form, so authors get no signal that their instructions won't apply.

Impact

Authoring instructions via the plugin against cliagent-1.0.0 (and presumably other current templates) can result in silently empty instructions on a published agent, with no validation error.

Suggested fixes

  • Update the bundled bot.schema.yaml-authoring.json to include StaticSegment (and the instructions.segments structure).
  • Update skills/edit-agent/instructions-guide.md to document the segments / StaticSegment model and note instructions.text is deprecated/ignored for current templates.
  • Ideally, have validate warn when instructions.text is used on a template that expects instructions.segments.

Environment

  • Plugin: copilot-studio v1.0.11
  • VS Code Copilot Studio extension: v1.5.20
  • Agent template: cliagent-1.0.0, recognizer CLICopilotRecognizer, model series Sonnet46

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions