Skip to content

Cherry-pick: fix: remove extraneous source.description schema property (#3552)#3612

Open
Aniruddh25 wants to merge 2 commits into
release/2.0from
dev/anmunde/cherry-pick-fixSourceDescSchema-release-2.0
Open

Cherry-pick: fix: remove extraneous source.description schema property (#3552)#3612
Aniruddh25 wants to merge 2 commits into
release/2.0from
dev/anmunde/cherry-pick-fixSourceDescSchema-release-2.0

Conversation

@Aniruddh25
Copy link
Copy Markdown
Collaborator

Cherry-pick of #3552 from main to release/2.0.

Original PR: fix: remove extraneous source.description schema property; clarify entity.description covers MCP (#3552)
Cherry-picked commit: f3d159d

…`entity.description` covers MCP (#3552)

## Why make this change?

`entities.*.source.description` existed in the JSON schema with
documentation claiming it drove MCP tool discovery — but it was never
wired to any C# model (`EntitySource` has no `Description` field) and
was silently ignored at runtime. Meanwhile, `entities.*.description` —
the field that *actually* surfaces in MCP — made no mention of MCP.
Users following the schema would configure the wrong field and get no
MCP output with no error.

## What is this change?

- **Removed** `entities.*.source.description` from
`schemas/dab.draft.schema.json`. The property never had a backing field
in `EntitySource` and was dead schema surface area.
- **Updated** the description of `entities.*.description` to explicitly
mention MCP:

```diff
- "Optional description for the entity. Will be surfaced in generated API documentation and GraphQL schema as comments."
+ "Optional description for the entity. Will be surfaced in MCP tool discovery, generated API documentation, and GraphQL schema as comments."
```

The correct config pattern for MCP-visible descriptions is:

```json
"Todo": {
  "description": "Manages to-do items — surfaced in MCP, REST docs, and GraphQL schema.",
  "source": {
    "object": "dbo.Todos",
    "type": "table"
  }
}
```

## How was this tested?

- [ ] Integration Tests
- [ ] Unit Tests

Schema-only change; no runtime behavior altered. The removed property
had no backing model field and was never deserialized.

## Sample Request(s)

N/A — schema documentation fix only.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Aniruddh25 <3513779+Aniruddh25@users.noreply.github.com>
Co-authored-by: Aniruddh Munde <anmunde@microsoft.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the DAB JSON schema documentation to remove a non-functional configuration surface (entities.*.source.description) and to clarify that entities.*.description is the field used for MCP-related entity/tool metadata.

Changes:

  • Removed the unused entities.*.source.description property from schemas/dab.draft.schema.json.
  • Updated entities.*.description schema text to explicitly mention MCP tool discovery.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants