Skip to content

Commit acaf86b

Browse files
committed
docs(platform-wallet): correct the failed-load test's coverage claim
`failed_load_releases_persister_for_reconstruct` claimed the end-to-end open -> failed load -> reopen path was "covered by the storage crate's own round-trip coverage test". It is not: `platform-wallet-storage` contains no reference to `PlatformWalletManager` outside README prose, and its `sqlite_second_open_guard` asserts only the storage-side half — that dropping the last `SqlitePersister` handle frees the path claim so a later open succeeds. Nothing composes the two halves. The doc now states what the test actually proves (a strong count back at 1 is the necessary precondition for a clean re-open, not the re-open itself) and why the composed path cannot be driven from this crate: the concrete persister lives in `platform-wallet-storage`, which depends on this one. A TODO marks the real gap on the side that can close it. The stale justification for the omission is also dropped — it cited a dev-dependency cycle, but the operative constraint is simply the direction of the dependency. <sub>🤖 Co-authored by [Claudius the Magnificent](https://github.com/lklimek/claudius) AI Agent</sub>
1 parent 16afd79 commit acaf86b

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

  • packages/rs-platform-wallet/src/manager

packages/rs-platform-wallet/src/manager/load.rs

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -471,15 +471,16 @@ mod tests {
471471
/// doesn't hit `WalletStorageError::AlreadyOpen` masking the real error
472472
/// (issue #4133).
473473
///
474-
/// This is a **manager-side proxy**, not a full end-to-end proof: it asserts
475-
/// the persister's strong count returns to 1 (the test's own probe) after a
476-
/// failed load + teardown — a lingering adapter clone would keep it above 1
477-
/// — which is the necessary precondition for a clean re-open. It does not
478-
/// itself open a real `SqlitePersister`, fail, and re-open on the same path;
479-
/// the platform-wallet ⇄ platform-wallet-storage dev-dependency cycle
480-
/// precludes using the concrete persister here. That end-to-end
481-
/// open → fail → reopen is covered by the storage crate's own round-trip
482-
/// coverage test.
474+
/// This is a **manager-side proxy**, not an end-to-end proof: a strong count
475+
/// back at 1 (the test's own probe) after a failed load + teardown is the
476+
/// necessary precondition for a clean re-open, not the re-open itself. The
477+
/// concrete `SqlitePersister` lives in `platform-wallet-storage`, which
478+
/// depends on this crate, so only that side can drive the composed path —
479+
/// and its `sqlite_second_open_guard` covers just the other half (dropping
480+
/// the last handle frees the path claim), never building a
481+
/// `PlatformWalletManager`.
482+
// TODO: cover the composed open -> failed load -> reopen from
483+
// platform-wallet-storage; neither side asserts it today.
483484
// Multi-thread: dropping the manager runs upstream's `Drop`, whose
484485
// `ThreadRegistry::shutdown()` asserts a multi-thread runtime.
485486
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]

0 commit comments

Comments
 (0)