Add a real two-domain CDC bridge to the corpus, fix domain-labeled bools
crates/strata-cli/tests/fixtures/cdc-bridge.strata is a genuine
PulseSync (toggle-flop + 2-flop synchronizer) crossing domains 'a to
'b, marked unsafe(clock_crossing) and checking with zero findings.
Its sibling with the qualifier removed is correctly rejected by
cdc_unbridged_domain_crossing at the real sync0 <- toggle crossing —
a much stronger negative test than the earlier synthetic fixture.
Building it surfaced a real inconsistency: is_bool/is_equality_type
matched TypeKind::Named directly without stripping Stamped domain
labels, while types_equal already treats Stamped transparently
("structural type equality is domain-oblivious"). That made !, &&,
||, ==, !=, and if unusable on any domain-labeled Bool, which is
exactly the control flow a real synchronizer needs. Fixed for
consistency with the documented domain-oblivious equality rule.
Also adds fifo-bug-reset-width.strata, a same-family (UInt/UInt)
width-mismatched reset bug distinct from the existing Bool/UInt
reset-mismatch fixture.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
f2758b4b97versecafe committed on 8/20/2026, 12:21:22 AMparent4ffcb40