Skip to content

code quality audit: findings for azd-copilot #41

@jongio

Description

@jongio

code quality audit

  • Three lifecycle event handlers in cli/src/cmd/copilot/commands/listen.go - handlePostProvision, handlePreDeploy, and handlePostDeploy - are registered with the extension framework but are no-op stubs (just return nil with "Could..." comments). They occupy extension lifecycle slots without providing functionality, giving a false impression of coverage.
  • The get_project_context MCP tool in cli/src/cmd/copilot/commands/mcp.go (lines 134-147) is a placeholder stub that returns hardcoded instructional text ("Check azure.yaml…") rather than calling the azd gRPC client to fetch real project context. All other gRPC-backed tools use newAzdClient() properly; this one silently diverges.
  • The create_checkpoint MCP tool in cli/src/cmd/copilot/commands/mcp.go (lines 149-166) does not actually create a checkpoint - it just formats and returns a string with the description and phase. The real checkpoint.SaveWithOptions() API exists in cli/src/internal/checkpoint/checkpoint.go but is never called, making the tool's name misleading.
  • The list_agents and list_skills MCP tools (and MCP resource handlers) in mcp.go use hardcoded lists (7 agents, 5 skills) that are stale and inconsistent with the actual embedded assets: there are 16 agent .md files in assets/agents/ and 10+ skill directories in assets/skills/. The assets.ListAgents() and assets.ListSkills() APIs exist and should be used instead.

Automated analysis - 4 finding(s)

Metadata

Metadata

Assignees

No one assigned

    Labels

    automatedFiled by automated analysis

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions