Skip to content

fix(index): preserve namespace package identity (0.0.46) - #29

Merged
Sunrisepeak merged 1 commit into
mainfrom
fix/issue381-namespace-identity
Jul 25, 2026
Merged

fix(index): preserve namespace package identity (0.0.46)#29
Sunrisepeak merged 1 commit into
mainfrom
fix/issue381-namespace-identity

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

Summary

  • model package identity as canonical namespace:name while preserving the descriptor package.name as the short lookup token
  • retain same-name packages from different namespaces and reject duplicate effective identities with deterministic descriptor-path diagnostics
  • scope candidates, aliases, versions, search, and merge behavior to canonical identity without changing bare dependency inheritance semantics
  • bump libxpkg to 0.0.46

Root cause

build_index() keyed entries only by package.name (or a repository prefix), so two descriptors with the same short name could overwrite one another based on filesystem scan order. The index also lacked explicit identity and short-name candidate tables needed by xlings to diagnose ambiguity.

Validation

  • mcpp build
  • mcpp test -- --gtest_filter=-ExecutorTest.ApplyElfpatchAuto_* (CI parity: 4 test binaries, 90 tests, 0 failures)
  • verified red/green regression coverage for duplicate effective identity and legacy versioned merge keys
  • git diff --check

Related to openxlings/xlings#381.

@Sunrisepeak
Sunrisepeak marked this pull request as ready for review July 25, 2026 06:11
@Sunrisepeak
Sunrisepeak merged commit 96207e9 into main Jul 25, 2026
1 check passed
@Sunrisepeak
Sunrisepeak deleted the fix/issue381-namespace-identity branch July 25, 2026 06:11
Sunrisepeak added a commit to mcpplibs/mcpp-index that referenced this pull request Jul 25, 2026
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.

1 participant