Source
Mythos discovery + validator run on meld-core/src/merger.rs (PR #96 pipeline).
Validator verdict: not-confirmed — real quirk but not safety-relevant.
Symptom
`compare_version("0.2.99-rc1", "0.2.0")` returns `Ordering::Less` because `filter_map(parse::)` silently drops the non-numeric "99-rc1" segment, parsing the first as `[0, 2]` which sorts before `[0, 2, 0]`.
Why it's not urgent
Shipped WASI components always use canonical numeric triples like `wasi:io/error@0.2.6` — wit-component emits these without pre-release suffixes. And `normalize_wasi_module_name` strips `@version` before dedup, so `best_module_version` only selects a display label among already-equivalent imports.
Why to still track it
If we ever start ingesting WASI-nightly components or custom interface versions with pre-release tags, the bug becomes real: meld would emit the older version string as "best." Cheap to fix (full semver comparison or reject non-canonical versions).
Fix sketch
Either (a) use a proper semver comparator, or (b) reject inputs whose `@VERSION` contains non-digit/non-dot characters.
Related
Source
Mythos discovery + validator run on meld-core/src/merger.rs (PR #96 pipeline).
Validator verdict: not-confirmed — real quirk but not safety-relevant.
Symptom
`compare_version("0.2.99-rc1", "0.2.0")` returns `Ordering::Less` because `filter_map(parse::)` silently drops the non-numeric "99-rc1" segment, parsing the first as `[0, 2]` which sorts before `[0, 2, 0]`.
Why it's not urgent
Shipped WASI components always use canonical numeric triples like `wasi:io/error@0.2.6` — wit-component emits these without pre-release suffixes. And `normalize_wasi_module_name` strips `@version` before dedup, so `best_module_version` only selects a display label among already-equivalent imports.
Why to still track it
If we ever start ingesting WASI-nightly components or custom interface versions with pre-release tags, the bug becomes real: meld would emit the older version string as "best." Cheap to fix (full semver comparison or reject non-canonical versions).
Fix sketch
Either (a) use a proper semver comparator, or (b) reject inputs whose `@VERSION` contains non-digit/non-dot characters.
Related