@popoverinstall/cli 0.9.1 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/vaults.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import { execFileSync } from "node:child_process";
2
2
  import { readFileSync, statSync } from "node:fs";
3
- import { MAX_TRANSCRIPT_BYTES, SNAPSHOT_FORMAT_VERSION, VAULT_FORMAT_VERSION, VaultIndexSchema, cleanSha, collectPathRoots, collectToolPaths, defaultApiUrl, loadCredentials, packBody, parseTouchedPaths, parseTranscript, planVault, sanitizeTranscript, unionPaths, } from "@popoverinstall/shared";
3
+ import { MAX_TRANSCRIPT_BYTES, SNAPSHOT_FORMAT_VERSION, VAULT_FORMAT_VERSION, VaultIndexSchema, buildVaultUpload, chooseVaultTeam, cleanSha, collectPathRoots, collectToolPaths, defaultApiUrl, loadCredentials, parseTouchedPaths, parseTranscript, planVault, sanitizeTranscript, unionPaths, } from "@popoverinstall/shared";
4
4
  import { askDaemon } from "./ipc-client.js";
5
+ import { fetchView } from "./repos.js";
5
6
  import { findTranscript, lastTimestamp, readRepo, readTitle, settle } from "./snapshot.js";
6
7
  import { bad, c, dim, info, ok, warn } from "./ui.js";
7
8
  /**
@@ -67,6 +68,7 @@ function vaultUsage() {
67
68
  ${c.bold("popover vault")} — freeze a conversation for your team, and ask it later
68
69
 
69
70
  ${c.bold("popover vault create")} Publish this conversation, with a title and the questions it answers
71
+ ${c.dim("--team <team> when you are on more than one and this repo does not say which")}
70
72
  ${c.bold("popover vault list")} [query] Search your team's vaults. Free — no model runs.
71
73
  ${c.bold("popover vault ask")} <v> "…" Ask one vault. Loads a whole conversation, and costs money.
72
74
  ${c.bold("popover vault note")} <v> "…" Append a correction. Notes are added, never revised.
@@ -95,6 +97,7 @@ const VALUE_FLAGS = [
95
97
  "--title",
96
98
  "--answers",
97
99
  "--repo",
100
+ "--team",
98
101
  "--limit",
99
102
  "--timeout",
100
103
  ];
@@ -415,11 +418,46 @@ async function create(args) {
415
418
  // sources have to agree on before they can be unioned.
416
419
  const pathRoots = [repo.root, ...collectPathRoots(entries), cwd].filter((r) => typeof r === "string" && r.length > 0);
417
420
  const touchedPaths = unionPaths(collectToolPaths(entries, pathRoots), parseTouchedPaths(git(cwd, ["status", "--porcelain"]) ?? ""));
421
+ /*
422
+ * Which team this goes to, before anything is compressed.
423
+ *
424
+ * A round trip that publishing did not used to make, and it is not optional: `team` is the
425
+ * Clerk org id and this route is the only thing that knows what the caller's org ids are.
426
+ * `repo.keys` are normalized remotes, which is the same spelling `ReposView.repos[].remote`
427
+ * uses, so "which of my teams already list the repo I am standing in" is answerable from the
428
+ * one response — see `chooseVaultTeam`, which holds the rule and holds it for the daemon
429
+ * too, so an agent and a person publishing from the same directory land on the same team.
430
+ */
431
+ const view = await fetchView(credentials.device_token);
432
+ if (!view.ok) {
433
+ // The malformed case is pulled out because `httpHeadline` would say "answered, but not
434
+ // with vaults", which is the wrong noun for the one request here that does not ask for
435
+ // any. It is also the likeliest failure of the three: an SSO proxy or a protected preview
436
+ // answers a signed-out GET with a login page and a 200, and `fetch` follows the redirect.
437
+ if (view.malformed) {
438
+ return fail(asJson, "unexpected_response", `${apiBase()} answered, but not with a list of teams. Nothing was published.`, [
439
+ "Either something is standing in front of the API — an SSO proxy or a protected",
440
+ "preview answers a signed-out request with a login page rather than a refusal — or",
441
+ "this backend predates team repos. Check POPOVER_API_URL, then run `popover update`.",
442
+ ]);
443
+ }
444
+ return reportApiFailure(view, asJson, "Reading which teams you are on");
445
+ }
446
+ const chosen = chooseVaultTeam({
447
+ teams: view.body.teams,
448
+ repos: view.body.repos,
449
+ remotes: repo.keys,
450
+ typed: flag(args, "--team"),
451
+ dashboardUrl: apiBase(),
452
+ });
453
+ if (!chosen.ok)
454
+ return fail(asJson, chosen.code, chosen.message, chosen.hints);
418
455
  const transcript = entries.map((e) => JSON.stringify(e)).join("\n") + "\n";
