If value is an empty string it is not matched by either a section or an inverted section.
value = ""
{{#value}}
value is {{value}}
{{/value}}
{{^value}}
value is empty
{{/value}}
will output nothing.
The man page says:
A section will be rendered if it "has a non-false value"
An inverted section "will be rendered if the key doesn't exist, is false, or is an empty list."
An empty string equates to false and therefore the expected behaviour would be for an empty string to be matched by an inverted section.
If value is an empty string it is not matched by either a section or an inverted section.
value = ""
{{#value}}
value is {{value}}
{{/value}}
{{^value}}
value is empty
{{/value}}
will output nothing.
The man page says:
A section will be rendered if it "has a non-false value"
An inverted section "will be rendered if the key doesn't exist, is false, or is an empty list."
An empty string equates to false and therefore the expected behaviour would be for an empty string to be matched by an inverted section.