Found during testing pass on #96. Test coverage gaps to address as follow-ups:\n\nRuntime delegation paths untested (PlatformRuntimeHost only exercised for feature_supported and navigate_to): get_account, get_account_alias, create_account_proof, get_legacy_accounts, get_user_id, connection_status_subscribe, sign_payload, sign_raw, StatementStore::{subscribe, submit, create_proof}, Preimage::lookup_subscribe, LocalStorage::{read, write, clear}, push_notification, request_remote_permission.\n\nFrame internals untested: id_for_tag, tag_for_id, compose_action, IdFactory::{new, next_id}, FrameKind::{suffix, from_tag}.\n\nWS bridge gaps: token-mismatch end-to-end rejection (handshake 401 path), stop() idempotence, Drop calling stop, AlreadyRunning error, concurrent connections.\n\nSession edge cases: clear-when-empty no-op, dropped-subscriber pruning.\n\nPermissions error paths: storage read failure, corrupt cache entry returns None, prompt callback Err collapses to denial.\n\nCodegen negative paths: multi-param method, non-named-root response, missing trait, subscription with non-named item, missing wire annotations, id overflow.\n\nWasm helpers (currently 0 tests, 700+ LOC): extract pure helpers (get_function, get_optional_function, js_to_string, subscription item-decode) to a non-wasm-gated module so they can be unit-tested.
Found during testing pass on #96. Test coverage gaps to address as follow-ups:\n\nRuntime delegation paths untested (
PlatformRuntimeHostonly exercised forfeature_supportedandnavigate_to):get_account,get_account_alias,create_account_proof,get_legacy_accounts,get_user_id,connection_status_subscribe,sign_payload,sign_raw,StatementStore::{subscribe, submit, create_proof},Preimage::lookup_subscribe,LocalStorage::{read, write, clear},push_notification,request_remote_permission.\n\nFrame internals untested:id_for_tag,tag_for_id,compose_action,IdFactory::{new, next_id},FrameKind::{suffix, from_tag}.\n\nWS bridge gaps: token-mismatch end-to-end rejection (handshake 401 path),stop()idempotence,Dropcallingstop,AlreadyRunningerror, concurrent connections.\n\nSession edge cases: clear-when-empty no-op, dropped-subscriber pruning.\n\nPermissions error paths: storage read failure, corrupt cache entry returns None, prompt callback Err collapses to denial.\n\nCodegen negative paths: multi-param method, non-named-root response, missing trait, subscription with non-named item, missing wire annotations, id overflow.\n\nWasm helpers (currently 0 tests, 700+ LOC): extract pure helpers (get_function,get_optional_function,js_to_string, subscription item-decode) to a non-wasm-gated module so they can be unit-tested.