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
Summary
Design and implement a
forge-lfsprotocol 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-lfsprotocol with$sizeconstraints for binary data. Git LFS pointers in the repo would reference DWN records instead of a centralized LFS server.Design considerations
$sizeconstraints to cap individual blob sizesDependencies
src/lfs.ts)