Conversation
The skills worker registers functions in two namespaces (skills::* and prompts::*) and the registry rejected the publish with HTTP 422 "functions[4].name: duplicate of functions[0]". Cause: derive_registry_function_name stripped the namespace via rsplit("::", 1)[1], so skills::list, prompts::list, skills::register, prompts::register, etc. all collapsed to the same names.
Default to the full function_id so namespaced ids stay unique. Workers that want a custom short name can still set metadata.registry_name or metadata.name on the function — the priority chain is unchanged.
|
Warning Rate limit exceeded
To keep reviews running without waiting, you can enable usage-based add-on for your organization. This allows additional reviews beyond the hourly cap. Account admins can enable it under billing. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Review rate limit: 0/1 reviews remaining, refill in 31 minutes and 56 seconds.Comment |
Summary
The
skillsv0.1.2 publish (failing job) was rejected by the registry with:skillsregisters functions in two namespaces (skills::*andprompts::*) andderive_registry_function_namewas stripping the namespace viarsplit("::", 1)[1], collapsing distinct function ids onto the same names:skills::listlistprompts::listlistskills::registerregisterprompts::registerregisterskills::unregisterunregisterprompts::unregisterunregisterDefault to the full
function_id, so the registry seesskills::listandprompts::listas distinct. Themetadata.registry_name/metadata.nameoverrides stay first in priority — workers that want a friendly short name can still opt in.Test plan
create-tag.ymlwithworker=skills, bump=patch, tag=nextafter this lands.Build payloadstep shows function entries with names likeskills::list,prompts::register, etc. (no duplicates).POST /publishreturns HTTP 200.