Skip to main content
← Back to list
01Issue
BugShippedSwamp CLIPublic
Assigneesstack72

Relationships

#2890 Server fallback content extraction drops quoted method keys and lists nested objects as methods

Opened by stack72 · 10/1/2026· Shipped 10/1/2026

Summary

When the contentMetadata a client sends with extension push fails validation (for example a model over the 50-method or 30-argument limit), confirm-push falls back to server-side extraction in lib/app/extract-extension-content.ts. That extractor finds methods with the regex at line 337, which has the same two defects as the CLI extractor fixed for swamp-club#2880:

  • quoted method keys such as "list-subscriptions" are skipped, because the key pattern only matches bare identifiers;
  • the pattern ignores brace depth, so an object nested inside a method (checks: { ... }) is listed as a method.

The entry-key pattern at line 400 and the argument pattern at line 314 have the same bare-identifier limit.

Impact

After swamp-club#2880 the CLI sends complete method lists. Any push whose client metadata is rejected still ends up with the incomplete server-extracted list, with only a server-side warning. Because the CLI now lists quoted methods, models near the 50-method limit are more likely to hit this fallback.

Suggested fix

Port the depth-0 entry walker from src/domain/extensions/extension_content_extractor.ts in the swamp repo (extractTopLevelEntries and extractMethodsFromEntries), and accept quoted keys in the argument pattern. Consider surfacing the validation failure to the pushing client instead of only logging it.

02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 6 MORECODE_CONFORMANCE_REVIEW+ 2 MORESESSION_SUMMARIZED

Shipped

10/1/2026, 6:54:19 PM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/1/2026, 4:27:09 PM

Sign in to post a ripple.