Skip to content

Discuss whether data_product_concept::name_ should use phlex::identifier #1040

Open

Description

@coderabbitai

Summary

Discuss whether phlex::experimental::data_product_concept::name_ should use phlex::identifier instead of std::string const.

The current declaration stores an immutable string name. The name must remain consistent with the concept registry key. This issue requests a design decision, not an immediate type change.

Discussion scope

  • Compare the semantics of phlex::identifier with the requirements for concept names, including validation, equality, ordering, and conversion to display text.
  • Evaluate the effect on the constructor, name() accessor, and registry keys and lookup APIs.
  • Preserve the invariant that a registered concept's name cannot change independently of its registry key.
  • Determine whether consistency with other model identifiers justifies a change and identify any API compatibility implications.

Affected areas

  • phlex/model/data_product_concept.hpp
  • phlex/model/data_product_concept.cpp
  • phlex/model/identifier.hpp
  • phlex/model/data_product_concept_registry.hpp
  • phlex/model/data_product_concept_registry.cpp
  • Associated concept and registry tests, if a change is selected.

Completion criteria

  • Record a decision to retain the string name or adopt phlex::identifier, with rationale.
  • If a change is selected, define the required API, registry, and test updates as follow-up work.

Context

Requested by @knoepfel.

Activity

  1. coderabbitai commented on Nov 4, 2026

    @coderabbitai
    ContributorAuthor
    🔗 Related PRs

    #1001 - feat(model): add data product concept and registry [open]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

discussionWhat choice should we make

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions