Skip to content

feat(teams-pipeline): add plugin runtime and operator cli#21410

Closed
dlkakbs wants to merge 11 commits into
NousResearch:mainfrom
dlkakbs:pr/teams-pipeline-plugin-runtime
Closed

feat(teams-pipeline): add plugin runtime and operator cli#21410
dlkakbs wants to merge 11 commits into
NousResearch:mainfrom
dlkakbs:pr/teams-pipeline-plugin-runtime

Conversation

@dlkakbs

@dlkakbs dlkakbs commented May 7, 2026

Copy link
Copy Markdown
Contributor

References PR #19815.

This is the third part of the Microsoft Teams meeting pipeline stack, split out in response to maintainer review on the original PR.

This slice is intentionally scoped to:

  • the Teams pipeline plugin runtime
  • operator CLI registration and validation
  • pipeline job creation, persistence, and subscription management
  • webhook ingress wiring into the plugin runtime
  • runtime safeguards for CLI registration and bounded dedupe behavior

This follows the maintainer review direction to keep the Teams meeting pipeline on the plugin/CLI/skill path rather than introducing a separate hardcoded core surface.

The goal here is to land the pipeline runtime layer before outbound Teams delivery and the docs follow-up PRs in the stack.

Review and merge in stack order.

@alt-glitch alt-glitch added type/feature New feature or request comp/plugins Plugin system and bundled plugins comp/cli CLI entry point, hermes_cli/, setup wizard P3 Low — cosmetic, nice to have labels May 7, 2026
@dlkakbs dlkakbs marked this pull request as draft May 7, 2026 16:31
@dlkakbs dlkakbs marked this pull request as ready for review May 7, 2026 21:03
@dlkakbs dlkakbs force-pushed the pr/teams-pipeline-plugin-runtime branch from d923b43 to 7f3fbed Compare May 7, 2026 21:57
@teknium1

teknium1 commented May 8, 2026

Copy link
Copy Markdown
Contributor

Leaving the same note on the other PRs in the stack for visibility.

Could you retarget this PR's base branch so diffs are incremental instead of cumulative? Full detail in #21408 (comment) but tl;dr:

gh pr edit <N> --base <branch> does it in place — no close/reopen, comments and CI preserved. GitHub auto-retargets up the stack as each one merges.

Planning to review bottom-up from #21408. Thanks.

@teknium1

teknium1 commented May 8, 2026

Copy link
Copy Markdown
Contributor

Merged via PR #22007. Your commit feat(teams-pipeline): add plugin runtime and operator cli landed on main with your authorship preserved via rebase-merge — see commit 07bbd9333.

One follow-up added on top during salvage:

fix(teams-pipeline): drop-scheduler fallback + test wiring for enablement gate

  1. Drop-scheduler on runtime build failure. Previously when build_pipeline_runtime() raised (missing Graph env, bad store path, etc.), bind_gateway_runtime left the msgraph_webhook adapter with no scheduler. Graph notifications would then fall through to the adapter's default handle_message, which manufactures a raw-JSON user message on every Graph retry. Now a no-op drop-scheduler is installed so notifications ack cleanly (202), the failure is logged once, and no synthetic messages get generated. The adapter stays bindable later once config is fixed.

  2. Test wiring: two of the happy-path runner-wiring tests monkeypatched bind_gateway_runtime but not _load_gateway_config, so in the hermetic test env the real config read ran, saw no enabled plugins, and short-circuited the bind call. Added the config monkeypatch. Also renamed test_bind_gateway_runtime_leaves_scheduler_unchanged_on_failuretest_bind_gateway_runtime_installs_drop_scheduler_on_failure and updated its assertion — it contradicted your own test_bind_gateway_runtime_drops_notifications_when_unavailable; both tests now consistently verify the drop-scheduler is installed.

Stale-base note: the branch was 142 commits behind main and carried spurious reverts of three unrelated recent main commits on gateway/run.py (_resolve_home_env_var plugin-registry lookup, informative bootstrap error reporting, fallback-provider model logging). Those reverts were discarded during salvage; only the genuine teams_pipeline additions landed. None of your intended work was lost.

Remaining PRs in the stack (#21411 outbound delivery, #21412 full setup docs + runbook + SKILL.md) are next. Thanks!

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

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants