Skip to content

feat(adapters/msteams): land Microsoft Teams adapter as experimental (needs live-tenant validation) #6

Open

Description

@ThomasK33

Track landing the Microsoft Teams adapter (adapters/msteams) at the experimental tier, per ADR 0007.

Status

A high-quality spike exists as draft PR #4: self-contained (zero core-runtime changes, zero new dependencies), stdlib-only Bot Framework JWT/JWKS verification, versioned opaque thread IDs carrying conversationReference, reuse of internal/ratelimit and the Observer hooks, ~78% statement coverage against a mocked Bot Framework server.

The spike resolved ADR 0007 open question 9 (no msbotbuilder-go; hand-rolled stdlib JWT validation works, no new deps). The remaining 9 of 10 open questions require a live Azure Bot registration + Teams tenant to validate (ack/turn semantics, endorsement behavior on production keys, markdown fidelity, serviceUrl/conversation-id stability, proactive posting prerequisites, aadObjectId stability, etc.). See the 10-point checklist in PR #4.

Path to land

  1. A human with Azure Bot + Teams tenant access runs the live validation checklist from PR Spike: Microsoft Teams Adapter (Bot Framework) (ADR 0007) #4.
  2. Update ADR 0007 → Accepted, recording confirmed findings.
  3. Mark the package experimental in adapters/msteams/doc.go (honest tier labeling).
  4. Undraft PR Spike: Microsoft Teams Adapter (Bot Framework) (ADR 0007) #4, pass CI + @codex review + @codex security review, merge.

Blocked on: live-tenant access (human).


Generated with mux • Model: anthropic:claude-fable-5 • Thinking: xhigh

Activity

  1. ThomasK33 commented on Sep 25, 2026

    @ThomasK33
    MemberAuthor

    Status (09-25): I closed draft PR #4 so it can be reopened later. The spike branch spike/msteams-adapter is kept at 9f9e24c. It is 32 commits behind main, so a revival starts with a rebase. Findings that didn't need a live tenant are in ADR 0007 § Spike Findings.

    This issue is still the entry point. When someone with an Azure Bot registration and a Teams tenant is available, run the live checklist from PR #4, then follow the landing path above. It stays ready-for-human.


    Generated with mux • Model: anthropic:claude-fable-5 • Thinking: xhigh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions