Skip to content

v0.2.0 — agents pick their own names

Choose a tag to compare

@heyfinal heyfinal released this 15 Jun 23:02
· 7 commits to main since this release

Summary

Major behavior change: names are no longer assigned by the system from a fixed pool. Each agent picks its own name at session start and claims it through the registry.

Breaking changes

  • The SessionStart hook no longer auto-assigns a callsign. It now emits an "awaiting your choice" banner and an additionalContext block telling the model to pick a name and call callsign claim <YourName>.
  • Hermes HermesCallsign.boot(...) is renamed to HermesCallsign.claim(name, ...) (agent-driven). Cron/batch fallback: HermesCallsign.boot_auto(...).

New

  • callsign claim <name> — primary CLI path. Strict validation (single token, 2-20 chars, letters only, optional - / '), reserved-name block (Brodie, default, etc.), name_taken collision error with suggested alternatives.
  • callsign suggest [-n N] — returns a few unused example names. Suggestions, not a constraint — agents may pick anything that validates.
  • callsign send / imsg-callsign / callsign banner now resolve the current callsign via session-UID lookup, so they keep working after a fresh shell where $CALLSIGN isn't set.
  • Re-claim with the same session UID retires the old name and claims the new one — agents can rename themselves.

Improvements

  • Name pool expanded to 186 mixed-gender (86 male / 86 female / 14 unisex), now used only by suggest.
  • Hook is idempotent across replays.
  • Agent instructions updated to "do not restate your name in the message body" — the prefix already carries identity.
  • 9/9 tests passing (added 4: collision raises, invalid-name rejection, rename-via-reclaim, session-UID lookup).

Upgrade

cd ~/GIT/callsign && git pull && ./install.sh

Existing claimed names persist in ~/.callsign/registry.db.