chore: sunset legacy storage surfaces (clean slate)#121
Merged
Conversation
The private gateway repo big-bang-sunset the legacy storage shim on 2026-04-28 (#120). The four MCP tools (upload_file, download_file, list_files, delete_file) and CLI 'run402 storage' subcommand in this repo were pointed at routes that now 404. Pre-revenue position is clean slate: delete every reference, no migration tables, no "supersedes" mentions, no redirector stubs. New agents read new docs and discover blob_* in its own terms. - Delete 4 MCP tool handlers + tests; strip imports + registrations from src/index.ts; remove "supersedes upload_file" mentions from the blob_* tool descriptions - Delete cli/lib/storage.mjs + openclaw/scripts/storage.mjs; remove the dispatcher case + HELP entry from cli/cli.mjs - Scrub SKILL.md, README.md, README.zh-CN.md, openclaw/SKILL.md, cli/llms-cli.txt — drop tool-table rows, drop deprecated sections, swap upload_file examples for blob_put. Final grep returns zero - Update sync.test.ts SURFACE + IGNORED_ENDPOINTS; SKILL.test.ts; cli-help.test.mjs; remove storage-targeting cases from cli-integration.test.ts and cli-e2e.test.mjs - Apply REMOVE delta to incremental-deploy spec for the dead "Upload file shows public URL" requirement; mark obsolete carve-outs in active add-run402-sdk change - Bump run402-mcp, run402, @run402/sdk to 1.47.0 Tests: 422 unit + 271 e2e all green. Build clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
upload_file,download_file,list_files,delete_file) and CLIrun402 storagesubcommand were registered but pointed at routes that 404 since the gateway's 2026-04-28 cutover.blob_*in its own terms.run402-mcp,run402,@run402/sdkto 1.47.0 (minor — removal-of-functionality on the existing 1.x line).What's deleted (handlers + CLI module + tests)
src/tools/upload-file.ts,download-file.ts,list-files.ts,delete-file.ts,upload-file.test.tscli/lib/storage.mjs,openclaw/scripts/storage.mjsserver.toolregistrations + section banner fromsrc/index.tsblob_*tool descriptionscase "storage":block + HELP entrycli-integration.test.tsandcli-e2e.test.mjsWhat's scrubbed (docs + tests)
SKILL.md,README.md,README.zh-CN.md,openclaw/SKILL.md,cli/llms-cli.txt— drop tool-table rows, deprecated sections, "Supersedes" callouts; swapupload_fileexamples forblob_put. Final grep returns zero matches.openclaw/SKILL.md"File Storage" REST section was rewritten to document the new direct-to-S3 flow (init → PUT → complete) since that file is curl-style API docs, not a tool list.sync.test.tsSURFACE rows +SDK_BY_CAPABILITYplaceholders removed; legacy endpoints added toIGNORED_ENDPOINTSso the test stays green even while the upstream private-reposite/llms.txtmay still list them.SKILL.test.ts,cli-help.test.mjsupdated.upload_filemention insrc/tools/provision.ts:42success text fixed.OpenSpec
openspec/changes/sunset-legacy-storage-surfaces/(proposal + design + spec delta + tasks). All 35 implementation tasks done; task 7.4 (post-merge archive) deferred.openspec/specs/incremental-deploy/spec.md(the dead "Upload file shows public URL" requirement).openspec/changes/add-run402-sdk/tasks.mdlines 44 and 84.Backend pushback (informational)
The gateway returns Express's default 404 on the retired routes. A structured
HTTP 410 Gonewith{error, sunset_date, moved_to}JSON body would be more useful for any client. Not blocking this PR; flagged indesign.mdfor the gateway team's next sunset.Test plan
npm run build— cleannpm test— 422 unit + 271 e2e tests pass, 0 failopenspec validate sunset-legacy-storage-surfaces— validIGNORED_ENDPOINTSentries🤖 Generated with Claude Code