You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix-pack(roster-store): conform to AccountStore Protocol + clarify list-last comment
resolve(ref, ctx) didn't match the Protocol on main (resolve(ref, auth_info=None)),
so the framework dispatcher's resolve(ref_dict, auth_info=auth_info) kwarg call
would TypeError before reaching the dict lookup. Mirror the signature from the
existing reference impls (SingletonAccounts / ExplicitAccounts / FromAuthAccounts).
auth_info is unused — the roster IS the allowlist — but the parameter is required
for Protocol parity.
Tests added: isinstance(store, AccountStore) Protocol check, resolve called with
auth_info= as a kwarg (matches dispatcher), resolve called positionally without
auth_info, plus an upsert path for _by_id refs verifying the failed-row shape
conforms to SyncAccountsResultRow.
Reviewer flagged the list-last comment as cargo-cult given from __future__ import
annotations. Investigated: the annotations are lazified at runtime but mypy still
resolves them in class scope, so list-as-method does shadow the builtin for
subsequent annotations. Kept the ordering; rewrote the comment to explain the
actual reason (mypy class-scope lookup, not runtime annotation evaluation).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments