feat(PL-6433): introduce org-local+lock tag#283
Conversation
50269f7 to
ada2bf6
Compare
|
Let's not forget to update the https://github.com/nestoca/catalog/#what-are-the-org-local-tags-in-the-yaml-and-what-do-they-do We probably want a table to explain it. |
ada2bf6 to
dbd0862
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit dbd0862. Configure here.
|
|
||
| func IsLocked(node *yaml.Node) bool { | ||
| return node != nil && node.Tag == "!lock" | ||
| return node != nil && (node.Tag == TagLock || node.Tag == TagOrgLocalPlusLock) |
There was a problem hiding this comment.
Org-local lock becomes TODO merge
High Severity
Treating !org-local+lock as locked via IsLocked makes Merge rewrite those source scalars to TODO before merge (same as !lock), so same-organization promotions no longer copy org-local values into new or missing keys. That diverges from plain !org-local behavior and can leave promoted releases failing locked-TODO validation.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit dbd0862. Configure here.
dbd0862 to
ae1d031
Compare


When we introduced the
!org-localwe didn't fully account that marking a tag as org-local would disallow a user to mark that field as locked for the local org.This PR adds a new tag to combine the concept of locked and org-local.
Note
Low Risk
Small, localized YAML tag and predicate changes with a focused test; no auth or external API surface.
Overview
Adds a new custom YAML tag
!org-local+lockso a field can be both org-scoped and locked for downstream orgs, which!org-localalone could not express.Tag constants in
tags.goreplace inline strings, andCustomTagsnow includes the new tag.IsLockedandIsOrgLocaltreat!org-local+lockas locked and org-local respectively, so existing merge/purge/TODO behavior applies without separate code paths.A merge test confirms same-org merges surface
TODOfor locked values and cross-org merges drop the key like plain!org-local.Reviewed by Cursor Bugbot for commit ae1d031. Bugbot is set up for automated code reviews on this repo. Configure here.