Skip to content

forge-lfs protocol for large file storage #25

Description

@LiranCohen

Summary

Design and implement a forge-lfs protocol for storing large binary files in DWN records, providing git-LFS-equivalent functionality.

Context

PLAN.md Section 11.2 describes the approach: a dedicated forge-lfs protocol with $size constraints for binary data. Git LFS pointers in the repo would reference DWN records instead of a centralized LFS server.

Design considerations

  • Protocol with $size constraints to cap individual blob sizes
  • Content-addressable storage (SHA-256 keyed) to enable deduplication
  • Integration with git-LFS client via custom transfer adapter or LFS API shim
  • Bandwidth-friendly: chunked upload/download for large files
  • Access control via the existing role model (repo maintainer/contributor roles)

Dependencies

  • Requires protocol definition (new src/lfs.ts)
  • Requires LFS transfer adapter or API shim
  • May need changes to bundle sync to exclude LFS-tracked files from git bundles

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions