You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
copyStack(from, to) reads its source only through methods every adapter has, so an APIAdapter opened as the owner should work as a source. Nothing tests that. Over the wire the source pages queryRecords, getVersions and getJournal, and filters soft-deleted and unlisted Records by ownership. That is the path most likely to drift from what local adapters do. The in-repo tests can only mock fetch. The server lives in a separate repo, which is several versions behind core.
Direction
When the server catches up, run runCopyConformance()'s round trip with an APIAdapter source: write a stack through the server, copy it into a LocalAdapter, and assert it's unchanged.
That covers soft-deleted and unlisted Records, full version and journal history (including the permission half of journal entries), Types, and attachment bytes.
Scope update from #470: copyStack() now requires its source to have listBlobs(), and copies blobs only as the store lists them. APIAdapter has no listBlobs() because the wire has no endpoint that lists blobs, so copying out of a server-backed stack is currently refused with InvalidAdapterError.
So this issue also needs:
A wire endpoint that lists a stack's blobs to its owner (it may belong with A hosted stack's owner can copy it out over the wire #427's export endpoint), and APIAdapter.listBlobs() on top of it, with its conformance fixtures and spec.
Only after that can the round-trip test with a server-backed source run.
Activity
cuibonobo commentedon Oct 24, 2026
Scope update from #470:
copyStack()now requires its source to havelistBlobs(), and copies blobs only as the store lists them.APIAdapterhas nolistBlobs()because the wire has no endpoint that lists blobs, so copying out of a server-backed stack is currently refused withInvalidAdapterError.So this issue also needs:
APIAdapter.listBlobs()on top of it, with its conformance fixtures and spec.Only after that can the round-trip test with a server-backed source run.
Generated by Claude Code