Skip to content

(MOT-4059) feat(registry): publish worker discovery tags#512

Open
rohitg00 wants to merge 2 commits into
mainfrom
feat/publish-worker-tags
Open

(MOT-4059) feat(registry): publish worker discovery tags#512
rohitg00 wants to merge 2 commits into
mainfrom
feat/publish-worker-tags

Conversation

@rohitg00

@rohitg00 rohitg00 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • read optional discovery tags from each publishable iii.worker.yaml, normalize them, and include non-empty values in POST /publish
  • add focused search aliases to 42 registry-published workers while leaving acp and lsp untagged because they opt out of registry publishing
  • validate tag shape in PR checks and cover payload normalization, omission, and error cases

Blocked by

Test plan

  • .github/scripts/tests: 117 passed
  • Ruff checks for changed Python scripts
  • all 42 tagged publishable manifests parse with lowercase, unique string tags

Fixes MOT-4059

Summary by CodeRabbit

  • New Features

    • Worker metadata now supports optional tags for improved categorization and discovery.
    • Tags are normalized by trimming whitespace, converting to lowercase, and removing duplicates.
    • Normalized tags are included in published metadata when present.
  • Bug Fixes

    • Invalid tag formats are now rejected with clear validation errors.
  • Documentation

    • Added guidance describing tag usage and processing behavior.

@vercel

vercel Bot commented Jul 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
workers Ready Ready Preview, Comment Jul 17, 2026 9:22am
workers-tech-spec Ready Ready Preview, Comment Jul 17, 2026 9:22am

Request Review

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

skill-check — worker

0 verified, 45 skipped (no docs/).

Layer Result
structure
vale
ai
render

Four for four. Nicely done.

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b61f0b06-5d2a-4311-a254-68f74b88ddf7

📥 Commits

Reviewing files that changed from the base of the PR and between 872785d and 3a22324.

📒 Files selected for processing (49)
  • .github/scripts/build_publish_payload.py
  • .github/scripts/tests/test_build_publish_payload.py
  • .github/scripts/tests/test_validate_worker.py
  • .github/scripts/validate_worker.py
  • approval-gate/iii.worker.yaml
  • bridge/iii.worker.yaml
  • browser/iii.worker.yaml
  • claude-code/iii.worker.yaml
  • codex/iii.worker.yaml
  • console/iii.worker.yaml
  • context-manager/iii.worker.yaml
  • cron/iii.worker.yaml
  • database/iii.worker.yaml
  • devin/iii.worker.yaml
  • docs/architecture/iii-worker-yaml.md
  • docs/sops/release.md
  • email/iii.worker.yaml
  • grok/iii.worker.yaml
  • harness/iii.worker.yaml
  • hermes/iii.worker.yaml
  • http/iii.worker.yaml
  • iii-directory/iii.worker.yaml
  • image-resize/iii.worker.yaml
  • llm-router/iii.worker.yaml
  • mcp/iii.worker.yaml
  • memory-consolidate/iii.worker.yaml
  • memory/iii.worker.yaml
  • opencode/iii.worker.yaml
  • pi/iii.worker.yaml
  • provider-anthropic/iii.worker.yaml
  • provider-kimi/iii.worker.yaml
  • provider-llamacpp/iii.worker.yaml
  • provider-openai-codex/iii.worker.yaml
  • provider-openai/iii.worker.yaml
  • provider-xai/iii.worker.yaml
  • provider-zai/iii.worker.yaml
  • pubsub/iii.worker.yaml
  • queue/iii.worker.yaml
  • rbac-proxy/iii.worker.yaml
  • scrapling/iii.worker.yaml
  • session-manager/iii.worker.yaml
  • shell/iii.worker.yaml
  • slack/iii.worker.yaml
  • state/iii.worker.yaml
  • storage/iii.worker.yaml
  • telegram-bot/iii.worker.yaml
  • web/iii.worker.yaml
  • workflow/iii.worker.yaml
  • worktree/iii.worker.yaml

📝 Walkthrough

Walkthrough

Worker manifests now support optional tags. Validation enforces list-of-string values, publishing normalizes and conditionally emits tags, tests cover valid and invalid cases, documentation describes the contract, and numerous worker manifests add tag metadata.

Changes

Worker tag metadata

Layer / File(s) Summary
Tag contract and validation
.github/scripts/validate_worker.py, .github/scripts/tests/test_validate_worker.py
Worker validation rejects non-list tags and lists containing non-string entries; tests cover both invalid forms.
Payload normalization and documentation
.github/scripts/build_publish_payload.py, .github/scripts/tests/test_build_publish_payload.py, docs/architecture/iii-worker-yaml.md, docs/sops/release.md
Publishing trims, lowercases, deduplicates, and omits empty tags; payload tests and release documentation cover the behavior.
Worker manifest tag adoption
*/iii.worker.yaml
Worker manifests add categorization tags across integration, provider, storage, messaging, and automation workers.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant WorkerManifest
  participant validate_worker
  participant build_payload
  participant RegistryPayload
  WorkerManifest->>validate_worker: provide optional tags
  validate_worker->>validate_worker: validate list and string entries
  WorkerManifest->>build_payload: provide manifest metadata
  build_payload->>build_payload: normalize and deduplicate tags
  build_payload->>RegistryPayload: include non-empty tags
Loading

Suggested reviewers: sergiofilhowz, ytallo

Poem

A rabbit hops through YAML bright,
Tags tucked neatly left and right.
Trimmed and lowercase, clean and small,
The payload carries them all.
“Hop!” says Bun, “the workers know—
Their tidy labels help them grow!”

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: publishing worker discovery tags in the registry.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/publish-worker-tags

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@rohitg00 rohitg00 changed the title feat(registry): publish worker discovery tags (MOT-4059) feat(registry): publish worker discovery tags Jul 16, 2026
@rohitg00
rohitg00 marked this pull request as ready for review July 16, 2026 14:38
@rohitg00

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants