feat(project-files): add cross-owner copy and bulk transfers
Merged
MZ
3d ago+6127+6127+0123456789012345678901234567890123456789-313-313-012345678901234567890123456789
Summary
- Add independently authorized cross-owner copy, bounded ZIP extraction, recursive downloads, and Markdown snapshot export.
- Part 4 of #8610, rebased onto staging after #9015–#9017 merged. The diff contains only the copy/bulk slice and retains the parent fixes for rendering, provenance, search and retention.
- Keep Project public API/CLI documentation unpublished while preserving runtime contracts and commands. Restore the bulk-download and HEAD acceptance checks deferred from #9017.
Validation
- 29 focused PostgreSQL content and authorization checks passed.
- 41 focused app unit tests and 32 CLI tests passed; scoped TypeScript check passed.
- 23 local app/relay HTTP and browser acceptance checks passed across delivery, rendered archives and cross-owner copy.
- Regenerated API/CLI metadata after synchronization. Hosted CI must validate the new head.
Stack
#9015–#9017 are merged. This PR targets staging; #9019 and #9034 remain downstream and need synchronization after this PR lands.