Skip to content

fix(profiles,kanban): normalize profile IDs for assignees and CLI paths (#18498)#18518

Closed
changchun989 wants to merge 1 commit into
NousResearch:mainfrom
changchun989:fix/kanban-profile-assignee-normalization
Closed

fix(profiles,kanban): normalize profile IDs for assignees and CLI paths (#18498)#18518
changchun989 wants to merge 1 commit into
NousResearch:mainfrom
changchun989:fix/kanban-profile-assignee-normalization

Conversation

@changchun989

Copy link
Copy Markdown
Contributor

Summary

  • Add normalize_profile_name() so profile identifiers are canonical (lowercase on disk; default matched case-insensitively).
  • Route create/delete/rename/export/import, set_active_profile, resolve_profile_env, and wrapper/alias helpers through the canonical id to avoid mixed-case footguns (e.g. treating Default as a new profile).
  • Kanban: canonicalize assignee on task create/assign and in list_tasks(..., assignee=...); _default_spawn passes normalized -p / HERMES_PROFILE so gateway dispatch matches dashboard/title-case labels.

Fixes #18498

Test plan

  • python -m pytest tests/hermes_cli/test_profiles.py tests/hermes_cli/test_kanban_db.py -q -n 0 -o addopts=

- Add normalize_profile_name() for lowercase canonical IDs and Default alias
- Use canonical names in create/delete/rename/export/import/set_active paths
- Canonicalize Kanban assignee on create/assign, list filter, and worker spawn
- Tests for mixed-case assignees and profile resolution (fixes NousResearch#18498)
@alt-glitch alt-glitch added type/bug Something isn't working P2 Medium — degraded but workaround exists comp/cli CLI entry point, hermes_cli/, setup wizard labels May 1, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Related to #18515 — both address #18498. This PR is broader (normalizes profile IDs across profiles.py + kanban_db.py) while #18515 only fixes kanban assign_task.

@alt-glitch

Copy link
Copy Markdown
Collaborator

Related to #18515 — both address #18498.

@teknium1

Copy link
Copy Markdown
Contributor

Closing as already-merged. This PR was salvaged via PR #19700 on May 4 with your commit a31477dab ("fix(profiles): normalize profile IDs for Kanban assignees and lookups") preserved as the committing author. Issue #18498 was closed by that merge.

A small follow-up cleanup landed shortly after as commit ae40fca95 ("fix(profiles): keep validate_profile_name strict; callers normalize first") to keep the validate-vs-normalize separation clean.

Looks like this PR just got left open after the salvage 6 days ago — sorry about that. Thanks @changchun989!
#19700

@teknium1 teknium1 closed this May 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/cli CLI entry point, hermes_cli/, setup wizard P2 Medium — degraded but workaround exists type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Kanban dispatcher fails to claim tasks assigned to "jules" due to case sensitivity in profile validation

3 participants