One workspace-wide store. Every Assistant chat, every Workflow, every run share the same backing files. Stable references. Per-execution folders. Sandbox round-trip.
An asset bag travels with the agent: upload to chat → bagged into ZIP → sandbox extracts → agent edits → results POST back → surfaced as a download. Six phases. Every phase is logged.
Block authors get name, mime, size, sha256 — and never reinvent file plumbing.
Every workflow execution gets its own files folder. Outputs are pinned to the run that produced them.
Symlinks stripped. Filenames sanitized. Single-use OTPs. 50 MB / 20 file caps. Whitelisted extensions.