Skip to content

Allow duplicate display names with unambiguous resolution - #139

Merged
myobie merged 1 commit into
compoundingtech:mainfrom
schickling-assistant:schickling-assistant/2026-07-31-duplicate-display-names
Jul 31, 2026
Merged

Allow duplicate display names with unambiguous resolution#139
myobie merged 1 commit into
compoundingtech:mainfrom
schickling-assistant:schickling-assistant/2026-07-31-duplicate-display-names

Conversation

@schickling-assistant

Copy link
Copy Markdown
Contributor

Why

Display names are mutable presentation metadata, so requiring global uniqueness makes harmless relabeling an identity operation. Stable session IDs already provide the durable identity needed by automation.

Part of compoundingtech/st2#128.

What

  • allow duplicate display names and display-name/stable-ID collisions while preserving stable-ID uniqueness and label validation
  • resolve an exact stable ID first, a unique display name second, and fail closed with candidate IDs when a display name is ambiguous
  • apply the same resolver to every local CLI ref consumer and fabric remote routing
  • document the API, CLI, and on-disk contract

Validation

  • npm run typecheck - pass
  • npm run build - pass
  • CI=1 ./node_modules/.bin/vitest run tests/display-name.test.ts tests/remote-fabric.test.ts tests/up-name-decouple.test.ts - 59/59 pass
  • CI=1 npm test - 1,471 pass, 20 skip, 4 unrelated environment failures: zsh is absent; Vim resolves to Neovim 0.12.3 and Nano 9.0 renders different text than the screenshot expectations
  • npm run verify-docs - 12/13 pass; the Vim example hits the same Neovim text mismatch

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.

2 participants