Relationships
#2900 Tell the pushing client when its extension contentMetadata fails validation
Opened by stack72 · 10/1/2026
Summary
When the contentMetadata a client sends with swamp extension push fails validateContentMetadata (for example a model over the 50-method or 30-argument limit), confirm-push silently falls back to server-side extraction (lib/app/confirm-push.ts). The only trace is a server-side warning log: "Client contentMetadata failed validation, falling back to server extraction". The publisher never learns their metadata was rejected or why.
Proposal
- Add an optional warnings field to the confirm response (
ConfirmPushResult/routes/api/v1/extensions/confirm.ts) carrying the validation error when the fallback ran. - Have the swamp CLI print that warning after a successful push, so the publisher knows the registry listing came from server extraction and which limit they hit.
Context
Split out of swamp-club#2890, which fixes the server fallback extractor itself (quoted method keys, nested objects listed as methods). With #2890 the fallback output is correct, but the client still gets no signal that its own metadata was discarded.
Open
No activity in this phase yet.
system commented 10/1/2026, 4:52:19 PM
Classified automatically when this issue was filed.
- Source: Swamp Club
If you feel this classification is incorrect, add a ripple to tell us so.
stack72 commented 10/1/2026, 6:30:11 PM
The server half of this landed in swamp-club PR #1276 (for swamp-club#2890): the extension confirm response now carries a warnings array when the client's contentMetadata was rejected by validation (with the reason, e.g. "contentMetadata.models[0].methods exceeds limit of 50") or dropped for exceeding 2 MB. The key is absent on a clean confirm.
Still open here: the swamp CLI should read warnings from the confirm response in src/infrastructure/http/extension_api_client.ts (confirmPush currently returns named fields only) and print it after a successful push.
Sign in to post a ripple.