Jesús Pérez 0c01da9b14
feat(storage): replace fake SurrealDB backend with real Surreal<Any>
SurrealDBBackend was backed by Arc<RwLock<HashMap>> — no connection to
  SurrealDB whatsoever. Rewrite to a real Surreal<Any> connection:

  - engine::any dispatch: mem:// (embedded, tests) and ws://wss:// (prod)
  - All 11 StorageBackend methods: SurrealQL upsert/select/delete/query
  - Vec<u8> fields base64-encoded; timestamps as RFC3339 UTC strings
  - MVCC write-conflict retry: exponential backoff 5ms→80ms + uniform
    jitter, 5 attempts — resolves SurrealDB optimistic-concurrency errors
    under concurrent load without external locking
  - Mirror ID fields in records to avoid RecordId enum parsing in lists
  - 9 unit tests (mem://, no server) + 19 integration tests with UUID
    database isolation; concurrent coverage: 16 secret + 8 key writers
2026-02-17 21:38:06 +00:00
..
2026-01-11 23:12:38 +00:00

Development Documentation

Documentation for developers building and extending SecretumVault.

Contents