How SwiftServe answers
Every verdict is version-pinned, evidence-anchored, and honest about its limits.
Methodology
Two layers. The deterministic layer parses a package's source at a pinned
release tag — never compiling, never guessing — and extracts every public declaration with the
#if os(…) / canImport(…) guards and @available fences
around it. Guard logic is evaluated per platform with three-valued logic: provably present,
provably absent, or honestly indeterminate.
The semantic layer maps those declarations to human capability names ("noise cancellation"). Every claim must anchor to a declaration the deterministic layer confirms — a validator rejects any claim whose symbol, file, line, or platform truth doesn't match the extracted surface. Claims of absence are held to the highest bar: they require an explicit guard or availability fence, never mere silence.
Confidence
No verdict reaches 1.0. Ceilings apply by evidence strength: source guards and symbols rate
highest; indeterminate guards cap at 0.6; README-only claims cap at 0.3 and can only ever say
"unknown". Packages shipping binary xcframeworks cap at 0.8 — the real fence may
live inside the binary, and we say so instead of pretending.
Honest limits (by design)
- Objective-C surface isn't parsed yet — such packages read "not verified", never a fake verdict.
- Macro-generated API is invisible to parsing; affected declarations carry a confidence cap.
- Binary targets hide their platform truth; flagged, capped, noted.
- A verdict is a fact about a pinned version. Packages change — record freshness is shown on every row.
Contribute
Got burned by a feature×platform gap? That story is a record waiting to happen — open an issue with the package, feature, and platform, and it joins the index with your name on the receipt.