Skip to content

Project name strips non-ASCII (CJK) characters from path, resulting in truncated/unrecognizable names #571

Open

Description

@XX888QM

Bug Description

When indexing a project with a path containing non-ASCII characters (e.g. Chinese/CJK), the generated project name strips all non-ASCII characters and only retains the ASCII portions of the path.

Steps to Reproduce

  1. Have a project at a path containing Chinese characters, e.g.:
    /Users/yunxin/Desktop/开发/后端/信租风控通后端
  2. Run index_repository on this path
  3. The generated project name becomes Users-yunxin-Desktop — all Chinese segments are silently dropped

Expected Behavior

The project name should either:

  • Preserve Unicode characters as-is: Users-yunxin-Desktop-开发-后端-信租风控通后端
  • Or percent-encode them: Users-yunxin-Desktop-%E5%BC%80%E5%8F%91-...
  • Or allow users to provide a custom name parameter in index_repository to override the auto-generated name

Actual Behavior

All non-ASCII path segments are stripped. For the path above, the result is just Users-yunxin-Desktop, losing all meaningful project identification.

Impact

  • Duplicate entries in the UI when the same project is indexed via both its real path and a symlink with an ASCII name
  • Project names are meaningless for users with non-ASCII (Chinese, Japanese, Korean, etc.) directory structures
  • No way to distinguish between multiple projects under the same ASCII-only parent path

Environment

  • codebase-memory-mcp v0.8.1
  • macOS (Apple Silicon)
  • Project path with Chinese characters

Activity

  1. added
    bugSomething isn't working
    ux/behaviorDisplay bugs, docs, adoption UX
    on Jun 23, 2026
  2. DeusData commented on Jun 23, 2026

    @DeusData
    Owner

    Confirmed bug — the project-name slug shouldn't be dropping non-ASCII path segments; for a path like yours that erases all meaningful identification and collides with a symlinked ASCII path. Labeling bug / ux/behavior.

    Two parts to the fix: preserve Unicode (or percent-encode) in the auto-generated slug, and — independently useful — honor an explicit name override in index_repository so users can pin a readable name. Thanks for the clear repro.

  3. mvanhorn commented on Jun 25, 2026

    @mvanhorn
    Contributor

    Implemented in #624

  4. added a commit that references this issue on Jun 25, 2026
  5. DeusData commented on Jun 28, 2026

    @DeusData
    Owner

    This issue now has a first-class, durable reproduction in the cumulative bug-reproduction suite landing in #667 — a test that pins the exact failing behaviour, so it's tracked and guarded against silent regression. Where #667 also lands the root-cause fix, that's called out in the PR; otherwise the reproduction makes the eventual fix straightforward and verifiable.

    The reproduction goes live once #667 merges. (Posted from the release branch's QA pass.)

  6. added
    priority/normalStandard review queue; useful PR with ordinary maintainer urgency.
    on Jun 30, 2026
  7. added
    awaiting-reporterWaiting on the reporter for info/repro; stale bot will warn then close
    on Jul 8, 2026
  8. github-actions commented on Jul 8, 2026

    @github-actions

    Thanks for the report! To move this forward we need a bit more so we can reproduce it ourselves:

    • the codebase-memory-mcp --version you're on
    • the exact steps or command you ran
    • a public repo (or a small dummy snippet) that shows the problem — please don't paste proprietary code

    Once that's here we'll pick it straight back up. Heads-up: issues left awaiting-reporter are automatically closed after a few weeks of silence, but a comment reopens the door anytime.

  9. DeusData commented on Jul 8, 2026

    @DeusData
    Owner

    v0.9.0 includes non-ASCII path and project-name support. Could you retest the CJK project-name case on v0.9.0 and confirm whether the project identity is now preserved correctly? Marking awaiting-reporter.

  10. added this to the 0.9.1-rc milestone on Jul 8, 2026
  11. github-actions commented on Jul 30, 2026

    @github-actions

    This issue has been waiting on more information for 21 days (a version, exact steps, or a public repro), so it's now marked stale. It will be closed in 14 days if there's no update — just add a comment to keep it open. We're happy to pick it back up the moment we can reproduce it.

  12. added
    staleNo activity after an info request; will be closed soon
    on Jul 30, 2026
  13. added
    priority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.
    and removed
    priority/normalStandard review queue; useful PR with ordinary maintainer urgency.
    on Sep 5, 2026
  14. removed
    staleNo activity after an info request; will be closed soon
    on Sep 6, 2026
  15. github-actions commented on Sep 27, 2026

    @github-actions

    This issue has been waiting on more information for 21 days (a version, exact steps, or a public repro), so it's now marked stale. It will not be closed automatically — a maintainer reviews stale issues by hand. Adding a comment with the details clears the label and puts it straight back in the queue. We're happy to pick it back up the moment we can reproduce it.

  16. added
    staleNo activity after an info request; will be closed soon
    on Sep 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    awaiting-reporterWaiting on the reporter for info/repro; stale bot will warn then closebugSomething isn't workingpriority/highNeeds near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker.staleNo activity after an info request; will be closed soonux/behaviorDisplay bugs, docs, adoption UX

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions