Skip to content

fix(parser): disambiguate canonical enum members - #125

Merged
Teakowa merged 2 commits into
mainfrom
issue-124-disambiguate-enum-members
Aug 29, 2026
Merged

fix(parser): disambiguate canonical enum members#125
Teakowa merged 2 commits into
mainfrom
issue-124-disambiguate-enum-members

Conversation

@e54-bot

@e54-bot e54-bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make parser::parse use the canonical catalog signature context by default.
  • Resolve pinned Visible To and None members to stable canonical WIR identities.
  • Keep unpinned enum ambiguity as an explicit structured Unsupported diagnostic.
  • Document the released parse contract and add pinned oracle regression coverage.

Validation

  • cargo fmt --all --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace --all-targets (270 tests, 24 suites)
  • cargo run --locked -p workshop-rs --bin workshop-catalog-gen -- check
  • git diff --check

Fixes #124

@Teakowa Teakowa left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

crates/workshop-rs/tests/parser.rs: released_parse_contract_resolves_pinned_oracle_members only exercises en-US. #124 explicitly requires the selected canonical identity to be proven locale-independent; the existing zh-CN parser tests cover unrelated domains, so this contract is not protected for the affected ambiguity. Add a direct non-primary-locale regression through the released parser::parse path that resolves the affected member to the same canonical WIR identity.

@Teakowa
Teakowa merged commit d3a5634 into main Aug 29, 2026
4 checks passed
@Teakowa
Teakowa deleted the issue-124-disambiguate-enum-members branch August 29, 2026 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Disambiguate canonical enum members for downstream compiler oracle fixtures

2 participants