fix(identity-wallet): address code review feedback for Phase 3
- [Critical/AC7.4]: Add async integration test for submit_recovery_override
using httpmock::MockServer. Test verifies that submit_recovery_override
POSTs to plc.directory, fetches updated audit log, fetches updated DID
document, and persists cached PLC log and DID doc to Keychain via
IdentityStore. Test is marked #[ignore] to avoid socket binding in
sandboxed environments.
- [Important]: Add HTTP status check after DID document fetch in
submit_recovery_override. Previously, the code did not check resp.status()
before calling .json(). Now returns NetworkError if status is not success.
- [Important]: Remove stale comment "(in later phases)" from pattern
documentation. Recovery override is now implemented, not deferred.
- [Minor]: Verify IdentityStore error messages are clear. Both store_plc_log
and store_did_doc error handlers already include clear messages:
"Failed to update cached log" and "Failed to update cached DID doc"
with the underlying error, so callers can distinguish Keychain errors
from network errors even though both use NetworkError variant.