`_resolve_folder_id` in `plugin/src/msgraph/graph.py` (around line 12) does a shallow `GET /me/mailFolders` (top-level only), so `rule-create --move_to_folder` naming a folder nested under Inbox/Archive fails with "No mail folder named …", and it doesn't accept a folder id either. `message-move`'s `_resolve_destination_folder` (graph.py around line 46) already recurses to any depth and accepts an opaque id — the two verbs are inconsistent. Fix: point rule-create's destination resolution at `_resolve_destination_folder` (or the recursive `_folder_name_map`) so rules can file into nested folders and accept ids, matching message-move. This is child 1 of 4 under parent epic issue #17 in this same repo (neilgfoster/msgraph-stdlib).
`_resolve_folder_id` in `plugin/src/msgraph/graph.py` (around line 12) does a shallow `GET /me/mailFolders` (top-level only), so `rule-create --move_to_folder` naming a folder nested under Inbox/Archive fails with "No mail folder named …", and it doesn't accept a folder id either. `message-move`'s `_resolve_destination_folder` (graph.py around line 46) already recurses to any depth and accepts an opaque id — the two verbs are inconsistent. Fix: point rule-create's destination resolution at `_resolve_destination_folder` (or the recursive `_folder_name_map`) so rules can file into nested folders and accept ids, matching message-move. This is child 1 of 4 under parent epic issue #17 in this same repo (neilgfoster/msgraph-stdlib).