whoami: new mcp tool returning name/role/pronouns/hyperhive_rev on both surfaces

This commit is contained in:
damocles 2026-05-17 23:31:23 +02:00
parent 4ec401a6c7
commit 3c66cb6707
9 changed files with 142 additions and 14 deletions

10
TODO.md
View file

@ -57,15 +57,7 @@ how often the friction bites in normal use.
and `cancel_ask(id)` on the agent surface, plus `list_my_reminders()`
/ `cancel_reminder(id)`. Bounded by `asker == self` and `reminder.owner
== self` so no cross-agent meddling.
- **`whoami` introspection tool** — agents currently rely on the system
prompt remembering their name + role. After a rename or model swap
there's no trustworthy source-of-truth from inside the harness.
Cheap: a `whoami() -> { name, role: "agent" | "manager", model, port,
hyperhive_rev, started_at }` tool reading from the harness's own env
+ `TurnState`. Useful for self-documenting state files ("this dropped
by damocles@gpt-5-codex on rev abc1234") and for the future
`get_open_threads` to know whose threads to query without
trusting prompt-substituted strings.
- ~~**`whoami` introspection tool**~~ ✓ landed — new `mcp__hyperhive__whoami` on both agent + manager surfaces. Returns `{ name, role, operator_pronouns, hyperhive_rev }` from coord state (socket identity for `name`, hard-coded per surface for `role`, `coord.operator_pronouns`, `auto_update::current_flake_rev`). `model` + `started_at` deferred — those live in the harness process not the coord, would need extra plumbing for marginal value.
- **Optional `in_reply_to: <msg_id>` on send** — pure wire addition; no
behavioural change. The dashboard could render conversation threads
(already wants this for the agent-to-agent question UI in the