Relationships
↔ sibling #3149#3220 A log line with a closing brace but no opening brace prints the brace doubled
Opened by zack · 10/9/2026· Shipped 10/9/2026
Problem
Text logged through escapeLogTemplate (src/infrastructure/logging/logger.ts) prints a closing brace doubled whenever the line has no opening brace. escapeLogTemplate doubles both braces, but LogTape only parses a message template that contains an opening brace; a template with none is emitted verbatim, so the doubled closing brace is never collapsed.
Found while triaging swamp-club#3149. Related to closed swamp-club#2453, which covered every brace doubling; this narrower case remains on 20261009.170507.0-sha.d8a46694.
Repro
An extension source file whose deno fmt diff has a line that is only a closing brace, then swamp extension push --dry-run:
[ERR] extension·push: 6 | + methods: {},
[ERR] extension·push: 7 | +}};deno printed line 7 as a single closing brace followed by a semicolon. Lines that also hold an opening brace print correctly.
Directly against LogTape, logger.info(template) gives:
- template of two closing braces only: printed as two closing braces (wrong, expected one)
- template of two opening then two closing braces: printed as one of each (correct)
Affected
Every caller of escapeLogTemplate: streamed process output in process_executor.ts, method_execution_service.ts, and the extension push, info and findings-report renderers.
Expected
A closing brace in logged text prints once, whether or not the line has an opening brace.
Shipped
Click a lifecycle step above to view its details.
Sign in to post a ripple.