fix(identity-wallet): address PR review feedback
Critical fixes:
- ClaimSuccessScreen: use plcDoc.did (PLC format) instead of .id (W3C)
- IdentityListHome: push degraded card on inner catch instead of dropping
Important fixes:
- IdentityListHome: show error state when listIdentities() fails
- EmailVerificationScreen: differentiate UNAUTHORIZED from generic errors
- +page.svelte: log Keychain errors in onMount catch block
- CLAUDE.md: correct sign_and_verify_claim signature (did, not device_key_id)
- normalizePlcDocToW3c: fix JSDoc, handle verificationMethods map, use did??id
Code quality (suggestions):
- Extract truncateDid, extractHandle, isCodedError, normalizePlcDocToW3c to
shared did-doc-utils.ts (eliminates duplication across 6 components)
- Remove dead selectedDid state from +page.svelte
- Add console.error in all structured catch blocks for diagnostic trail
- Include error code in default switch messages
- Fix step comment numbering in lib.rs (was 1,2,4,5,6 → now 1,2,3,4,5)
- Fix startPdsAuth JSDoc (resolves promise, not emits event)
- Fix IdentityStoreError TS type (add message to KEYCHAIN/KEY_GEN/SERIALIZATION)
- ClaimSuccessScreen: strip at:// prefix from handle display