The separate payload and checked-semantic transfer operations (#494/#500) are prerequisites to #480/#487 but currently commit independently. A metadata failure must not leave a partially published imported owner in the destination. Real source-owner/node references also need a production registry rather than the test-only mapping used by the last compiled-source regression.
Add staged payload transfer with explicit commit/cancel, then a combined owner-scoped payload+metadata operation that rolls both back on failure. Keep existing canonical keys and enum identities intact. Add a source-owner registry that resolves declaration handles to actual HIR/text, gives distinct revisions distinct identities, rejects stale owners, and rolls back newly allocated provenance handles if owner import fails. Interned string capacity may remain caller-owned; no partial types, semantic record, or declaration mapping may be published.
Exercise cancellation, exhaustive allocation failures including failures after payload preparation, metadata key collisions, source invalidation/re-registration, and independent compiled declarations through the production APIs. Keep the graph, global, and imported-owner audits failing until actual program resolution uses these records correctly; no source concatenation, fake HIR nodes, or blind merging of owner-specific metadata.