Skip to content

Extract cloud object persistence logic to other crates.#11179

Open
vorporeal wants to merge 1 commit into
david/extract-cloud-object-clientfrom
david/extract-cloud-object-persistence
Open

Extract cloud object persistence logic to other crates.#11179
vorporeal wants to merge 1 commit into
david/extract-cloud-object-clientfrom
david/extract-cloud-object-persistence

Conversation

@vorporeal
Copy link
Copy Markdown
Contributor

@vorporeal vorporeal commented May 18, 2026

Description

Pulls cloud-object SQLite persistence out of the warp app crate so Diesel-heavy persistence code can live in smaller, purpose-specific crates while preserving a path toward future model verticalization.

  • Adds cloud_object_persistence for shared cloud-object persistence infrastructure, including metadata/permissions helpers, refresh scheduling, guest/link-sharing encoding, callback-based upsert/delete primitives, and generic string object table access.
  • Moves notebook, workflow, folder, and generic-string model persistence adapters under their corresponding cloud_object_models modules so model-specific persistence can move with those models later.
  • Removes warp_server_client::persistence as a compatibility home and updates imports to use cloud_object_persistence directly.
  • Keeps app/src/persistence/sqlite.rs focused on app persistence orchestration and app-local object action conversion.
  • Adds crate-level docs for the cloud-object crates to document their intended scopes and dependency boundaries.

Testing

  • cargo fmt --manifest-path /Users/david/src/warp/Cargo.toml --all
  • cargo check --manifest-path /Users/david/src/warp/Cargo.toml -p cloud_object_persistence
  • cargo check --manifest-path /Users/david/src/warp/Cargo.toml -p cloud_object_models --tests
  • cargo check --manifest-path /Users/david/src/warp/Cargo.toml -p warp --tests
  • cargo nextest run --manifest-path /Users/david/src/warp/Cargo.toml -p cloud_object_persistence
  • cargo check --manifest-path /Users/david/src/warp/Cargo.toml -p cloud_objects -p cloud_object_models -p cloud_object_persistence
  • cargo check -p warp

Not manually tested; this is an internal persistence refactor with no expected user-visible behavior changes.

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

CHANGELOG-NONE

Co-Authored-By: Oz oz-agent@warp.dev

Copy link
Copy Markdown
Contributor Author

vorporeal commented May 18, 2026

@vorporeal vorporeal force-pushed the david/extract-cloud-object-persistence branch from 331d1ff to 2d10540 Compare May 18, 2026 14:52
@vorporeal vorporeal force-pushed the david/extract-cloud-object-client branch from 4a71dee to 06b3f2e Compare May 18, 2026 14:53
@vorporeal vorporeal force-pushed the david/extract-cloud-object-persistence branch 2 times, most recently from d39d8e7 to e22e7af Compare May 19, 2026 18:43
@vorporeal vorporeal force-pushed the david/extract-cloud-object-client branch from a241a1f to 705fc1d Compare May 19, 2026 18:43
@vorporeal vorporeal requested a review from bnavetta May 20, 2026 15:30
@vorporeal vorporeal marked this pull request as ready for review May 20, 2026 15:30
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 20, 2026

@vorporeal

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR extracts cloud-object SQLite persistence into a new cloud_object_persistence crate and moves model-specific persistence adapters into cloud_object_models, while updating the app and server-client crates to use the new boundaries.

Concerns

  • No blocking correctness, security, or spec-alignment concerns found in the reviewed diff.
  • No approved spec context was available for comparison.

Verdict

Found: 0 critical, 0 important, 0 suggestions

Approve

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@vorporeal vorporeal force-pushed the david/extract-cloud-object-persistence branch from e22e7af to dd218ee Compare May 20, 2026 15:56
@vorporeal vorporeal force-pushed the david/extract-cloud-object-client branch from b9503ba to 7744b13 Compare May 21, 2026 14:59
@vorporeal vorporeal force-pushed the david/extract-cloud-object-persistence branch from dd218ee to b82656e Compare May 21, 2026 14:59
@vorporeal vorporeal force-pushed the david/extract-cloud-object-client branch from 7744b13 to 9185c98 Compare May 21, 2026 16:47
@vorporeal vorporeal force-pushed the david/extract-cloud-object-persistence branch from b82656e to 01cd413 Compare May 21, 2026 16:47
@vorporeal vorporeal force-pushed the david/extract-cloud-object-persistence branch from 01cd413 to 2ac0201 Compare May 22, 2026 18:51
@vorporeal vorporeal force-pushed the david/extract-cloud-object-client branch from 9185c98 to e7f14b5 Compare May 22, 2026 18:51
@vorporeal vorporeal force-pushed the david/extract-cloud-object-client branch from e7f14b5 to 8141bbe Compare May 22, 2026 18:53
@vorporeal vorporeal force-pushed the david/extract-cloud-object-persistence branch from 2ac0201 to 4898933 Compare May 22, 2026 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant