feat(sdk): flows deploy — publish digest to bucket + run from digest (#333) - #337
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 5 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 10b2e48. Configure here.
Session-Id: 01a09169-a0d5-7f72-a5fa-fd26569704aa Session-Id: 01a091df-35ad-7771-a10f-3d4322765694
Session-Id: 01a091df-35ad-7771-a10f-3d4322765694
10b2e48 to
5d409ee
Compare
maintainability lens — FAILMaintainability review — PR #337Blockers
Error-kind laundering in ConcernsTest-file naming collision.
Notes
REVIEW_FAILED |
history lens — PASSBlockers: none. I found no qualifying HISTORY violation in the supplied diff. Notes:
Concerns, nonblocking:
This was a static history review; I did not rerun tests. REVIEW_PASSED |
structure lens — MISSING |
|
🎯 review-swarm: FAILED (M:fail H:pass S:missing) Lens transcripts posted as sibling comments above. |

Closes #333. Deploy content-addressed bundles per SURFACE.md §4 follow-up to #298. Codex agent spec-Adep-flows-deploy on finn-mini; head 10b2e48.
🤖 Generated with Claude Code
Note
Medium Risk
New deploy/run paths verify bundles and gate execution before journal writes, but they change how
flows runresolves inputs and how untrusted bundle directories are validated—worth careful review on tampering, partial deploy, and cache behavior.Overview
Adds the first deployment slice for content-addressed bundles:
flows deploy <name>@sha256:<digest> --to file://…publishes a locally built bundle fromdist/flows/…into<bucket>/<name>/sha256/<digest>/with staged copy, signature verification, and idempotentdeploy_noopwhen the target already matches.flows run <name>@sha256:<digest> [--bucket …]fetches from the bucket (ordeploy.bucketinflows.json), verifies every cache hit under$XDG_CACHE_HOME/flows/bundles/<digest>/, runscheckRunnableBundle(declarative deterministic flows only—no assets, triggers, placement, or authored TS), then submits the sealedspec.canonical.jsonthrough the existing journal path without a checkout.bundle-transport.tscentralizes digest parsing, file-bucket layout, andcopyBundle/fetchBundle.verifyBundleaccepts an optional expected digest for bucket/cache directories. Run refusals gain typed kinds (bucket_unconfigured,bucket_unreachable,bundle_signature_invalid,bundle_unsupported); deploy uses exit 1 fordeploy_partialafter copy starts. SURFACE.md documents the slice and explicitly lists remaining #333 work (S3, triggers, full bundle kinds).Reviewed by Cursor Bugbot for commit 5d409ee. Bugbot is set up for automated code reviews on this repo. Configure here.