# TODO ## high value - [ ] surface Zipline error bodies on failed uploads - right now `curl -fsS` drops the JSON body on HTTP 4xx/5xx, which makes auth/quota/debugging annoyingly blind. - keep non-zero exits, but capture the response body and print the server message when available. - [ ] validate the response shape before printing success output - the script currently assumes the API returns `.files`; if Zipline returns a different success/error shape, users can get empty output with little context. - fail clearly when `.files` is missing or empty. - [ ] add a `--no-env` / `--env-file ` flag - auto-loading `/root/.openclaw/.env` is handy here, but it makes the helper less portable and harder to use in CI or on another machine. - explicit env loading would keep the default convenience while making behavior predictable. ## reliability / test gaps - [ ] add tests for the unhappy paths that matter most - missing file - missing token - missing `jq` in normal mode - server-side upload failure - this script is tiny, so covering the sharp edges will buy more confidence than adding features. - [ ] add a mock assertion that the upload request is formed correctly - current smoke test only checks the printed output. - also assert that `curl` was called with the auth header and multipart `file=@...` field so refactors do not silently break real uploads.