Skip to content

IDNA conformance suite's Go reference is a port of kuri's own engine, not an independent oracle #66

Description

@OmarAlJarrah

The IDNA conformance ratchet (IdnaConformanceTest / IdnaConformanceKnownFailures.kt) is derived by running tools/internal/idnaref — a Go port of kuri's own Idna.domainToAscii — over the WPT corpora, and asserting the live failing set equals that baseline. idnaref's own doc comment says as much: it's "a faithful Go port of kuri's Idna.domainToAscii."

That means a conceptual bug shared between the Kotlin engine and its Go port (e.g. a shared misreading of the UTS-46 algorithm) would reproduce identically in both and pass the ratchet undetected. In practice the exposure is limited: the same test suite also checks every case directly against the WPT corpus itself (a genuinely independent oracle), so this only matters for whatever WPT doesn't exercise.

Proposal: make it explicit in the suite's docs/comments that WPT — not idnaref — is the real independent oracle, and consider optionally cross-checking against a third-party ToASCII implementation (e.g. ICU) in CI for additional confidence beyond WPT's coverage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions