milestone 16: behavioral fixes for silent failures, locks, counters and the query log
CI / test (push) Failing after 11s
CI / cross (push) Failing after 25s
CI / docker (push) Failing after 24s
CI / test-aarch64 (push) Failing after 2m22s
CI / frontend (push) Successful in 43s

This commit is contained in:
2026-08-07 01:54:40 +02:00
parent 5802148887
commit 25455e5ae2
31 changed files with 2054 additions and 297 deletions
+3 -1
View File
@@ -1675,7 +1675,9 @@ and the session text disagree, this section wins.
**S1 parsers + wildcard.** `validate` counts labels before the 253-byte length check, so
`TooManyLabels` is reachable. A hosts line with a sink address and no name is `.unsupported`.
`||example.com` without `^` is `.wildcard` with `covers_apex = true`. `detectFormat` treats `$` as a
marker only on non-comment lines; `||`, `@@` and element-hiding separators are matched anchored.
marker only on non-comment lines; `||` and `@@` are matched anchored. Element-hiding separators are
matched positionally since milestone 16 ruling 5: at offset 0 a selector must follow the separator;
past offset 0 a domain-list character must precede it — so a `## Title` banner is not element hiding.
`looksLikeIpLiteral` lives in `parsers.zig` and is shared with `parser_hosts.zig`.
`wildcard.matches` is total on unvalidated input: the label splitter returns null above `max_labels`
and `matches` returns false — no assert, because `parsers.zig` is the S9.3 fuzz root.