Back to Search-quality baseline: prose / conceptual (Phase 1.5, v1.2.0 candidate)

The harness defined per-query "valid" URIs as a tight enumeration: for "actor reentrancy semantics", valid = `apple-docs://swift/actor` OR `swift-evolution://SE-0306` OR `swift-evolution://SE-0327`. Any URI not on the per-query list is counted as not-relevant, even if a human judge would call it useful.

Wins (4 queries where the regex matched a top-3 result):

Query | First match rank | Match
--- | --- | ---
actor reentrancy semantics | 1 | `apple-docs://swift/actor`
structured concurrency | (top-3) | `apple-docs://swift/structured-concurrency`
AsyncSequence iteration | 1 | `apple-docs://swift/asyncsequence`
preference keys SwiftUI | (top-3) | (one of the PreferenceKey variants)

Misses (11 queries where top-3 contained nothing the regex recognised):

Query | What top-3 actually returned
--- | ---
how to make a type Sendable | `appentity`, `systemcoordinator`, `storekit-views`
async let semantics | `withtaskexecutorpreference`, `withtaskgroup` variants
Result Builders proposal | `SE-0373`, `SE-0326`, `SE-0348` (wrong SE numbers)
how does Observable invalidate views | `xcode/analyzing-a-crash-report`, `SE-0373`, `SE-0492`
MainActor isolation | various SwiftUI style protocols
property wrappers Swift | `appintents/parameter-resolution`, `coreml/mlmodel`
Swift macros | `appkit/macros`, `driverkit/driverkit-macros`, `widgetkit/preview-macros`
SwiftUI App lifecycle | `corelocation/supporting-live-updates-in-swiftui`, `nshostingscenerepresentation`
NavigationStack programmatic navigation | `understanding-the-composition-of-navigation-stack`, `navigation`
error handling Swift async | `fileprovider/.../requestdiagnosticcollection`, `contactprovider/contactprovidermanager`
Combine to async/await migration | `SE-0463`, `SE-0458` (Swift evolution proposals but not the expected ones)