microsoft / microsoft/Agent365-python

Fix broken links in documentation to microsoft_agents_a365.notifications.models.agent_notification_activity.TModel

Open
#239 0 comments 1 reaction 2 assignees View on GitHub

@JimDaly is already working on this.

Since Apr 24, 2026.

  • #240 by @copilot-swe-agent — closed without merging
Dominant language
Python
Stars
41
Forks
23
Avg merge
7h 43m
Merged PRs (30d)
3

Description

The documentation for the AgentNotificationActivity.as_model method contains broken links to <xref:microsoft_agents_a365.notifications.models.agent_notification_activity.TModel>

Cause according to Claude:

The DocFx generator sees the TypeVar in the type annotation and tries to build a cross-reference link to it — just like it would for a real class. But TModel is a TypeVar, not a documented type, so there's no page to link to and the xref renders as broken text:

Type[<xref:microsoft_agents_a365.notifications.models.agent_notification_activity.TModel>]

TypeVar is defined at module level (agent_notification_activity.py:10):

TModel = TypeVar("TModel")

DocFx doesn't have special handling for TypeVar instances — it treats them like class references. This is a doc generator limitation, but the underlying cause is that TypeVar at module scope bleeds into the doc generation as if it were a public documented type.

Claude's recommendation to fix:

Rename TModel to _TModel (underscore prefix) at [agent_notification_activity.py:10].

The underscore convention marks it as private/internal. Doc generators respect this and won't try to generate a cross-reference link for it — they'll render it as plain text instead.

before

TModel = TypeVar("TModel")

def as_model(self, model: Type[TModel]) -> Optional[TModel]:

after

_TModel = TypeVar("_TModel")

def as_model(self, model: Type[_TModel]) -> Optional[_TModel]:

This is also the standard Python convention — TypeVars that aren't part of a public generic API (e.g., on a public generic class) should always be underscore-prefixed.

Contributor guide

Open the contributing guide

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.