Skip to content

use_shipped_personas: false with empty personas still loads shipped personas #31

@rosspeili

Description

@rosspeili

Description

In rooms/settings.py, get_default_personas() returns shipped Elena/Viktor/Nyx configs when settings.personas is empty, even if use_shipped_personas is false. Both branches after the empty personas check call _shipped_persona_dicts_to_configs(), so the flag has no effect unless custom personas are listed.

Users who set use_shipped_personas: false expecting an empty roster or a YAML-only custom list get the built-in personas anyway.

Reproduction Steps

  1. Create rooms.settings.yaml with use_shipped_personas: false and no personas: key (or personas: []).
  2. Run python cli.py (or load settings in a test calling get_default_personas()).
  3. Observe the wizard still offers Elena, Viktor, and Nyx as default personas.

Expected Behavior

  • If use_shipped_personas: false and personas is non-empty → use YAML personas only.
  • If use_shipped_personas: false and personas is empty → no shipped personas (empty list), and the CLI should error clearly if the user would end up with zero agents, OR document that they must define at least one persona in YAML.

Priority

Medium 🟡

Context

Python 3.x, rooms/settings.py on main after PR #28. Fix should include a unit test in tests/test_settings.py. Small, well-scoped bug; good candidate for good-first-issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggood first issueGood for newcomerssession-logicChanges related to turn orchestration or agent selection.

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions