rp-files
Purpose
The single file abstraction of the ecosystem: any module that needs
"files" comes here instead of growing its own table of names and paths.
Keeps metadata, collections, and chunk lists; the bytes themselves live in
block storage, reached through a store service client.
Mental model
File = record (name, extension, collection, owner) + ordered list of chunk
references in block storage. Classification (), materialization,detectType
and persist operate on metadata — bytes are lifted only when really needed
(model staging, download serving).
Ecosystem value
The entry point of file intake:
- Files, chunks, collections and metadata behind one API; chunk bytes delegated to block storage.
- Any domain binds an opaque file id to its entity instead of copying bytes around.
Non-goals
- Not raw block storage — chunk bytes live in the block store.
- Not archive unpacking or model conversion.
Responsibility boundary
Owns file records, collections and chunk-list lifecycle; does not own
object storage implementation details or byte transformations.
Direct module dependencies
- None — chunk bytes go through a store service client, which is a transport
call like any external consumer makes, not a module-to-module link.
rp-files keeps names, collections and the chunk list; it stores no data.
Solution membership
requests
Source
modules/repositories/data/rp-files