dotnet-presentations / dotnet-presentations/ai-workshop

Prevent the Part 8 order agent from offering unsupported notifications

Open Beginner friendly
#657 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs-decision
Dominant language
C#
Stars
56
Forks
33
Avg merge
19h 26m
Merged PRs (30d)
45

Description

Issue type

enhancement

Requested priority

P3 - Polish, minor documentation, screenshots, or future improvement

Workshop area

Part 8 - Agent Framework Basics

Summary

During live validation, the Part 8 agent correctly called GetOrderStatus but then offered to notify the user when the order shipped or provide future tracking updates. The sample exposes no notification or tracking-subscription tool, so the offer cannot be fulfilled.

Attendee or instructor impact

The core lesson passes, but the output demonstrates a common agent-design problem: the model promises capabilities that are not represented by its tools. An instructor may need to explain why the offered follow-up cannot actually work.

Because model wording is nondeterministic, this is an intermittent polish issue rather than a guaranteed failure.

Reproduction or proposed change

From a fresh Part 8 project configured with gpt-5-mini, run the documented application and ask:

What's the status of order ORD-1001?
How about ORD-1002?
When will ORD-1001 arrive?

In the September 13 validation, the tool-derived dates and statuses were correct, but responses included offers such as:

Would you like me to notify you when that happens?

and:

Would you like me to notify you when it's out for delivery or provide tracking updates?

The application only has GetOrderStatus; it cannot schedule notifications or retrieve future updates.

Proposed change:

  1. Strengthen the agent instructions to state that it must not promise notifications, subscriptions, or future tracking updates.
  2. Tell it to limit answers to the data returned by available tools and suggest only actions the sample can perform.
  3. Optionally use this as a short teaching note about capability boundaries and tool-grounded agents.
Expected outcome

The agent answers order-status questions accurately without offering actions that have no corresponding application/tool implementation.

Validation
  • Build the Part 8 snapshot in Release with zero warnings.
  • Run several multi-turn order-status conversations against the configured model.
  • Confirm the agent invokes GetOrderStatus for each referenced order.
  • Confirm it preserves conversational context.
  • Confirm responses do not promise notifications, subscriptions, or unsupported future tracking.
  • Confirm no vulnerable packages.
Dependencies and related issues

No open duplicate found. This is independent of the Aspire 13.4.6 PR.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the documented Part 8 application and its agent instructions, then inspect how the GetOrderStatus tool is exposed. Update the instructions so responses stay within available tool capabilities, and build the Part 8 snapshot in Release before running several multi-turn order-status conversations to confirm unsupported offers are absent.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
ai, backend
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.