doc: add design spec for azd ai agent routine commands#8200
Conversation
📋 Prioritization NoteThanks for the contribution! The linked issue isn't in the current milestone yet. |
There was a problem hiding this comment.
Pull request overview
Adds a design specification for the proposed azd ai agent routine command subtree in the azure.ai.agents extension, covering command behavior, endpoint resolution, wire mappings, telemetry, and tests.
Changes:
- Adds the routine command design spec and v1 command surface.
- Documents endpoint resolution, API routes, output shapes, telemetry, and test plan.
- Adds a cspell override for terminology in the new design doc.
Reviewed changes
Copilot reviewed 1 out of 1 changed files in this pull request and generated 8 comments.
| File | Description |
|---|---|
cli/azd/docs/design/ai-routine-design-spec.md |
New design spec for routine commands. |
cli/azd/.vscode/cspell.yaml |
Adds a file-specific spelling override for the new doc. |
lindazqli
left a comment
There was a problem hiding this comment.
Reviewed against TypeSpec PR #43186 (adding routines, now merged into feature/foundry-release). Six issues found — four are blockers before shipping v1:
- [Line 56] TypeSpec PR reference is stale (#42779 → should be #43186).
- [Line 165]
enable/disableshould call the dedicated:enable/:disableroutes that already exist in the TypeSpec, not GET-then-PUT. - [Line 173] No sync
:dispatchroute exists in TypeSpec — onlyPOST :dispatch_async. The "sync by default" contract has no API backing. - [Line 249]
--agent-id/agent_idshould be--agent-name/agent_nameto match the TypeSpec field name. - [Line 201]
--orderbyhas noorderByquery param inListRoutineRunsParameters. - [Line 239] GitHub trigger:
--ownerserializes toownerbut TypeSpec field isassignee;--event-actionhas no TypeSpec counterpart.
lindazqli
left a comment
There was a problem hiding this comment.
Correction: the previous review was submitted as REQUEST_CHANGES by mistake — please treat all inline comments as informational notes for discussion, not as blockers. The comments remain valid observations to align the spec with TypeSpec PR #43186.
jongio
left a comment
There was a problem hiding this comment.
Spec follows the extension's existing patterns well for endpoint resolution, flag naming, and prompt/no-prompt behavior. The TypeSpec alignment feedback from existing reviews is the main thing to address before implementation.
One gap: error behavior isn't defined for any of the 9 commands. See inline comment.
|
Thanks everyone for the careful review! Here's what changed to address all the feedback: TypeSpec alignment (Linda's feedback against PR #43186)
Error behavior +
|
Summary
Adds the design spec for the new
routinecommand subtree (cli/azd/docs/design/ai-routine-design-spec.md). A routine pairs one trigger (when) with one action (what) on a Foundry project, for example "every weekday at 8 AM UTC, invoke the daily report agent", without standing up Logic Apps, Functions, or cron infra.Related issues:
azd ai routine create/update/show/list/delete(plusenable,disable,dispatch, andrunsubcommands) to manage and run Foundry Routines from any directory #8159--fileforroutine create)Key points
azure.ai.agentsextension. Today the commands surface asazd ai agent routine …; they becomeazd ai routine …after the planned extension split (registration only). Noazure.yamlorregistry.jsonimpact, no new persistent state.create,update,show,list,delete,enable,disable,dispatch, andrun list.run showandrun deleteare deferred until the data plane lands them.connection,toolbox, andskill. TheRoutines=V1Previewopt in header is sent on every call.createfails on existing (or upserts with--force).updateis GET then PUT preserving untouched fields, with type switching of--trigger/--actionrejected client side.dispatchis sync by default and streams the agent response;--asyncswitches to the async route.recurring,agent-response,agent-invoke) read naturally and absorb upstream API renames via a single mapping table.