mode: "local" and lists the S3 variables as
missing — information, not a fault.
Local directory (default)
Files land under the runtime root:
All three are resolved against
RUNTIME_ROOT when they are relative — a single
setting moves everything the server writes to disk.
S3, or any S3-compatible storage
The capability flips to
mode: "s3" only when all six are set: a bucket
without credentials would fail on the first upload, which is exactly the
failure this checklist exists to prevent.
S3 keys keep their own namespace (uploads/{agent}/{file}); RUNTIME_ROOT and
the directory settings do not affect them.
Check
Import a CSV under BI → Data. In local mode the file appears underbi_store; in S3 mode it appears in the bucket, and the banner about the local
directory disappears from the screen.