In the group-travel team of Nordlicht Reisen GmbH a person is built in firmly at two places. unterkunft and transport have level A2: a pre-reservation with a supplier runs only with a person's approval (M-05). And the draft goes never to a customer without the trip planner's approval (M-02). Lesson 2.8 built the flow in stages and left the approvals out. This lesson puts them in and asks about the edges: What happens when nobody answers, when the answer comes twice, when the agent wants a tool that is not meant for approval at all?
Prior knowledge. "AI track, lesson T7.3" shows ApprovalRequiredAIFunction, the session overnight, the approval of a draft through a hash and the one-time send (idempotence). "AI-103, lesson 2.5" separates approval in the service (mcp_approval_request for MCP tools of a Foundry agent) from approval in the application. Lesson 1.1 set the levels A0 to A3, lesson 2.8 the flow. What goes beyond that starts here: approvals inside an orchestration, the choice of the means per intervention and the edge cases.
New in this lesson. Three ways a person intervenes: the approval of a tool call (A2), the approval of the draft (M-02, T7.3) and the cancellation of a run by the planner. Assumptions of the task: A run makes at most 3 approval requests; in the process the code waits at most 15 minutes for an answer (after that "no", the run goes on without a pre-reservation, and the planner sees "pre-reservation open"). Whoever answers is a trip planner of the tenant (mandantId, M-07); how that is checked is in lesson 4.1.
The requirement
All numbers are assumptions of the task.
| No. | Requirement | Type | Measure | Weight | Source |
|---|---|---|---|---|---|
| 2.9-01 | A pre-reservation never runs without a person's approval. | R | 0 pre-reservations without a yes | Must | M-05 |
| 2.9-02 | No answer, duplicate answer and unknown tool mean "no". | R | 0 approvals from error cases | Must | F-05 |
| 2.9-03 | A run asks at most 3 times. | Q | 3 requests | Should | Attention of the planner |
| 2.9-04 | The planner can cancel a run. | F | Cancellation without further calls | Must | M-02 |
| 2.9-05 | The draft goes to the customer only if the approval belongs to the draft in its current state. | R | Hash matches (T7.3) | Must | M-02 |