How is a Custom DX Component Identity Determined During Publishing?

I would like to understand how Pega determines the identity of a Constellation Custom DX Component when it is published to different ruleset versions.

Scenario

Assume I have a custom DX Component named:

Akhil

Initially, I publish the component to:

Ruleset: ABC
Version: 01-01-01

The component is published successfully

I then lock ABC:01-01-01.

Later, I create a new ruleset version:

ABC:01-01-02

I publish the same Akhil component again, but now target ABC:01-01-02.

After publishing, I observe that the component is available under:

ABC:01-01-02

but the previously published component is no longer available under:

ABC:01-01-01.

Questions

  1. How does Pega determine the unique identity of a Custom DX Component?
    Is the component identity based on:
    • Component name?
    • Component ID?
    • Component type?
    • Rule-UI-Component key?
    • Metadata in config.json / component definition?
    • Some internal identifier maintained by the DX Component publishing service?
  2. Why is the previously published component removed from the older ruleset version?
    Normally in Pega rule versioning, I would expect:
    ABC:01-01-01 → Akhil
    and
    ABC:01-01-02 → Akhil
    with rule resolution selecting the component from the highest applicable ruleset version.
    Instead, publishing the same DX Component into 01-01-02 appears to result in:
    ABC:01-01-01 → Component no longer present
    ABC:01-01-02 → Akhil
  3. Is this expected behavior for Constellation Custom DX Components?
    Does the DX Component publishing mechanism intentionally maintain only one active Rule-UI-Componentinstance for a component across ruleset versions?
  4. How should DX Component versioning be handled?
    If I need to maintain:
    • Version 1 of the component in 01-01-01
    • Version 2 of the component in 01-01-02
  5. what is the recommended approach?
    Should component versioning rely on normal Pega ruleset versioning, or should a new component identity/name be created for each major component version?
  6. What happens during rollback?
    For example:
    01-01-01 → Akhil Component V1
    01-01-02 → Akhil Component V2
    If 01-01-02 introduces an issue and we want to roll back to 01-01-01, how is this expected to work if publishing V2 removed or relocated the component from 01-01-01?

Expected Behaviour

I would expect Custom DX Components to follow standard Pega rule-versioning principles, where the same logical component can exist in multiple ruleset versions and Pega rule resolution selects the appropriate/highest available version.

Could you please clarify whether Custom DX Components are intentionally handled differently, and how **component identity, ruleset versioning.

**
“libraryModeCL”: false,