Skip to content

bug(commands): duplicate and conflicting command registrations #105

@akougkas

Description

@akougkas

Problem

Duplicates (same handler, different name):

  • /status → alias for /dashboard (both call showDashboard)
  • /thinking → alias for /reasoning (both call handleReasoningCommand)
  • /settings → alias for /preferences (both call handlePreferencesCommand)

Pi name conflicts (PanCode registers same name as hidden Pi built-in):

  • /settings conflicts with Pi TUI SettingsSelectorComponent
  • /session conflicts with Pi session info
  • /hotkeys conflicts with Pi keyboard shortcuts display

These conflicts only work because shell-overrides.ts hides Pi's built-ins first. If overrides fail or are removed, PanCode's registrations will be silently skipped by Pi's reserved name check.

Marked for removal but still registered (locked decision #7):

  • /preferences
  • /thinking
  • /dispatch-insights
  • /status

Audit Reference

AUDIT-ISSUES.md: C2, C3, C4

Objective

Remove duplicates and resolve naming conflicts.

Deliverables

  • Remove /status registration (use /dashboard only)
  • Remove /thinking registration (use /reasoning only)
  • Remove /dispatch-insights registration
  • Remove /preferences registration (use /settings only)
  • Rename PanCode's /settings to avoid Pi conflict (or document the dependency on shell-overrides)
  • Rename PanCode's /session if shell-overrides removal is planned
  • Update /help to reflect removed commands

Metadata

Metadata

Assignees

No one assigned

    Labels

    auditIssues from command/keybinding auditbugSomething isn't workingcommandsSlash command surface issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions