rename "shared-manager" role label to "share-manager"#2041
Conversation
There was a problem hiding this comment.
LGTM — all prior review comments (including the critical share_manager/share-manager ROLE_NAME_MAP mismatch) have been addressed.
Extended reasoning...
Overview
The PR renames the role label shared-manager → share-manager across seven files: the KeeperDrive docs (KEEPER_DRIVE_COMMANDS.md), three command modules (display_commands.py, helpers.py, sharing_commands.py), the argparse choices in parsers.py, the role lookup table in keeper_drive/permissions.py, and the matching unit test. It also tidies up a few kd-rndir doc references that still mentioned the removed --inherit / --no-inherit switches.
Security risks
None apparent. This is a label/identifier rename — no auth, crypto, permission-matrix semantics, or wire formats change. The permission integers (3 = SHARED_MANAGER) are unchanged, only the user-facing string label and one ROLE_NAME_MAP key change.
Level of scrutiny
Light-to-moderate. Pure rename PRs look mechanical but the bug hunting pass caught a real regression: the initial diff added 'share_manager': 3 (underscore) to ROLE_NAME_MAP while every argparse parser and _ROLE_NAMES list was using the hyphenated form, which would have broken kd-share-folder -r share-manager, kd-share-record -r share-manager, and (worse) crashed kd-record-permission on every invocation because it eagerly resolves the whole _ROLE_NAMES list before consulting -r. That bug was flagged and fixed in a follow-up commit which now includes both the hyphenated and underscored forms, matching the dual-form convention used by every other multi-word role.
Other factors
The author has resolved all four of my prior inline comments. I verified the current state on disk: permissions.py lines 118-119 contain 'share-manager': 3, and 'share_manager': 3, at the correct column, the markdown table at line 37 is aligned, the broken Rename, recolor folder's color sentence at line 106 is replaced with Rename and recolor a folder in one command, and the stale --inherit references at lines 15 and 79 are gone. Unit tests in test_keeper_drive.py were updated to match the new label.
No description provided.