# RESOLVED — 0107: forward alias binds to flat-import same-name type during initial scanDecls **Root cause:** `selectNominalLeaf` checked flat-import authors (`flatTypeAuthorCount`) before checking whether the querying module's own `const_decl` for the same name was still pending. When both a flat import AND a namespaced import exported `B :: u8`, and the own module had `A :: B; B :: u64;` (B declared after A), the flat import's `u8` was returned as `.resolved` before the own `B :: u64` was processed — binding A to `u8` and silently truncating values. **Symptom:** `x : A = 300` printed `44` (u8 truncation of 300) when both imports had `B :: u8`. The namespaced import alone was not sufficient; both flat AND namespaced were required. **Fix:** Added `ownConstDeclIsPendingAlias(from, name)` check between the own-alias check and the flat-import walk in `selectNominalLeaf`. If the querying module has an own `const_decl` for `name` that is not yet in `type_aliases_by_source`, return `.pending` — deferring to the forward-alias fixpoint instead of accepting a flat import's version. **Regression test:** `examples/0830-modules-flat-ns-same-name-forward-alias.sx` (exit 0, prints 300 — the u64 value, not the u8 truncation). **Fix in:** `src/ir/lower.zig` — `selectNominalLeaf` + new `ownConstDeclIsPendingAlias`.