# Multi-Profile Runtime Model ## Principle Profiles are selected by clients and services, not by the menu bar UI. The menu bar app is a local operations surface for the current operator machine. It can monitor the local services that are enabled now, but it should not become the source of truth for which project an AI client is allowed to query. ## Desired Model - MCP clients choose the profile at call time, for example `{"profile":"fidelity"}`. - Multiple profiles may run in parallel when their service ports and inbox paths do not conflict. - Capture services can be profile-specific or shared: - shared service: one Mattermost mirror with profile-scoped query filters; - profile-specific service: separate mirror/output path/port per profile. - The MCP query layer should remain profile-aware and read from profile manifests/config. - The menu bar app should show local runtime health, not force a single global profile selection. ## Current Fidelity Setup The first menu bar version targets the Fidelity service set because that is the active local workflow. This does not prevent MCP clients from querying other profiles when those profiles have canonical memory or context-source config. ## Parallel Profile Requirements Before running another profile in parallel, define unique values for any conflicting service: - MCP HTTP port if using separate MCP instances. - Mattermost proxy listen port if using separate proxy instances. - Photo Inbox port if using separate upload receivers. - Mirror/inbox output directory. - Profile-specific context channels. Example future split: ```text fidelity: aiw-context-mcp: 127.0.0.1:8765 mattermost-proxy: 127.0.0.1:8080 photo-inbox: 0.0.0.0:8787 it-support: aiw-context-mcp: same shared MCP, profile argument selects context mattermost-proxy: 127.0.0.1:8081 if a separate capture session is needed photo-inbox: 0.0.0.0:8788 if a separate receiver is needed ``` ## Menu Bar Direction The menu bar app should evolve toward showing service groups or all running profiles, but not a manual profile selector for MCP query behavior. Profile selection belongs in the MCP tool/resource arguments and client prompts.