GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||
GeezerVison is showing github.com — fix(skills): only reject a built-in name collision on an actual rename by waleedlatif1 · Pull Request #6570 · simstudioai/sim Conversation
Collaborator
Stacked on #6569 → #6568 → #6567 → #6565 → #6560. Review only this PR's own commits; merge after its parents. A skill whose existing name matches a built-in returned 400 on every save, with no in-product way out except renaming it. Cause
Reachable from the real client: the skill modal sends Not theoreticalBuilt-in skills shipped in #4923; this guard shipped in #5273. In between, FixThe guard moves to after Layer choice: the shared Side effect: a non-editor attempting a colliding rename now gets 403 rather than 400 — correct, since authorization should precede business validation. Pre-existing issue, not fixed here
Test 1 (unchanged colliding name succeeds) goes red on revert. Tests 2 and 3 are regression guards that pass with and without the fix — proven capable of failing by neutering
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
|
There was an error while loading. Please reload this page.
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
PR SummaryLow Risk Overview In Reviewed by Cursor Bugbot for commit c8007ce. Configure here. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Greptile SummaryThe PR moves built-in skill-name collision validation until after the canonical skill is loaded, allowing existing colliding names to be saved unchanged while continuing to reject actual renames into reserved names.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| apps/sim/lib/skills/orchestration/skill-lifecycle.ts | Restricts built-in-name collision rejection to actual renames after authorization and canonical-row resolution. |
| apps/sim/lib/skills/orchestration/skill-lifecycle.test.ts | Adds focused regression tests for update and create behavior around built-in skill-name collisions. |
Reviews (2): Last reviewed commit: "chore(skills): tidy collision guard clea..." | Re-trigger Greptile
Sorry, something went wrong.
There was an error while loading. Please reload this page.
The built-in-name guard ran on every update that carried a `name`, without comparing it to the skill's current persisted name. Skills created before the guard existed can legitimately carry a built-in's name (they simply shadowed the built-in at read time), and the skill modal always submits the full object including the unchanged name — so every save of such a skill returned 400 with "The skill name ... is reserved by a built-in skill", with no way to fix it short of renaming. Move the guard in `updateSkill` to after the canonical row is loaded and run it only when the submitted name differs from the current one. Creating a skill with a built-in name, and renaming an existing skill into one, are still rejected. The check stays in the shared orchestration primitive because that is the only layer both the internal `/api/skills` adapter (via `performUpdateSkill`) and `updateSkillUseCase` (v2 + Copilot) pass through, and it is where the current name is in hand.
12e43a6 to
5519d45
Compare
322fd4e to
c8007ce
Compare
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@cursor review |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit c8007ce. Configure here.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
fe7fd80
into
improvement/v2-route-standardization
There was an error while loading. Please reload this page.
c8007cec
Deployed
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.