Skip to content

Inventory Planning Fabric: replace the retiring visual workflow with a hosted Agent Framework assistant (Challenge 5) - #584

Draft
Digvijay (Digvijay) wants to merge 6 commits into
microsoft:mainfrom
Digvijay:feature/inventory-hosted-orchestration-2027
Draft

Digvijay (Digvijay) wants to merge 6 commits into
microsoft:mainfrom
Digvijay:feature/inventory-hosted-orchestration-2027

Conversation

@Digvijay

@Digvijay Digvijay (Digvijay) commented Oct 28, 2026 •

Copy link
Copy Markdown

What this changes

Prepares 03-Azure/01-04-AI/02_Inventory_Planning_Fabric for the retirement of the Foundry visual workflow designer on 1 December 2026.

  • Challenge 5 (stretch) no longer builds a visual workflow. Participants deploy a hosted inventory-planning-assistant from Cloud Shell. It is built with the Microsoft Agent Framework and chains their three agents from Challenges 2 to 4 in a fixed graph. Approvals (YES, NO, MODIFY, STATUS) are enforced in code, so a model can never approve an order. The trace shows the three stages, and the assistant can be published to Teams and Microsoft 365 Copilot.
  • New orchestrator/ folder: the hosted assistant, deployment scripts, a facilitator guide and tests.
  • Lab automation: lab reliability fixes, an updated dev/run-local.ps1, and setup notebook fixes.
  • Screenshots re-captured in October 2026, including new Challenge 5 captures for the proposal, approve and replay, cancel and status, trace, and publishing.
  • The old visual-workflow exercise is kept for reference in archive/visual-workflow-exercise.md. Its two workflow screenshots are used only there.

All changes are inside the lab folder. The lab's Codespaces configuration (.devcontainer/03-azure-01-04-ai-02-inventory-planning-fabric/) is already in main.

Verified

  • 67 pytest tests (plus 20 subtests) and both PowerShell test scripts pass offline.
  • Every image is referenced, and no workflow screenshot is used outside the archive.
  • No broken relative links.

Before marking ready

  • Live run of Challenge 5 Parts A to C on a fresh lab, to confirm the hosted deployment and PASS: hosted multi-turn checks. The hosting package is a preview build (agent-framework-foundry-hosting==1.0.0b261008). An automated attempt on 28 October could not start: the test tenant is not enabled for Microsoft Fabric, so the capacity could not be created. Needs a Fabric-enabled tenant.
  • Squashed to a single commit on top of current main (original commits kept on tag archive/inventory-hosted-orchestration-2027-presquash in the fork).

Draft, so there is a reviewed copy ahead of the 1 December deadline.

Optional Codespaces / Dev Container path (added 9 Nov 2026)

Cloud Shell stays the default. Participants who prefer VS Code can now run the same deployment from GitHub Codespaces or a local Dev Container.

  • Root dev container .devcontainer/03-azure-01-04-ai-02-inventory-planning-fabric/ was a bare Ubuntu image with a hard-coded /workspaces/microhack path. It is now:
    • Python 3.12, Azure CLI, azd, with PowerShell 7 as the default terminal, so commands match Cloud Shell
    • fork-safe paths via ${localWorkspaceFolderBasename}
    • no Docker (the hosted build runs remotely)
    • facilitator folders hidden in the Explorer, Markdown opened as a preview
    • AI chat features disabled, because the lab provides no GitHub account or GitHub Copilot licence (M365-E5-Users only)
  • Participant guide (orchestrator/README.md): Option A Cloud Shell / Option B Codespaces or local Dev Container, with seven screenshots. It notes that Codespaces needs the participant's own GitHub account; Azure sign-in uses the lab account via az login --use-device-code.
  • Start-ParticipantDeployment.ps1: only error and help messages changed, no behaviour change. They no longer say the bootstrap must run in Cloud Shell.
  • README, Challenge 5 and FACILITATOR.md mention the option.
  • Verified:
    • Container built locally with @devcontainers/cli on a uniquely named fork path.
    • In the container: pwsh 7.6, Python 3.12, az 2.92 and azd 1.37 present; the bootstrap passes its Linux/tool checks and stops with the new sign-in message without az login.
    • 52 unit tests and Test-ParticipantDeployment.ps1 pass in the container.
    • The Codespace was checked live on this branch: hidden folders, PowerShell terminal, no Copilot chat.

The branch was rebased onto current main. It now has three commits instead of one, to keep the Codespaces work reviewable; squash on merge if preferred.

Live verification (9 Nov 2026)

Fresh lab from dev/run-local.ps1 (F4, swedencentral), with Challenges 1–4 built in the portal. The deployment ran from the new dev container: Start-ParticipantDeployment.ps1 -ResourceGroupName … -VerifyHosted.

  • Result: deployed in 3 minutes, then PASS: hosted multi-turn checks, all 12 turns: planning, YES, MODIFY, duplicate-approval guard, STATUS, NEW, NO.
  • Bugs found and fixed:
    • Per-agent connections: the portal now creates one Fabric IQ connection per agent, so every participant hit "More than one Fabric IQ connection". The script now picks one automatically when they all target the same Data Agent, and still stops when they point at different ones. Confirmed against the real project.
    • azd extensions: the list was read once, so installing azure.ai.agents (which brings azure.ai.projects 1.0.0) was followed by an interactive "downgrade to beta.13?" prompt. The list is now re-read per extension.
    • Dev container venv: .venv-tools couldn't be created on Docker Desktop bind mounts, so it now lives on a volume.
  • Tests: regression tests added. 52 unit tests and the PowerShell bootstrap test pass.

Merged with main (12 Nov 2026)

#611 (the visual-workflow Challenge 5 used for the 18 November event) is in main, which conflicted here. Resolved in merge commit c095ffbe:

  • Challenge 5 and its walkthrough: keep this PR's hosted-assistant versions.
  • Archive page (archive/visual-workflow-exercise.md): now carries Inventory Planning Fabric: make Challenge 5 workflow easy to follow and complete #611's live-verified visual-workflow steps (pre-flight check, template notes, End node, default Local.LatestMessage, Save then refresh before Preview), its five screenshots and troubleshooting rows.
  • Images: challenge-04-orchestrator.png removed, since nothing references it any more; images/README.md lists the archived workflow screenshots.

Only docs and images changed; the orchestrator code is unchanged.

Digvijay Chauhan and others added 2 commits November 9, 2026 21:15
…a hosted Agent Framework assistant

The Foundry visual workflow designer retires on 1 December 2026. Challenge 5
(stretch) now deploys a hosted inventory-planning-assistant from Cloud Shell,
built with the Microsoft Agent Framework. It chains the three agents from
Challenges 2-4 in a fixed graph and enforces YES/NO/MODIFY/STATUS approvals in
code. The trace shows the three stages, and the assistant can be published to
Teams and Microsoft 365 Copilot.

- New orchestrator/ folder: hosted assistant, Cloud Shell bootstrap and
  deployment scripts, facilitator guide, tests and hosted multi-turn checks.
- Lab automation reliability fixes, updated dev/run-local.ps1 and setup
  notebook fixes.
- Screenshots re-captured in October 2026, with new Challenge 5 captures.
- The old visual-workflow exercise is kept in archive/visual-workflow-exercise.md.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…or the Challenge 5 deployment

- Root dev container: Python 3.12, Azure CLI, azd, PowerShell 7 default terminal; fork-safe paths;
  facilitator folders hidden, Markdown preview, AI chat features disabled (no GitHub Copilot licence)
- Participant guide: Option A Cloud Shell (default) / Option B Codespaces or local Dev Container
- Bootstrap messages no longer assume Cloud Shell only; facilitator guide and README updated
- Screenshots for the Codespaces steps follow in the next commit

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Digvijay
Digvijay (Digvijay) force-pushed the feature/inventory-hosted-orchestration-2027 branch from 296c553 to 02a267a Compare November 9, 2026 20:37
@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

✅ PR Compliance Check Passed

All compliance checks passed for the latest commit.

Check Result
📋 Challenges & Walkthrough structure ✅ OK
🔗 Links & images ✅ OK (16 file(s))

📄 Full report in the workflow run summary


This comment was automatically generated by the PR Compliance Check workflow.

Digvijay Chauhan and others added 3 commits November 9, 2026 21:51
… deployment option

- New with options, configuration list/selection, trust and Never prompts, ready Codespace, terminal
- Hide the facilitator tests folder in the container Explorer

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…paces / Dev Container option

Lab accounts have no GitHub account (no GHCPUsers), so Codespaces needs a personal GitHub account;
a local Dev Container needs none. Added a troubleshooting row and facilitator guidance.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ication

Verified on a fresh lab (9 Nov 2026): deployed in 3 min, PASS on all 12 hosted multi-turn checks.

- Pick the Fabric IQ connection automatically when the portal created one per agent for the same Data Agent
- Re-read azd extensions per install (azure.ai.agents brings azure.ai.projects; avoids an interactive downgrade prompt)
- Dev container: .venv-tools on a volume (Docker Desktop bind mounts can't create venvs)
- Regression tests for both bootstrap fixes; docs updated

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@qxsch

Copy link
Copy Markdown
Member

Digvijay (@Digvijay) there are conflicts, please fix them before submitting

Resolve conflicts with microsoft#611: keep the hosted-assistant challenge and walkthrough, move microsoft#611's live-verified visual-workflow steps, screenshots and troubleshooting into archive/visual-workflow-exercise.md, and drop the now-unused challenge-04-orchestrator.png.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants