Skip to content

refactor: shift private dataset sharing to separate private collections - #9513

Open
rasswanth-s wants to merge 5 commits into
devfrom
rasswanth/optimize-memory
Open

rasswanth-s wants to merge 5 commits into
devfrom
rasswanth/optimize-memory

Conversation

@rasswanth-s

Copy link
Copy Markdown
Collaborator

Summary

Changes

Testing

Asana task


PR naming convention

Your PR title must follow this format or merging will be blocked:

type: short description in lowercase

Example titles:

  • feat: add retry logic to job approval
  • fix: handle timeout in notification sender
  • docs: update syft-bg README
  • chore: bump dependencies
  • refactor: split init flow into helpers
  • test: add criteria validation tests
  • ci: add release train workflow

Allowed types:

Type When to use Example
feat New feature or capability feat: add DS rejection emails
fix Bug fix fix: handle empty peer list
docs Documentation only docs: update syft-bg README
chore Maintenance, deps, config chore: bump dependencies
refactor Code restructuring (no behavior change) refactor: split init flow
test Adding or updating tests test: add approval criteria tests
ci CI/CD workflow changes ci: add release train workflow
perf Performance improvement perf: cache Drive API responses
build Build system or dependency changes build: pin syft-bg>=0.2.0

Just edit the PR title to fix any errors — the check re-runs automatically.

Auto-labeling

Labels are applied automatically — you don't need to add them manually:

  • Type labels from your PR title (e.g., feat: adds feature, fix: adds bugfix)
  • Package labels from which files you changed (e.g., editing packages/syft-bg/ adds pkg:syft-bg)

These labels are used to auto-generate categorized release notes.

@rasswanth-s rasswanth-s changed the title Shift Private Dataset Sharing to Separate Private Collections refactor: shift private dataset sharing to separate private collections Sep 11, 2026
rasswanth-s and others added 2 commits September 11, 2026 22:35
A private dataset can hold nested files (an Orbax checkpoint is a directory of
shards), but collections were flat: the upload took only top-level files and
Drive file names cannot contain "/". The enclave therefore received
gemma3_model without its checkpoint directory and setup_model failed with
"Checkpoint ... not found".

- transport: a file's path relative to the collection root is the upload key;
  "/" is encoded into the flat Drive name and decoded on listing/download, so
  flat names are unchanged and nested files land at the same relative path.
- rds: private files are collected recursively (was iterdir on the top level).
- router: temp paths for encrypted copies get their parent directories.
- test: the end-to-end share now includes a nested file and asserts it arrives.
- docs: the two design documents for this change.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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