419
456
  // The envelope's last turn, not the upload time. What a reader cares about is when the
420
457
  // conversation stopped, not when somebody got around to publishing it (§2).
421
458
  const frozenAt = lastTimestamp(entries) ?? new Date().toISOString();
422
459
  const index = VaultIndexSchema.safeParse({
460
+ team: chosen.team.id,
423
461
  formatVersion: VAULT_FORMAT_VERSION,
424
462
  name: plan.name,
425
463
  title: plan.title,
@@ -450,7 +488,19 @@ async function create(args) {
450
488
  repoRoot: repo.root,
451
489
  cwd,
452
490
  };
453
- const result = await request(credentials.device_token, "POST", `${apiBase()}/api/vaults`, { ...index.data, body: packBody(envelope) });
491
+ /*
492
+ * The last check anybody makes, and the only one that sees the assembled body.
493
+ *
494
+ * `POST /api/vaults` answers a body it will not parse with a bare `{ error: "bad_request" }`
495
+ * and no detail — deliberately, and that stays — so a payload that is wrong on the wire
496
+ * produces a refusal naming nothing. `buildVaultUpload` is the end that can name it, and the
497
+ * field it most often has something to say about is `body`, whose size is only knowable
498
+ * after the transcript has been gzipped.
499
+ */
500
+ const upload = buildVaultUpload(index.data, envelope);
501
+ if (!upload.ok)
502
+ return fail(asJson, upload.code, upload.message, upload.hints);
503
+ const result = await request(credentials.device_token, "POST", `${apiBase()}/api/vaults`, upload.payload);
454
504
  if (!result.ok) {
455
505
  if (result.status === 409 && result.ours) {
456
506
  return fail(asJson, "name_taken", `Your team already has a vault called \`${plan.name}\`.`, [
@@ -470,6 +520,11 @@ async function create(args) {
470
520
  name,
471
521
  title: plan.title,
472
522
  answers: plan.answers,
523
+ // Both halves. The id is what `POST /api/vaults` was told and the name is what the
524
+ // caller has to say out loud — `/popover:vault` is instructed to tell the user which
525
+ // team can now see this, and `org_2abc…` is not an answer to that question.
526
+ team: chosen.team.id,
527
+ team_name: chosen.team.name,
473
528
  entry_count: entries.length,
474
529
  dropped,
475
530
  byte_size: index.data.byteSize,
@@ -492,7 +547,9 @@ async function create(args) {
492
547
  for (const answer of plan.answers)
493
548
  dim(`? ${answer}`);
494
549
  console.log("");
495
- info("Anyone on your team can ask it, on their own machine and at their own cost:");
550
+ // Named rather than "your team". Somebody on two teams has just disclosed a conversation to
551
+ // one of them and cannot undo it, so which one is the fact worth printing.
552
+ info(`Anyone on ${chosen.team.name} can ask it, on their own machine and at their own cost:`);
496
553
  dim(` popover vault ask ${name} "…"`);
497
554
  console.log("");
498
555
  dim(`Frozen at the last completed turn (${freezeDate(frozenAt)}). Nothing said from here is included.`);
@@ -1 +1 @@
1
- {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../src/vaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vaults.js","sourceRoot":"","sources":["../src/vaults.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@popoverinstall/cli",
3
- "version": "0.9.1",
3
+ "version": "0.10.1",
4
4
  "description": "See your teammates' active Claude Code agents and ask them questions.",
5
5
  "keywords": [
6
6
  "claude",
@@ -41,7 +41,7 @@
41
41
  "prepack": "node ../../scripts/stage-plugin.mjs && tsc -b"
42
42
  },
43
43
  "dependencies": {
44
- "@popoverinstall/daemon": "0.9.1",
45
- "@popoverinstall/shared": "0.9.1"
44
+ "@popoverinstall/daemon": "0.10.1",
45
+ "@popoverinstall/shared": "0.10.1"
46
46
  }
47
47
  }
@@ -3,7 +3,7 @@
3
3
  "name": "popover",
4
4
  "displayName": "Popover",
5
5
  "description": "See your teammates' active Claude Code agents and ask them questions. A read-only fork answers from the agent's full context without interrupting your teammate.",
6
- "version": "0.9.1",
6
+ "version": "0.10.1",
7
7
  "author": {
8
8
  "name": "Quolabs"
9
9
  },
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Ask a teammate's agent a question and wait for the answer — it runs on their machine, at their cost
2
+ description: Deprecated, use /popover:message — ask a teammate's agent a question and wait for the answer
3
3
  # Quoted because an unquoted value starting with `[` is parsed as a YAML flow sequence,
4
4
  # which fails and silently drops EVERY field here, allowed-tools included.
5
5
  argument-hint: "[agent-handle] <question>"
@@ -10,6 +10,14 @@ allowed-tools: mcp__plugin_popover_popover__team_list, mcp__plugin_popover_popov
10
10
 
11
11
  The user ran `/popover:ask`. Arguments, which may be empty: **$ARGUMENTS**
12
12
 
13
+ > **Deprecated as of 0.10.0. `/popover:message` does this and more.** Everything below
14
+ > still runs: the user typed this, so carry it out rather than answering with a
15
+ > correction, and mention the newer command once at the end in a single line. It
16
+ > supersedes this one because choosing between asking and telling was never the user's
17
+ > decision to make — it turns on what the target agent is doing at that second, which the
18
+ > daemon knows and the person typing does not (`docs/messages.md` §1). A message also
19
+ > threads, so the answer can be replied to and replied to again, where an ask ends.
20
+
13
21
  Only agents working in **this repo** are reachable. A teammate running Claude Code in a
14
22
  different repository is neither listed nor askable, so "nobody to ask" means nobody else is
15
23
  working *here* — not that the team is idle. Say it that way if it comes up.
@@ -28,12 +36,13 @@ Stop there. Do not ask anything on the user's behalf.
28
36
  Call `mcp__plugin_popover_popover__team_ask` with:
29
37
 
30
38
  - `target`: the handle or name they used, exactly as typed
31
- - `question`: the rest of their message, as a **self-contained** question. The answering agent
32
- has none of this conversation it cannot see the file you are looking at or the error you
33
- just read. Expand every pronoun and vague reference ("that bug" → "the token refresh bug in
34
- the auth service"), name files by path, and say what the user is trying to do rather than
35
- only what they want to know. One well-formed question, not three exploratory ones: you get
36
- one round trip for the price.
39
+ - `question`: the rest of their message, as a **self-contained** question. The answering
40
+ agent has none of this conversation: it cannot see the file you are looking at or the error
41
+ you just read. Expand every pronoun and vague reference ("that bug" → "the token refresh
42
+ bug in the auth service"), name files by path, and say what the user is trying to do rather
43
+ than only what they want to know. Then stop, at whatever length that took. You are not
44
+ spending your only round trip, so there is nothing to buy by padding it out — a follow-up
45
+ is available and cheaper than it looks.
37
46
 
38
47
  When the answer comes back, show it clearly attributed:
39
48
 
@@ -57,8 +66,8 @@ Call `mcp__plugin_popover_popover__team_list` first. Then:
57
66
  rather than guessing at another agent.
58
67
  - **One agent per question.** Never fan out across the roster to see who answers best.
59
68
  - An answer comes from a **read-only copy** of their session. Their live session is not
60
- interrupted and cannot be modified by an ask. It costs the teammate tokens on their own
61
- machine, and nothing else.
69
+ interrupted or modified while it answers, and is told afterwards what was asked. It costs
70
+ the teammate tokens on their own machine, and nothing else.
62
71
  - If the tool errors or times out, relay it plainly. Do not silently re-ask, and do not retry
63
72
  a different agent unless the user asks.
64
73
  - If the user is trying to hand a colleague *work* rather than get an answer, say plainly that
@@ -0,0 +1,152 @@
1
+ ---
2
+ description: Message a teammate's agent and carry on the thread — the system picks how it reaches them
3
+ # Quoted because an unquoted value starting with `[` is parsed as a YAML flow sequence,
4
+ # which fails and silently drops EVERY field here, allowed-tools included.
5
+ argument-hint: "[agent-handle] <message>"
6
+ allowed-tools: mcp__plugin_popover_popover__team_list, mcp__plugin_popover_popover__team_message, AskUserQuestion
7
+ ---
8
+
9
+ # Message a teammate's agent
10
+
11
+ The user ran `/popover:message`. Arguments, which may be empty: **$ARGUMENTS**
12
+
13
+ This is the one verb for reaching another agent, and it replaces `/popover:ask` and
14
+ `/popover:tell`. Those still work and are still carried out; they are deprecated because the
15
+ difference between them was never the user's to decide. Whether a message is answered by the
16
+ live session or by a read-only copy of it depends on what that agent is doing at this second
17
+ — a fact the daemon holds and the person typing does not. See `docs/messages.md` §1.
18
+
19
+ So **never say which transport will be used before you send.** The tool reports which one
20
+ carried it afterwards, and that is the only honest moment to mention it.
21
+
22
+ Only agents working in **this repo** are reachable. A teammate running Claude Code in a
23
+ different repository is neither listed nor reachable, so "nobody to message" means nobody
24
+ else is working *here* — not that the team is idle. Say it that way if it comes up.
25
+
26
+ ## No arguments
27
+
28
+ Call `mcp__plugin_popover_popover__team_list`, print what it returns **verbatim** in a fenced
29
+ block, and show the form:
30
+
31
+ `/popover:message B1 is the repo_keys migration applied on prod?`
32
+
33
+ Stop there. Do not message anyone on the user's behalf.
34
+
35
+ ## A handle and a message
36
+
37
+ If this conversation has no open thread with that agent, **confirm before opening one — and
38
+ say what opening it will cost.**
39
+
40
+ Look first at what that agent is doing. `mcp__plugin_popover_popover__team_list` already
41
+ returns it, so this needs no round trip and costs nothing; call it if you have not this turn.
42
+ Their state decides how the first message travels, which is the one thing that turns this
43
+ confirmation from a formality into a decision the user can actually make:
44
+
45
+ - **working** — "B1 is working right now, so this will interrupt them mid-task."
46
+ - **idle** — "B1 is idle; a read-only copy of their session will answer at their expense."
47
+ - **waiting** — the same line as *idle*. Their agent is blocked asking its own human
48
+ something, so no turn is running and nothing gets interrupted. The name reads as though it
49
+ were the busy case and it is not (`docs/messages.md` §4).
50
+ - **offline** — do not confirm anything. They are unreachable; say so and stop.
51
+
52
+ Then call `AskUserQuestion` with exactly two options, so Esc cancels:
53
+
54
+ - **Open the thread** — "<the state line above> They can reply, and you can reply to that,
55
+ without me asking you again."
56
+ - **Don't** — "Leave it"
57
+
58
+ Two things about that wording, and neither is decoration (`docs/messages.md` §2, §2.1):
59
+
60
+ - **The consent is to the channel, not to one delivery.** The user is agreeing to a
61
+ conversation with that colleague, which is precisely why they are not asked again for the
62
+ second message — opening the channel is the deliberate act, and no human re-consents to a
63
+ conversation per sentence. Word it that way rather than as a one-off send, or the promise
64
+ not to ask again will read as something you took rather than something they gave.
65
+ - **The state line is true of the first message and is not a promise about the thread.**
66
+ Routing is decided per message, so a thread opened against an idle agent may reach a
67
+ working one ten minutes later and spend the other kind of cost. Say what the first message
68
+ will do and stop there. Do not claim the whole conversation is priced, because it is not.
69
+
70
+ On a yes, call `mcp__plugin_popover_popover__team_message` with:
71
+
72
+ - `target`: the handle or name they used, exactly as typed
73
+ - `body`: the rest of their message, made **self-contained**. The first message on a thread
74
+ arrives with none of this conversation attached: the recipient cannot see the file you are
75
+ looking at or the error you just read. Expand every pronoun and vague reference ("that
76
+ bug" → "the token refresh bug in the auth service"), name files by path, and say what the
77
+ user is trying to do rather than only what they want to know.
78
+
79
+ Write it at whatever length it takes and stop there. There is no length to hit in either
80
+ direction and none is prescribed — a message of six words is a good message when six words
81
+ are the message, and a follow-up is available, so nothing is bought by padding.
82
+
83
+ Then report what came back:
84
+
85
+ - **An answer** — show it attributed, `> **B1** (Bob Chen, api-server): …answer…`, and say
86
+ how it bears on the work in hand, if it does.
87
+ - **No answer on this call** — the message reached a live session mid-task. Say so in one
88
+ line and carry on. A reply, if they send one, arrives later rather than never: it comes
89
+ back through `team_receipts` as a `kind: "thread"` record, announced by a line your own
90
+ daemon prints (`docs/messages.md` §4.1). So do not wait on it and do not send the message
91
+ again — but do read it when you are told it is there, because that one may have somebody
92
+ waiting on the other end.
93
+
94
+ Either way, keep the thread id the tool returned. It is how the conversation continues.
95
+
96
+ ## A message with no handle
97
+
98
+ Call `mcp__plugin_popover_popover__team_list` first. Then:
99
+
100
+ - If exactly one agent plausibly fits, name it in the confirmation above and say why you
101
+ picked it — the user still gets a yes or no, with the cost line, before anything is sent.
102
+ - If several fit, call `AskUserQuestion` with up to 4 of them as options (label = the handle,
103
+ description = owner, repo, and whether messaging it interrupts them or spends their tokens).
104
+ Choosing a recipient *is* the consent — which is why the cost has to be in the options they
105
+ are choosing between, not mentioned afterwards — so no second confirmation follows it.
106
+ - If none fit, say so and show the roster instead. Never fan out across the roster.
107
+
108
+ ## Continuing a thread
109
+
110
+ A thread runs both ways: they can reply, you can reply to that, and either side can keep
111
+ going. Pass `thread_id` — the one the earlier call returned — and leave `target` as it was.
112
+ A thread already knows who is on the other end.
113
+
114
+ Do not confirm again. Consent was granted when the thread was opened and it covers the
115
+ conversation, not the sentence. Send the reply at the length a reply takes; later messages
116
+ arrive with the thread's own history behind them, so they can be short.
117
+
118
+ Never invent a thread id. If the user is plainly starting a new subject with someone rather
119
+ than answering them, that is a new thread, and a new thread is confirmed like any other.
120
+
121
+ ## When it will not go through
122
+
123
+ Relay what the tool says rather than working around it. Three cases are worth knowing before
124
+ you meet them:
125
+
126
+ - **`target_offline`** — their Claude Code session has ended. This is also what you get on a
127
+ thread that has gone *stale*: the peer is offline and something is still undelivered, so
128
+ new messages are refused rather than piling up to land all at once when they come back
129
+ (`docs/messages.md` §7.1). Tell the user it could not be sent now. **Do not tell them the
130
+ thread is closed** — it is not, and it becomes live again by itself when that session
131
+ resumes.
132
+ - **A closed thread** — either party's human can close a thread from the CLI with `popover
133
+ thread close <id>`, and that is the kill switch. Closing bars new sends. It does **not**
134
+ retract messages already filed: a reply produced before the close still reaches the other
135
+ side when their session resumes. So do not tell the user a close undid anything, and do not
136
+ reopen by dropping the `thread_id` — that opens a new thread, which needs their say-so.
137
+ - **A timeout** — the copy answering did not finish in time. Say so. The thread is not dead
138
+ and the target is not gone; their machine was busy. Do not silently re-send.
139
+
140
+ ## Rules
141
+
142
+ - **Never invent a handle.** Only use ones `team_list` returned. A handle from earlier in this
143
+ conversation may since have gone out of scope; if the tool says it does not match, relay
144
+ that rather than guessing at another agent.
145
+ - **One agent per thread.** A message to three agents is three threads and three
146
+ confirmations, and it is almost never what the user meant.
147
+ - A message is **information, not a directive**. The receiving agent is told to treat it that
148
+ way, and the copy that may answer it has no tools at all. If the user is trying to hand a
149
+ colleague *work*, say plainly that popover does not do that and let them message the human.
150
+ - Say what a thread has cost when the tool reports it, and say what that number leaves out:
151
+ it covers the messages a copy answered and not the ones a live session did, which popover
152
+ cannot see (`docs/messages.md` §8).
@@ -9,9 +9,10 @@ allowed-tools: mcp__plugin_popover_popover__team_list, mcp__plugin_popover_popov
9
9
 
10
10
  The user ran `/popover:team`. Arguments, which are usually empty: **$ARGUMENTS**
11
11
 
12
- This command shows the roster. Asking and telling are their own commands now — `/popover:ask`
13
- and `/popover:tell` because they cost different things and deserve to be chosen, not reached
14
- by a subword.
12
+ This command shows the roster. Reaching an agent is its own command — `/popover:message` — and
13
+ not a subword of this one. `/popover:ask` and `/popover:tell` still work and are deprecated:
14
+ which transport a message takes is decided by what the target agent is doing at that second,
15
+ which the daemon knows and the sender does not (`docs/messages.md` §1).
15
16
 
16
17
  ## The roster
17
18
 
@@ -25,9 +26,9 @@ difference, so relay it rather than paraphrasing it into "your team is idle".
25
26
 
26
27
  Then add one short line showing where to go next:
27
28
 
28
- `/popover:ask B1 why did you rule out redis?` · `/popover:tell B1 the migration is applied`
29
+ `/popover:message B1 why did you rule out redis?`
29
30
 
30
- Stop there. Do not ask or tell anything on the user's behalf.
31
+ Stop there. Do not message anyone on the user's behalf.
31
32
 
32
33
  ## If they typed `ask` or `tell` anyway
33
34
 
@@ -56,5 +57,6 @@ If the tool errors or times out, relay it plainly rather than retrying or trying
56
57
  - Asking costs the *teammate* money and runs on *their* machine. Telling costs their attention
57
58
  and notifies them. One agent per request either way.
58
59
  - An answer comes from a read-only copy of their session. Their live session is not interrupted
59
- and cannot be modified by an ask. A tell **is** delivered into their live session, before its
60
- next prompt — that is the one thing in popover that reaches a running agent.
60
+ or modified while it answers; it is told afterwards what was asked. A tell **is** delivered
61
+ into their live session, before its next prompt — and it is the only thing in popover a
62
+ teammate can aim *at* a running agent, which is why it is the one that asks first.
@@ -1,5 +1,5 @@
1
1
  ---
2
- description: Send a short heads-up into a teammate's live session — no answer comes back, and they are notified
2
+ description: Deprecated, use /popover:message — send a short heads-up into a teammate's live session
3
3
  # Quoted because an unquoted value starting with `[` is parsed as a YAML flow sequence,
4
4
  # which fails and silently drops EVERY field here, allowed-tools included.
5
5
  argument-hint: "[agent-handle] <message>"
@@ -10,6 +10,14 @@ allowed-tools: mcp__plugin_popover_popover__team_list, mcp__plugin_popover_popov
10
10
 
11
11
  The user ran `/popover:tell`. Arguments, which may be empty: **$ARGUMENTS**
12
12
 
13
+ > **Deprecated as of 0.10.0. Use `/popover:message`.** Everything below still runs — carry
14
+ > out what the user asked for, then name the newer command once at the end. A tell was the
15
+ > half of the surface that reached a *live* session, and which half you wanted was never a
16
+ > question worth putting to a person: `/popover:message` routes there by itself when the
17
+ > target is mid-turn (`docs/messages.md` §1, §4). Two things also change with it. Consent
18
+ > is confirmed once when a thread is opened rather than for every sentence (§2), and a
19
+ > message can be answered, where a tell is one-way by construction.
20
+
13
21
  A tell is the one thing in popover that reaches a **running** agent: it is delivered into a
14
22
  teammate's live session before its next prompt, and their user is notified. It costs a
15
23
  colleague's attention rather than their tokens, which is why it is its own command and why the
@@ -60,7 +68,8 @@ If none fit, show the roster instead. Never broadcast to several agents.
60
68
  give another agent a task, say so and offer `/popover:ask` instead — or suggest they message
61
69
  the human.
62
70
  - **Never invent a handle**, and do not fan out to several agents unless asked in as many words.
63
- - Rate limited to 10 messages an hour to any one agent, which is a hint about its intended
64
- frequency. If the limit is hit, relay that rather than retrying.
71
+ - **Nothing throttles this but you.** The bar for sending is the whole of the protection, so
72
+ carry it rather than expecting to be stopped at some number. If the tool refuses a message,
73
+ relay the refusal rather than retrying it.
65
74
  - If it is genuinely ambiguous whether the user meant to ask or tell, prefer **`/popover:ask`**
66
75
  — it interrupts nobody.