fix(scaffolde): migrate Gmail capability identity - #56
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eb217cdc21
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if cid in _RETIRED_CAPABILITY_IDS: | ||
| errors.append(_err("retired_capability", f"capability id is retired: {cid}", cid)) |
There was a problem hiding this comment.
Keep legacy descriptors valid during the consumer-first rollout
When an existing installation still has the previously supported scaffolde.gmail.pai descriptor, this new validation error makes the registry degraded; invoke_capability() then returns capability_degraded before looking up any operation, and the capability prompt is omitted. Because this commit is intended to land before the coordinated producer migration, upgrading Hermes immediately disables Gmail for every installation whose producer has not yet rewritten the registry. Accept or translate the legacy ID during the transition, and retire it only after producers have migrated.
Useful? React with 👍 / 👎.
Summary
scaffolde.gmailcapability identityscaffolde.gmail.paidescriptorsunknown_capabilityagainst a valid new registryVerification
scripts/run_tests.sh tests/tools/test_scaffolde_capability_tool.py -q— 17 passedLanding order
Consumer-first prerequisite for the coordinated Scaffolde producer migration.