Skip to content

Agent callsigns, spoken identity, and version in the title bar - #21

Merged
DevMando merged 2 commits into
mainfrom
feature/version-display
Jul 27, 2026
Merged

Agent callsigns, spoken identity, and version in the title bar#21
DevMando merged 2 commits into
mainfrom
feature/version-display

Conversation

@DevMando

Copy link
Copy Markdown
Owner

Summary

Gives agents real identities. A new app-wide setting names each new agent from a curated pool of 500+ callsigns instead of "Agent 1, Agent 2" — and the named agent actually knows its name: reply cards carry it, and the model introduces itself by it. Also puts the app version in the window title.

What's new (plain language)

1. Callsign names (Settings → Behavior, off by default). Turn it on and new agents draw names like Morphy, Crunch, Blazor, Kaos, or Wichita from a 500+ name deck — shuffled, no repeats until the whole deck has been dealt, never colliding with an open tab. The pool is hand-curated street-energy: breaking-cypher, phone-phreak, and construct-crew flavor, with no real people or owned properties referenced (distinctive real handles were riffed, not copied). Numbered names remain the default, and renaming a tab by hand always works.

2. Agents know who they are. Before: a tab named Blazor still said "Hi, I'm MandoCode" because that identity was hardcoded in the AI's instructions, forcing one word to mean both the app and the voice — visibly confusing smaller models. Now the model is told "You are Blazor, a local AI coding assistant running on MandoCode", reply cards are labeled with the agent's name, and renaming a tab informs the live conversation. MandoCode stays the platform; agents are characters on it. The engine side (MandoCode PR #68, pinned here) is null-safe — the CLI's classic identity is untouched.

3. Version in the title bar. "MandoCode Desktop v0.1.0", from the same single version source the update checker uses.

Scope / risk

  • Naming style is app-wide UI preference (panel-state.json), not agent config — no config file format changes.
  • The callsign pool is enforced by tests: 500+ entries, unique, well-formed, cycle-without-repeat, collision skip, numbered fallback if every name is somehow in use.
  • Identity changes are label + prompt only; the model shown in the header remains the source of truth for what's actually answering.
  • Harness pin roll contains exactly the AgentName feature (null-safe, [JsonIgnore] so it can never be persisted).

Verification

  • Desktop suite 183/183 passing (6 new callsign tests); engine suite 486/486 on the pinned commit; builds clean (0 warnings) throughout.
  • Manually exercised: toggle on → new tabs draw callsigns; toggle off → numbered names resume; rename mid-conversation updates label and informs the model.

DevMando added 2 commits July 27, 2026 10:05
A Settings > Behavior toggle (app-wide, persisted in panel-state.json)
names new agents from a curated 500+ callsign pool - construct-crew,
phreak, and cypher-energy handles, no real people or properties - dealt
from a shuffled deck that never repeats until exhausted, skips names
open tabs are wearing, and falls back to numbers if all are taken.
Tests pin the pool contract: 500+ unique well-formed names, cycle
without repeats, collision skip, numbered fallback.

The window title now reads MandoCode Desktop v{version}, sourced from
the assembly version the update checker already compares.
The tab's name now reaches the model and the transcript. AgentSession
stamps Config.AgentName (new in the engine, null-safe for the CLI) via
its Title setter BEFORE building AIService, so the baked system prompt
introduces the agent as '{name}, running on MandoCode' from the first
message. Renaming a tab notifies the live conversation through the
workspace-note channel. Reply cards are labeled with the agent's name
instead of a hardcoded MandoCode - the platform stays the stage, the
agent is the actor. Rolls the harness pin for AgentName support.
@DevMando
DevMando merged commit e4359c9 into main Jul 27, 2026
1 check passed
@DevMando
DevMando deleted the feature/version-display branch July 27, 2026 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant