## Why Jobs and logs now have separate run-platform channels, but large files still only exist as artifact metadata or opaque result references. This change adds the first artifact transfer channel so run can upload and resume bounded file chunks with checksum verification without blocking control, job, or log traffic. ## What Changes - Add typed run artifact transfer protocol payloads for transfer creation, chunk upload, resume status, and completion acknowledgements. - Add platform API routes that create artifact transfer sessions, accept bounded chunks, validate sequence/order/checksums, report resume state, and complete verified artifacts. - Extend platform service behavior to store chunk state in memory, update existing artifact metadata, and keep artifact transfer traffic separate from control, job, and log workflows. - Add a run-side local artifact transfer queue/spool abstraction that records pending chunk manifests and removes chunks only after platform acknowledgement. - Extend the run-side platform client with typed artifact transfer methods. - Add platform service/API tests and run queue/client tests covering chunk resume, checksum failures, completion validation, retry cleanup, and channel isolation assumptions. ## Capabilities ### New Capabilities - `artifact-transfer-channel`: Chunked and resumable run-to-platform artifact transfer, checksum validation, local retry retention, and transfer completion workflow. ### Modified Capabilities - None. ## Impact - Affects `platform/` and `run/` only. - Adds Go protocol/DTO/domain/service/API/queue code and tests for artifact transfer. - Updates run/platform protocol and route documentation. - Does not implement browser upload/download UI, external object storage backends, plugin bridge file access, AI artifact inspection, billing, cloud host sales, or direct plugin/run access.