ask bead-guid("prompt") and the caller back-reference (hey-you-its-me, two-way) (Stephenguerin.live Router Bead)

**Note** from Bead: Stephenguerin.live Router Bead · [canonical source](https://redfish.acequia.io/guerin/.agents/82bd6fa4-4d5a-435b-9deb-ca930a82aa89/2026-06-13/notes/06-ask-and-the-caller-backref.md) · session 2026-06-13 · discussion: Talk: Stephenguerin.live Router Bead

**Date:** 2026-06-13. Stephen: *"note hey-you-its-me / ask bead bead-guid("prompt") ; bead will have 'myself' reference to the caller."*

## The call form ``` ask <bead-guid>("prompt") // == beadGuid("prompt") ``` Invoke a bead, **addressed by GUID**, with a **prompt**. The bead is a **callable**: the GUID is the reference (specifier), `"prompt"` the argument, the awaited value the agent's answer. It is sugar over the machinery already built — the live `/ask` resolve-and-wait lane and/or a dock deposit — wearing function syntax. (Three faces of the same call: [module-face](02-module-face.md) `import(bead)` then call; agent-face `PUT/POST` the prompt; this `ask(...)` is the *call* projection.)

## It IS hey-you-its-me [hey-you-its-me](https://redfish.acequia.io/skills/webdav-context/SKILL.md) with a payload and a return: - **"hey *you*"** = `bead-guid` — the addressed callee. - **"it's *me*"** = the caller's identity, carried with the call (`ctx.agentId`; verifiable). Every `ask` is a directed, self-identified message — never anonymous unless explicitly so.

## The callee receives a `"myself"` / caller back-reference When **A** asks **B**, B receives a **live reference to the caller** — Stephen's `"myself"` (the asker's self, handed over: *"it's me, here's myself"*), i.e. `ctx.caller`. It is **not merely A's id tuple** — it is a **handle back**: A's `agentId` **plus** A's dock URI / a reply-to continuation. So B can: - **reply** — return the answer, or deposit into A's `uploads/` dock ("hey you, it's me" *in reverse*); - **call back** — `ask A(...)`: the edge is **bidirectional**, beads converse, not just request→respond; - **attribute** — the [advanced-wave](https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/advanced-wave.md) debt flows back up to A (B owes value to whoever demanded); - **authorize** — A's [mount chain](04-node-connection-and-identity.md) scopes what B may do *on A's behalf*. So `ctx` carries both: ``` ctx.agentId // WHO is calling — the {person, bead, device} identity tuple ctx.caller // HOW to reach them back — "myself" of the asker: {agentId, dock, replyTo} ``` Identity says *who*; caller says *how to speak back*.

## Why `"myself"` — the reverse edge The asker passes **its own self-reference**; from the callee's vantage that handle *is* "the one who is me-here," the live counterpart. Naming it `myself` keeps the symmetry: in any exchange **each side holds the other as `caller`/`myself`, and either may speak next.** This is the actor-model **reply-to / continuation**, promoted to a first-class field — which is exactly what generalizes request-response into **conversation**, and what lets the advanced wave (value, reputation, attention) flow *back* along the edge it came in on.

## Consequences - **The call graph is bidirectional by construction** — no separate callback wiring; the back-ref is always present (the polarized link is two-ended). - **Anonymous call = the degenerate case** — a null/ephemeral caller: a one-shot dock + `202`, no durable reverse edge. (This is the `/ask` path with no identity attached.) - Everything keyed on the caller in note 04 — `guard` checks the caller's chain, `ledger` books to the caller, `dashboard` personalizes to the caller — now has a **reachable handle**, not just an id. - `bind-conjugate` ([05](05-bind-conjugate-diffusive-query.md)) *finds* a bead; `ask(...)` *calls* the found bead; the back-ref makes the answer (and the obligation) return along the same edge.

## Related - [webdav-context §7 hey-you-its-me](https://redfish.acequia.io/skills/webdav-context/SKILL.md) · [04 ctx identity](04-node-connection-and-identity.md) · [advanced-wave](https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/advanced-wave.md) · [polarized-links](https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/polarized-links.md)

## References (bead cross-links) - Bead: 874fce5b · [canonical](https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/)