greprag 0.9.1 → 0.10.0
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/commands/init.js +18 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/hook.js +37 -10
- package/dist/hook.js.map +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +215 -6
- package/skill/templates/agent-coordination.md +247 -0
package/dist/commands/init.js
CHANGED
|
@@ -138,6 +138,24 @@ async function runInit(opts) {
|
|
|
138
138
|
fs.copyFileSync(skillSrc, skillDest);
|
|
139
139
|
changes.push(`Advisor skill: installed → ${skillDest}`);
|
|
140
140
|
}
|
|
141
|
+
// Step 6b: Skill templates — copy skill/templates/* alongside SKILL.md.
|
|
142
|
+
// Step 3b of the skill copies templates/agent-coordination.md into
|
|
143
|
+
// ~/.claude/docs/agent-coordination.md as the canonical deep doc. Without
|
|
144
|
+
// this copy, Step 3b runs against a non-existent source and the chip
|
|
145
|
+
// convention is dead-on-arrival for fresh installs.
|
|
146
|
+
const templatesSrcDir = path.join(__dirname, '../../skill/templates');
|
|
147
|
+
const templatesDestDir = path.join(skillDestDir, 'templates');
|
|
148
|
+
if (fs.existsSync(templatesSrcDir)) {
|
|
149
|
+
if (!fs.existsSync(templatesDestDir))
|
|
150
|
+
fs.mkdirSync(templatesDestDir, { recursive: true });
|
|
151
|
+
for (const f of fs.readdirSync(templatesSrcDir)) {
|
|
152
|
+
const srcFile = path.join(templatesSrcDir, f);
|
|
153
|
+
if (fs.statSync(srcFile).isFile()) {
|
|
154
|
+
fs.copyFileSync(srcFile, path.join(templatesDestDir, f));
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
changes.push(`Skill templates: installed → ${templatesDestDir}`);
|
|
158
|
+
}
|
|
141
159
|
// Step 7: Patch ~/.claude/CLAUDE.md inbox section to point at /greprag skill.
|
|
142
160
|
const claudeMdPatched = patchGlobalClaudeMd();
|
|
143
161
|
changes.push(claudeMdPatched ? 'Patched ~/.claude/CLAUDE.md inbox section' : '~/.claude/CLAUDE.md inbox section already up to date');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/hook.js
CHANGED
|
@@ -978,16 +978,43 @@ async function notify(input) {
|
|
|
978
978
|
* short `<system-reminder>` instructing the agent to arm a Monitor
|
|
979
979
|
* watcher on its own inbox in the same turn — the chip will report back
|
|
980
980
|
* via `greprag inbox` and mid-task replies are invisible without an SSE
|
|
981
|
-
* watcher.
|
|
982
|
-
*
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
981
|
+
* watcher.
|
|
982
|
+
*
|
|
983
|
+
* Mode-aware: the hook does NOT know whether the agent's chip prompt
|
|
984
|
+
* addressed the report-back via `--session <parent-id>` or via project
|
|
985
|
+
* fallback. Both addressing modes are legitimate per agent-coordination.md
|
|
986
|
+
* (the session-scoped form is precise; the project-scoped form is the
|
|
987
|
+
* durable fallback when parent UUID wasn't known at chip-spawn time).
|
|
988
|
+
* Watcher scope and chip-addressing scope MUST MATCH or replies silently
|
|
989
|
+
* miss the filter. The reminder therefore surfaces BOTH watchers and
|
|
990
|
+
* pushes the pick to the agent, who knows which form its outgoing chip
|
|
991
|
+
* prompt actually used. Belt-and-suspenders: arming both at once is
|
|
992
|
+
* acceptable and safer.
|
|
993
|
+
*
|
|
994
|
+
* Session-id sourcing: PostToolUse `input.session_id` has been observed
|
|
995
|
+
* to be unreliable for the spawn_task tool (in one incident it carried a
|
|
996
|
+
* third party's UUID, not the parent's). Rather than emit a wrong concrete
|
|
997
|
+
* id, we render `<your-own-session-id>` as a placeholder — the agent
|
|
998
|
+
* already learned its own session id from the SessionStart session-id
|
|
999
|
+
* hook earlier in the conversation and substitutes correctly.
|
|
1000
|
+
*
|
|
1001
|
+
* adr: adr/spawn-task-hook-mode.md */
|
|
1002
|
+
function handleSpawnReminderHook(_input) {
|
|
1003
|
+
const ownIdToken = '<your-own-session-id>';
|
|
1004
|
+
const text = `[GrepRAG] Chip spawned. The chip will report back via greprag inbox; `
|
|
1005
|
+
+ `mid-task replies are invisible without an SSE watcher AND the `
|
|
1006
|
+
+ `watcher's scope must MATCH what your chip prompt's Block 2 addressed `
|
|
1007
|
+
+ `(scope mismatch = silent delivery failure). Arm one of these under `
|
|
1008
|
+
+ `\`Monitor\` (persistent:true) THIS TURN:\n`
|
|
1009
|
+
+ ` • Session-scoped (precise filter, use when Block 2 sends `
|
|
1010
|
+
+ `--session ${ownIdToken}): `
|
|
1011
|
+
+ `\`greprag inbox watch --session ${ownIdToken} --json\`\n`
|
|
1012
|
+
+ ` • Project-scoped (durable channel, use when Block 2 falls back to `
|
|
1013
|
+
+ `--to <email>/<parent-project>): `
|
|
1014
|
+
+ `\`greprag inbox watch --project <parent-project> --json\`\n`
|
|
1015
|
+
+ `If unsure, arm both — they coexist safely. `
|
|
1016
|
+
+ `Substitute ${ownIdToken} with the short id from your SessionStart hook. `
|
|
1017
|
+
+ `See ~/.claude/docs/agent-coordination.md § Block 3 + Mid-session UUID acquisition.`;
|
|
991
1018
|
const payload = {
|
|
992
1019
|
hookSpecificOutput: {
|
|
993
1020
|
hookEventName: 'PostToolUse',
|
package/dist/hook.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hook.js","sourceRoot":"","sources":["../src/hook.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/skill/SKILL.md
CHANGED
|
@@ -12,7 +12,7 @@ description: |
|
|
|
12
12
|
"what's been happening in this project", "session context".
|
|
13
13
|
metadata:
|
|
14
14
|
author: travsteward
|
|
15
|
-
version: "3.
|
|
15
|
+
version: "3.7.0"
|
|
16
16
|
repository: https://github.com/travsteward/greprag
|
|
17
17
|
license: MIT
|
|
18
18
|
---
|
|
@@ -21,6 +21,12 @@ license: MIT
|
|
|
21
21
|
|
|
22
22
|
The agent drives all setup and runs the briefing. Single source of truth: `greprag status --json`.
|
|
23
23
|
|
|
24
|
+
### OpenCode vs Claude Code
|
|
25
|
+
|
|
26
|
+
- **Claude Code**: hooks in `~/.claude/settings.json` + advisor skill — follow steps 1-6 below.
|
|
27
|
+
- **OpenCode**: plugin at `~/.config/opencode/plugins/greprag-memory.ts` runs silently (injects recap via system prompt, stores turns automatically). The `/greprag` skill works on-demand in both. Run `greprag init --opencode` once to install.
|
|
28
|
+
- Both share the same anchor (`.claude/project.json` or `.opencode/project.json`) and the same API key.
|
|
29
|
+
|
|
24
30
|
## Step 1 — Get the status
|
|
25
31
|
|
|
26
32
|
```bash
|
|
@@ -30,9 +36,23 @@ greprag status --json
|
|
|
30
36
|
Parse the JSON. The keys to check, in this order:
|
|
31
37
|
|
|
32
38
|
1. `auth.api_key_present`
|
|
33
|
-
2. `
|
|
34
|
-
3. `project.
|
|
35
|
-
|
|
39
|
+
2. `project.anchor_found`
|
|
40
|
+
3. `project.memory_capture`, `project.session_start_recap`, `project.inbox_notify`
|
|
41
|
+
|
|
42
|
+
For Claude Code, also check `hooks.session_start_recap`, `hooks.stop_store`, `hooks.user_prompt_submit_notify`.
|
|
43
|
+
|
|
44
|
+
Also check the chip-coordination convention is installed in global CLAUDE.md (Step 3b):
|
|
45
|
+
```bash
|
|
46
|
+
if grep -q "greprag-conventions:start v3" ~/.claude/CLAUDE.md; then echo CONV_V3
|
|
47
|
+
elif grep -q "greprag-conventions:start v2" ~/.claude/CLAUDE.md; then echo CONV_V2_NEEDS_UPGRADE
|
|
48
|
+
elif grep -q "greprag-conventions:start v1" ~/.claude/CLAUDE.md; then echo CONV_V1_NEEDS_UPGRADE
|
|
49
|
+
else echo CONV_MISSING; fi
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Also check the permission allowlist (Step 3c):
|
|
53
|
+
```bash
|
|
54
|
+
node -e "const s=JSON.parse(require('fs').readFileSync(require('os').homedir()+'/.claude/settings.json','utf8'));const a=(s.permissions&&s.permissions.allow)||[];console.log(a.includes('Monitor')?'MON_OK':'MON_MISSING')"
|
|
55
|
+
```
|
|
36
56
|
|
|
37
57
|
For each gap, walk the user through the fix. When everything is configured, skip to Step 6 (briefing).
|
|
38
58
|
|
|
@@ -83,6 +103,116 @@ Edit `~/.claude/settings.json` to add the missing hook(s):
|
|
|
83
103
|
|
|
84
104
|
Append the missing entries to the existing arrays (create the arrays if absent). Don't overwrite existing hooks from other tools.
|
|
85
105
|
|
|
106
|
+
## Step 3b — Convention install (only if marker missing or out-of-date)
|
|
107
|
+
|
|
108
|
+
The chip-spawning + agent-coordination convention is a one-time install into the user's global CLAUDE.md. Every project session reads it; without it, chips spawn without worktree isolation, inbox report-back, or reply-listening. Detect first:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
if grep -q "greprag-conventions:start v3" ~/.claude/CLAUDE.md; then echo V3
|
|
112
|
+
elif grep -q "greprag-conventions:start v2" ~/.claude/CLAUDE.md; then echo V2_UPGRADE
|
|
113
|
+
elif grep -q "greprag-conventions:start v1" ~/.claude/CLAUDE.md; then echo V1_UPGRADE
|
|
114
|
+
else echo MISSING; fi
|
|
115
|
+
test -f ~/.claude/docs/agent-coordination.md && echo DOC_OK || echo DOC_MISSING
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**If `MISSING`**, insert the v3 block into `~/.claude/CLAUDE.md` immediately after the `## Inbox` section (use the Edit tool, marker comments verbatim):
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
<!-- greprag-conventions:start v3 -->
|
|
122
|
+
## Chip Spawning & Agent Coordination
|
|
123
|
+
|
|
124
|
+
Delegating work — `spawn_task` chip vs `Agent` tool, two chip modes, the worktree-first + inbox-report + reply-listening convention. Full spec: `~/.claude/docs/agent-coordination.md`.
|
|
125
|
+
|
|
126
|
+
**Two chip modes** — pick deliberately:
|
|
127
|
+
- **Mode A (default) — ship chip.** Lands in a worktree, ships code, user-in-loop optional. The workhorse. A chip that dispatches its own `Agent` sub-tasks mid-work is still Mode A — that's a behavior, not a peer mode.
|
|
128
|
+
- **Mode B — discussion chip.** Lands as a context-rich conversation partner. Reads code, proposes, iterates. Ships nothing without explicit go-ahead. Output is a decision or a scoped follow-up chip. Reach for B the moment you notice you're proposing architecture from partial grep reads.
|
|
129
|
+
|
|
130
|
+
**Spawn primitives** (not modes — pick by what fits the work):
|
|
131
|
+
- `spawn_task` — Mode A or B chip. Worktree, chip UI, persistence, optional cross-project via `cwd:`.
|
|
132
|
+
- `Agent` — one-shot delegation, returns once to caller. No chip lifecycle. Pass `subagent_type` (Explore / Plan / general-purpose / code-reviewer) when a specialized shape fits.
|
|
133
|
+
|
|
134
|
+
**Non-negotiables for every `spawn_task` chip prompt:** (0.5) project facts pulled from `greprag fact`, (1) worktree-first setup, (2) `greprag send` report-back, (3) `Monitor` on own inbox for follow-ups. Without them the chip pollutes the main checkout, has no return channel, or dies after one report. Copy the boilerplate verbatim from the deep doc.
|
|
135
|
+
|
|
136
|
+
**Reply listening (any session, not just chips).** Any time you `greprag send` a message that could draw a directive in response, arm a `Monitor` watcher on your own inbox in the same turn — `greprag inbox watch --session <own-session-id> --json` with `persistent: true` (or `--project <own-project>` as a project-wide fallback when no session identity is available). The Stop hook only fires between user prompts; without Monitor, mid-task replies are invisible until the next stop boundary.
|
|
137
|
+
|
|
138
|
+
For real-time chip reports, the parent runs `greprag inbox watch --session <parent-session-id>` (preferred) or `--project <parent-project>` under `Monitor` BEFORE spawning. Each stdout line = one notification. Do NOT use `Bash(run_in_background)` — it only fires on process completion, not per line; a watcher never exits, so the parent gets zero events.
|
|
139
|
+
<!-- greprag-conventions:end v3 -->
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**If `V2_UPGRADE`**, replace the entire `<!-- greprag-conventions:start v2 -->` … `<!-- greprag-conventions:end v2 -->` block (inclusive of markers) with the v3 block above. Tell the user "Upgrading greprag-conventions v2 → v3 (collapses Mode B mission-commander into Mode A behavior; renames Mode C to Mode B = discussion chip)." Don't preserve any v2 content — v3 supersedes.
|
|
143
|
+
|
|
144
|
+
**If `V1_UPGRADE`**, replace the entire `<!-- greprag-conventions:start v1 -->` … `<!-- greprag-conventions:end v1 -->` block (inclusive of markers) with the v3 block above. Tell the user "Upgrading greprag-conventions v1 → v3 (adds Block 3 reply-listening; reframes modes as ship chip + discussion chip)." Don't preserve any v1 content — v3 supersedes.
|
|
145
|
+
|
|
146
|
+
**If `DOC_MISSING`**, copy the canonical content from the template shipped with this skill:
|
|
147
|
+
```bash
|
|
148
|
+
mkdir -p ~/.claude/docs && cp ~/.claude/skills/greprag/templates/agent-coordination.md ~/.claude/docs/agent-coordination.md
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
If `DOC_OK` but you just upgraded from v1 or v2, overwrite the doc too (the v3 template carries the new mode framing + operating guidelines + detection signals):
|
|
152
|
+
```bash
|
|
153
|
+
cp ~/.claude/skills/greprag/templates/agent-coordination.md ~/.claude/docs/agent-coordination.md
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
The deep doc covers Block 0.5 (project-facts pull), Block 1 (worktree-first), Block 2 (inbox report-back), Block 3 (reply-listening), parent-side watcher, Mode A operating guidelines + sub-Agent dispatch (3-layer chain when needed), Mode B detection signals + operating guidelines, and anti-patterns.
|
|
157
|
+
|
|
158
|
+
Re-run the grep to confirm install. Markers must stay verbatim — they're how subsequent `/greprag` runs detect "already installed" and skip this step.
|
|
159
|
+
|
|
160
|
+
## Step 3c — Permission allowlist (only if `MON_MISSING` from Step 1)
|
|
161
|
+
|
|
162
|
+
Without `Monitor` in the allowlist, every inbox-watcher firing prompts the user to approve. That breaks the reply-listening convention — chip and parent sessions both arm watchers as background tasks, and a permission dialog mid-task drops the agent out of flow.
|
|
163
|
+
|
|
164
|
+
Read `~/.claude/settings.json` and confirm `permissions.allow` contains `"Monitor"`. If not, add it. Recommended baseline for greprag users:
|
|
165
|
+
|
|
166
|
+
```json
|
|
167
|
+
{
|
|
168
|
+
"permissions": {
|
|
169
|
+
"allow": [
|
|
170
|
+
"Bash(*)",
|
|
171
|
+
"Monitor",
|
|
172
|
+
"Read", "Edit", "Write", "Grep", "Glob",
|
|
173
|
+
"WebFetch", "WebSearch", "Skill", "Agent", "Task"
|
|
174
|
+
]
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
`Bash(*)` already covers `greprag inbox`, `greprag send`, `greprag retract`, `greprag watch` etc. — no per-command allow entries needed once Bash is broadly trusted. `Monitor` is the missing piece, because it's its own tool (not Bash) and prompts independently.
|
|
180
|
+
|
|
181
|
+
If the user has a tighter Bash policy (no `Bash(*)`), the per-command minimum for greprag is:
|
|
182
|
+
- `Bash(greprag *)` — covers send, inbox, retract, watch, status, discover
|
|
183
|
+
- `Bash(greprag-hook *)` — covers the hook commands installed in Step 3
|
|
184
|
+
- `Monitor` — inbox watchers
|
|
185
|
+
|
|
186
|
+
Tell the user the change you're proposing before editing settings.json. Don't silently broaden their permission posture.
|
|
187
|
+
|
|
188
|
+
## Step 3d — Channel plugins (if user has Discord / Telegram / iMessage plugins enabled)
|
|
189
|
+
|
|
190
|
+
Adjacent gotcha worth surfacing during setup. Check whether any channel plugin is enabled in either global or any project `settings.json`:
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
grep -lE '"(discord|telegram|imessage|fakechat)@claude-plugins-official":\s*true' \
|
|
194
|
+
~/.claude/settings.json \
|
|
195
|
+
$(find . -maxdepth 3 -path '*/.claude/settings.json' 2>/dev/null) 2>/dev/null
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
If any match: tell the user that channel push delivery requires the `--channels` flag at session launch — being in `settings.json` and `.mcp.json` is not enough. Specifically:
|
|
199
|
+
|
|
200
|
+
- **Setting enables the MCP server to load** → its tools (e.g. `reply`, `fetch_messages`) become available.
|
|
201
|
+
- **`--channels plugin:<name>@<marketplace>` at launch enables push** → inbound `notifications/claude/channel` events surface as `<channel>` blocks in the session context.
|
|
202
|
+
|
|
203
|
+
Without `--channels`, the bot can be DM'd and the bun server receives the event, but Claude Code's harness filters it out. Users observe "typing indicator fires, then bot times out without replying."
|
|
204
|
+
|
|
205
|
+
The flag is hidden from `claude --help` on 2.1.149 (research preview) but accepted on 2.1.80+. **FleetView / Claude Desktop's CCD launcher does not pass `--channels`** — push delivery only works from terminal-launched sessions. Recommend the user launch one terminal-rooted Claude session in the project where the plugin is enabled:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
cd <project-with-plugin>
|
|
209
|
+
claude --channels plugin:discord@claude-plugins-official
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
FleetView sessions can still call the plugin's REST tools as a polling workaround, but the realtime path is terminal-only until the launcher catches up.
|
|
213
|
+
|
|
214
|
+
Also recommend: scope the plugin to a single project's `.claude/settings.json`, not global. Discord allows exactly one gateway connection per bot token; if multiple sessions all have the plugin enabled, the bun servers race for the token and Discord drops all but one.
|
|
215
|
+
|
|
86
216
|
## Step 4 — Project anchor (only if `project.anchor_found === false`)
|
|
87
217
|
|
|
88
218
|
The current folder has no `.claude/project.json`. Ask the user:
|
|
@@ -157,6 +287,13 @@ To send a plain message:
|
|
|
157
287
|
greprag send "<markdown body>" --to <address>
|
|
158
288
|
```
|
|
159
289
|
|
|
290
|
+
`send` prints two lines on success — the delivered-to confirmation **and a retract code**:
|
|
291
|
+
```
|
|
292
|
+
Sent to alice@example.com/paybot (a7f3c5e2)
|
|
293
|
+
Retract: greprag retract K9M2X4P7QV
|
|
294
|
+
```
|
|
295
|
+
The retract code lets the sender pull the message back without layering follow-up "SUPERSEDES" notes on top. See Step 5d.
|
|
296
|
+
|
|
160
297
|
To send a **rich message** with back-pointers — preferred whenever the message refers to a memory row, a shipped artifact, or specific code lines:
|
|
161
298
|
```bash
|
|
162
299
|
greprag send "Quick heads up — the auth bug I described yesterday repros here." \
|
|
@@ -195,7 +332,79 @@ Project-level addressing is the fallback whenever no specific session is in mind
|
|
|
195
332
|
|
|
196
333
|
Auto-read semantics: any message returned by `greprag inbox` (without `--all`) is marked read in the same call. Once read, it stops appearing in notifications. TTL deletes read messages after 14 days. Use `keep` to extend before expiry.
|
|
197
334
|
|
|
198
|
-
## Step 5c —
|
|
335
|
+
## Step 5c — Watching the inbox (push delivery)
|
|
336
|
+
|
|
337
|
+
When you've spawned chips that will report back via `greprag send`, or you're waiting on any message that needs to land in real time, run a live SSE watcher instead of polling `greprag inbox` on a heartbeat:
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
greprag inbox watch # tenant-wide stream
|
|
341
|
+
greprag inbox watch --project <name> # only messages addressed to this project
|
|
342
|
+
greprag inbox watch --session <id> # only messages targeting this session (plus broadcasts)
|
|
343
|
+
greprag inbox watch --since <id-or-iso> # resume from a known cursor
|
|
344
|
+
greprag inbox watch --json # emit one JSON object per line (preferred under Monitor)
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
`--project` and `--session` compose — pass both when a session lives inside a specific project's inbox space. `--session` is the strictest filter: only messages with matching `to_session_id` (or `to_session_id IS NULL` for broadcasts) get through. This is what eliminates cross-session noise when several Claude sessions watch the same project's inbox at once.
|
|
348
|
+
|
|
349
|
+
Each message arrives within ~500ms of the sender's `greprag send` (210ms verified end-to-end). The connection is held open and auto-reconnects with exponential backoff if the server drops; the watcher tracks the last seen message id and uses it as `since=` on reconnect, so nothing is dropped and nothing is duplicated.
|
|
350
|
+
|
|
351
|
+
**Liveness model (post v0.8.5):** the server emits an SSE `: ping` comment every 15s. The client tracks time since the last byte and treats 60s of total silence (4 missed pings) as a dead stream — aborts the fetch, reconnects with the preserved cursor, and the server's per-tenant InboxDO replays any rows that landed in the gap from its tail buffer (or backfills from the DB for older gaps). After replay, the server emits an `event: replay-complete` SSE event with the row count so the watcher logs `replayed N missed row(s), resuming live tail` to stderr. Disconnects and reconnect attempts also log to stderr with the cursor — debugging silent gaps no longer requires inspecting the running process. Pre-`fix`, a silently half-open TCP socket would hang the watcher indefinitely with no log; that failure mode is gone, but watcher delivery is still opportunistic — the `UserPromptSubmit` hook remains the correctness guarantee, surfacing any unread messages at the next user turn.
|
|
352
|
+
|
|
353
|
+
**Two canonical patterns:**
|
|
354
|
+
|
|
355
|
+
### Parent-side: watch for chip reports BEFORE spawning
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
# Parent arms a Monitor scoped to its own session, then spawns the chip
|
|
359
|
+
# (chip prompt's Block 2 sends with --session <parent-session-id>).
|
|
360
|
+
# Each chip's "done" report becomes one Monitor notification, with no cross-talk
|
|
361
|
+
# from other chips or sessions sharing the parent's project inbox.
|
|
362
|
+
greprag inbox watch --session <parent-session-id> --json
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
If the parent has no session identity (rare — older sessions before session-scope shipped), fall back to `--project <parent-project>`. The chip then sends without `--session` and the message reaches every watcher under the project.
|
|
366
|
+
|
|
367
|
+
### Post-send: listen for replies after `greprag send`
|
|
368
|
+
|
|
369
|
+
Any session that sends a message that could draw a directive in response arms the same watcher on its own inbox in the same turn. Without this, the Stop hook is the only path for the reply to surface — and Stop only fires between user prompts. Mid-task replies are invisible until the next stop boundary.
|
|
370
|
+
|
|
371
|
+
```bash
|
|
372
|
+
# After: greprag send "..." --to <someone>/<their-project>/<their-session> \
|
|
373
|
+
# --from-session <own-session-id>
|
|
374
|
+
# Arm: greprag inbox watch --session <own-session-id> --json (Monitor, persistent: true)
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
The `--from-session` flag on the outgoing message tells the recipient where to address replies; the `--session` filter on the watcher narrows incoming traffic to messages aimed at this exact session (plus general broadcasts). No more sibling-chip cross-talk and no self-echo from tenant-wide sends.
|
|
378
|
+
|
|
379
|
+
This is also the Block 3 pattern for chips — see `~/.claude/docs/agent-coordination.md`. The same rule applies to main sessions, advisor sessions, and any other context that pings someone and expects a response.
|
|
380
|
+
|
|
381
|
+
**Run it under the `Monitor` agent tool, `persistent: true`.** Monitor emits one notification per stdout line — the agent reacts the moment a message lands. **Do NOT use `Bash(run_in_background: true)`** — Bash background notifies only on process completion, and a watcher runs forever, so the agent gets zero events until it manually reads the output file. Confirmed bug, learned the hard way. Stop with `TaskStop` on the Monitor task when the watch is truly no longer needed.
|
|
382
|
+
|
|
383
|
+
The watcher is the right default whenever you'd otherwise loop `greprag inbox` every N seconds — lower latency, cheaper, doesn't burn quota on empty polls.
|
|
384
|
+
|
|
385
|
+
## Step 5d — Retracting a message you just sent
|
|
386
|
+
|
|
387
|
+
`send` returns a retract code (printed after `Retract:` on the second line of the success output). Use it when you realize a message was wrong-framed and want to pull it back instead of stacking a follow-up "SUPERSEDES" note on top:
|
|
388
|
+
|
|
389
|
+
```bash
|
|
390
|
+
greprag retract <code>
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
Behavior is decided by the server based on whether the recipient has already read the message:
|
|
394
|
+
|
|
395
|
+
- **Unread** → the row is hard-deleted. Recipient never sees it. Output: `Retracted (status: deleted — recipient had not read it).`
|
|
396
|
+
- **Read** → message body is replaced with `[RETRACTED BY SENDER at <ts>]`. Recipient still sees the row in `inbox --all`, but the original body is gone. Output: `Marked retracted (status: retracted_after_read — recipient had already read; they'll see the retraction notice in place of the original body).`
|
|
397
|
+
- **Already retracted** → no-op, idempotent. Output: `Already retracted (status: already_retracted — no change).`
|
|
398
|
+
- **Unknown code** → no error, just confirms nothing happened. Output: `Not found (status: not_found — code does not match any message you sent, or the message has already expired).`
|
|
399
|
+
|
|
400
|
+
**When to retract vs. when to send a SUPERSEDES follow-up:**
|
|
401
|
+
- Just sent it, recipient hasn't read yet, and the framing was wrong? → `greprag retract`. Clean inbox state, zero noise.
|
|
402
|
+
- Recipient has already read it? → `greprag retract` still beats a stacked follow-up — they get a placeholder instead of a confusing stale message — and then send a fresh `greprag send "<corrected message>"` with the right framing.
|
|
403
|
+
- Recipient acted on the message already (committed code, made a decision)? → send a follow-up `SUPERSEDES <old-id>: <correction>` so they have full context on what changed and why. Retract still works alongside this to clean the original.
|
|
404
|
+
|
|
405
|
+
Retract codes are sender-scoped — your code cannot retract a message someone else sent. Codes stay valid until the message expires (14 days unread, longer if `keep`'d).
|
|
406
|
+
|
|
407
|
+
## Step 5e — Health & repair (when memory looks wrong)
|
|
199
408
|
|
|
200
409
|
Triggers: user says "memory looks empty", "I'm missing my history", "fix greprag here", "are there orphans", "consolidate my project IDs"; or `greprag status` reports identity drift; or the session-start recap printed a "[GrepRAG memory: identity drift detected ...]" line.
|
|
201
410
|
|
|
@@ -218,7 +427,7 @@ Flags:
|
|
|
218
427
|
|
|
219
428
|
Repair is fully tenant-scoped via the API — `greprag doctor` only ever touches rows under the caller's tenant, and the merge runs in a transaction so a partial failure rolls back cleanly.
|
|
220
429
|
|
|
221
|
-
## Step
|
|
430
|
+
## Step 5f — Corpus (upload + search arbitrary text)
|
|
222
431
|
|
|
223
432
|
Episodic memory captures the agent's own work. **Corpus** is the other direction: upload a book, a codebase, a reference doc, a writing-sample library — any text — and search it with lexical grep enriched by write-side vocabulary bridging. Same substrate, same retrieval modes; just a different `kind` on the store.
|
|
224
433
|
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
# Agent Coordination
|
|
2
|
+
|
|
3
|
+
How sessions delegate work — chips, agents, and the multi-tier orchestrator pattern. Companion to `/greprag` (inbox transport) and `~/.claude/CLAUDE.md` (the lean reference).
|
|
4
|
+
|
|
5
|
+
## Two tools, two purposes
|
|
6
|
+
|
|
7
|
+
| Tool | What it spawns | Lands in | Parameters | When to use |
|
|
8
|
+
|---|---|---|---|---|
|
|
9
|
+
| `mcp__ccd_session__spawn_task` | Full Claude Code session ("chip") | Any cwd via `cwd:` param | title, prompt, tldr, cwd | Cross-project work; long-running coordination; user-visible chip UI |
|
|
10
|
+
| `Agent` tool | Subagent instance | Current session's cwd | subagent_type, model, isolation, prompt, run_in_background | One-shot work inside this project; needs specific model/agent type |
|
|
11
|
+
|
|
12
|
+
Picking between them:
|
|
13
|
+
|
|
14
|
+
- **Cross-project? → `spawn_task`** (only it has `cwd`).
|
|
15
|
+
- **In this project, one-shot, specific model? → `Agent`** with `isolation: "worktree"`.
|
|
16
|
+
- **In this project, long campaign? → either** — chip if you want a persistent UI surface; Agent if it's a single delegation.
|
|
17
|
+
|
|
18
|
+
## Chip convention (every `spawn_task` call)
|
|
19
|
+
|
|
20
|
+
A chip prompt = **Block 0.5 (project facts, optional)** + **Block 1 (worktree-first)** + the actual task + **Block 2 (report back via inbox)** + **Block 3 (stay listening for follow-up)**. Non-negotiable: 1/2/3. Without them the chip pollutes the main checkout (no isolation), the parent has no return channel, or the chip dies after one report and can't be redirected on follow-up. Block 0.5 is recommended but skip when the project has no seeded facts yet.
|
|
21
|
+
|
|
22
|
+
### Block 0.5 — Project facts (prepend; pull pattern)
|
|
23
|
+
|
|
24
|
+
Before composing the chip prompt, the spawning agent pulls the target project's `chip-startup` facts and inlines them at the top of the prompt:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
greprag fact query --scope chip-startup --project <chip-project> --limit 10 --format markdown
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
If the output is non-empty, wrap it in a `**Project Facts (do not re-discover)**` block at the very top of the prompt:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
**Project Facts (do not re-discover):**
|
|
34
|
+
|
|
35
|
+
1. <fact 1 verbatim>
|
|
36
|
+
2. <fact 2 verbatim>
|
|
37
|
+
...
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
If the output is empty, skip the block entirely — don't inject placeholder text.
|
|
43
|
+
|
|
44
|
+
**Why this exists.** Chips routinely burn 10–20 startup turns rediscovering project layout (where migrations live, which file owns the CLI dispatch, what the inbox storage shape is). Seeding those answers once and pulling them at spawn makes every future chip skip the search. Contribution side of the protocol — when to seed, scope naming, deliberate review — is in the `/greprag` skill § "Seeding learnings" (`~/.claude/skills/greprag/SKILL.md` or the package copy at `packages/cli/skill/SKILL.md`).
|
|
45
|
+
|
|
46
|
+
### Block 1 — Worktree-first (prepend to prompt)
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
**Setup — do this FIRST, before anything else:**
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
cd <chip-cwd>
|
|
53
|
+
git worktree add .claude/worktrees/<slug> -b chip/<slug>
|
|
54
|
+
cd .claude/worktrees/<slug>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
All edits, tests, and commits happen in the worktree. The main checkout stays untouched. Pick a slug that matches the chip's title (kebab-case, short — e.g. `discover-cli`, `doctor-merge-fix`).
|
|
58
|
+
|
|
59
|
+
**Your parent's session id is `<parent-session-id>`** — record it; you'll need it in Block 2 to address the report-back so only the parent sees it, not every sibling chip watching the same project inbox.
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Fill `<parent-session-id>` from your own (parent) session UUID when composing the spawn_task prompt. If you don't know your session UUID, fall back to project-level addressing throughout Block 2/3 — the chip then sends to `--to <email>/<parent-project>` (no session suffix) and the parent watches `--project <parent-project>` (no `--session`). Less precise, still correct.
|
|
63
|
+
|
|
64
|
+
Path convention: `<project>/.claude/worktrees/<slug>/` — same parent directory Claude Code Desktop uses for IDE-checkbox worktrees. One place to look for any active Claude worktree. Branch prefix `chip/` distinguishes agent-spawned from IDE-spawned (`claude/<auto-name>`), so `git branch` output shows provenance at a glance. `/clean-worktrees` skill cleans both.
|
|
65
|
+
|
|
66
|
+
`spawn_task` does NOT auto-create worktrees — only the `Agent` tool does (via `isolation: "worktree"`). Chips run wherever you point them, so the worktree setup must be explicit in the prompt itself.
|
|
67
|
+
|
|
68
|
+
**Chip cleanup discipline (HARD RULE — every chip prompt must enforce this).** Chips **commit and exit**. They do NOT run `git clean -fd`, `git reset --hard`, `git worktree remove` (any target), `git checkout <other-branch>`, raw `rm -rf` of directories, or any destructive shell command outside their own worktree's tracked files. If a chip needs to delete a file it created, use `git rm` and commit the deletion — never raw `rm`. The parent session owns post-merge worktree cleanup; chips never reach for it themselves. This rule exists because parallel worktrees share `.git`, a poorly-scoped cleanup command can wipe another worktree's working tree, and the main checkout has been observed to lose `packages/*/src/` files in this exact pattern. Spawning agents: include "Chip cleanup discipline" verbatim in Block 1 of every chip prompt.
|
|
69
|
+
|
|
70
|
+
### Block 2 — Report back via greprag inbox (append to prompt)
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
**When done (or stuck), report back via greprag inbox:**
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
greprag send "<status>: <commit hash> on chip/<slug> — <one-line>" \
|
|
77
|
+
--to <your-tenant-email>/<parent-project> \
|
|
78
|
+
--session <parent-session-id> \
|
|
79
|
+
--from-session <own-session-id> \
|
|
80
|
+
--artifact commit:<hash> \
|
|
81
|
+
--file <key-file-path>
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
- `<status>`: `done` | `blocked` | `partial`
|
|
85
|
+
- `<parent-project>`: the project_name of the session that spawned you (it's in this prompt's metadata if unknown)
|
|
86
|
+
- `<parent-session-id>`: filled in by the spawning session in Block 1 of this prompt.
|
|
87
|
+
- `<own-session-id>`: this chip's own session UUID. Denormalized onto the message so the parent can address replies back without re-discovering the chip's identity.
|
|
88
|
+
- Body ≤280 chars where possible. If blocked, name the blocker explicitly.
|
|
89
|
+
- Use `--artifact` and `--file` flags to back-reference the actual work (see `/greprag` skill).
|
|
90
|
+
|
|
91
|
+
If `<parent-session-id>` is unknown (parent didn't pass one), drop both `--session` and `--from-session` — the message falls back to project-wide delivery and reaches every watcher under `<parent-project>`, including the parent.
|
|
92
|
+
|
|
93
|
+
Send the report BEFORE exiting. The parent agent reads `greprag inbox` on its next turn and picks it up — no polling, no manual chasing.
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Block 3 — Stay listening for follow-up (append to prompt, runs after Block 2)
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
**After sending the done report, stay reachable for follow-ups:**
|
|
100
|
+
|
|
101
|
+
Arm a `Monitor` on your own inbox so any directive from main lands as an in-session event. Run this under the **`Monitor`** tool with `persistent: true`:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
greprag inbox watch --session <own-session-id> --json
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
- `<own-session-id>` is the chip's own session UUID — same one passed as `--from-session` in Block 2. The filter narrows the stream to messages aimed at this exact session plus broadcasts; sibling chips watching the same project no longer pollute this feed.
|
|
108
|
+
- If you don't have a session id (older sessions), fall back to `--project <own-project> --json` — wider net but still correct.
|
|
109
|
+
- The chip then idles between events — no token burn, no polling. Each new inbox line = one notification.
|
|
110
|
+
- When the work is truly done and no follow-up is expected, call `TaskStop` on the Monitor task. Otherwise leave it armed until the session closes.
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Why not the Stop hook?** The greprag Stop hook ingests inbox messages between user prompts. A Mode B chip running autonomously may never hit a stop boundary; a Mode A chip waiting on a reply mid-task gets the reply only on the next manual interaction. Monitor delivers the reply as an in-session event the moment it lands — no hook lag, no missed directive.
|
|
114
|
+
|
|
115
|
+
## Reply listening (any session, not just chips)
|
|
116
|
+
|
|
117
|
+
The chip Block 3 pattern generalizes. Any session that sends a message expecting a directive in response should arm a Monitor on its own inbox in the same turn — before the send if you can, so a fast reply doesn't slip past. Use `greprag inbox watch --session <own-session-id> --json`, `persistent: true` (or `--project <own-project>` when no session identity is available). Same reasoning: the Stop hook is best-effort for session-end ingestion; Monitor is the only path that catches mid-task replies.
|
|
118
|
+
|
|
119
|
+
**Session scoping replaces the old self-echo workaround.** A `--session` watcher filters incoming traffic to messages whose `to_session_id` matches this session OR is null (broadcasts). A `greprag send --to <own-tenant-email>` (no project, no session) still echoes back as a broadcast and reaches every watcher — but the noise of sibling chips and unrelated project mail is gone. Old guidance: "expect echoes, ignore silently." New guidance: pass `--session <own-session-id>` on the watcher and the only echoes left are genuine broadcasts you actually want to see. To avoid even those, use `--to <email>/<project>/<their-session>` with `--from-session <own-session-id>` and the message lands in exactly one inbox.
|
|
120
|
+
|
|
121
|
+
## Parent-side: watch for the report
|
|
122
|
+
|
|
123
|
+
If you want the chip's report the instant it lands (not on next turn), start an SSE watcher in the background BEFORE spawning the chip:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
greprag inbox watch --session <parent-session-id> --json # preferred — single chip
|
|
127
|
+
greprag inbox watch --project <parent-project> # fallback / multi-chip campaigns
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
`--session` is the right default when the chip's Block 2 sends with `--session <parent-session-id>` — exactly one report lands in this watcher per chip. Use `--project` when you've spawned several chips at once and want all their reports on one stream (each chip still tags `--from-session <own-id>`, so the parent reads provenance per message).
|
|
131
|
+
|
|
132
|
+
**Run it under the `Monitor` agent tool.** Monitor emits one notification per stdout line — the parent agent reacts the moment a message lands. **Do NOT use `Bash(run_in_background: true)` for this** — Bash background only notifies on process completion, and a watcher runs forever, so the parent agent gets no events at all until it manually checks the output file. Burned this lesson once already.
|
|
133
|
+
|
|
134
|
+
Sub-1s delivery (verified 210ms in live test), auto-reconnects with cursor-based resume, no polling. Default to this whenever you're waiting on one or more chips. Full pattern: `~/.claude/skills/greprag/SKILL.md` § 5c.
|
|
135
|
+
|
|
136
|
+
## Parent-project name
|
|
137
|
+
|
|
138
|
+
When spawning, include `<parent-project>` (your current project_name) in the report-back template so the chip knows where to send the report. Get it via `greprag status --json | jq -r '.project.project_name'` or `greprag project-id`.
|
|
139
|
+
|
|
140
|
+
## Two chip modes
|
|
141
|
+
|
|
142
|
+
Both modes use the same Block 0.5 / 1 / 2 / 3 wrapper — the difference is what the chip does inside.
|
|
143
|
+
|
|
144
|
+
### Mode A — Ship chip (default)
|
|
145
|
+
|
|
146
|
+
The chip lands in its worktree, does the work, commits checkpoints as progress, reports back via inbox, stays listening for follow-ups. Whether you watch the chip UI mid-flight or it runs end-to-end and inboxes a `done` is a function of how tight the spec is, not a separate mode. A chip that dispatches its own `Agent` sub-tasks mid-work (the "mission commander" pattern) is still Mode A — the Agent dispatch is a behavior the chip's prompt unlocks, not a peer mode.
|
|
147
|
+
|
|
148
|
+
**Use when:** the work is "build X" or "fix Y" or "refactor Z" and the spec is clear enough to ship from. This is the workhorse — reach for it by default.
|
|
149
|
+
|
|
150
|
+
**Operating guidelines:**
|
|
151
|
+
|
|
152
|
+
1. **All edits, tests, builds, commits happen in the worktree.** Never reach into the parent checkout.
|
|
153
|
+
2. **Checkpoint commits.** Each logical unit of work gets its own commit (matches the global "checkpoint after every fix/feature" rule). Don't batch a whole feature into one final commit.
|
|
154
|
+
3. **Verify before reporting done.** Build passes, tests pass, hand-verify the change does what the spec asked. `done` means demonstrably working, not "I wrote code."
|
|
155
|
+
4. **Never push.** Parent owns the push boundary.
|
|
156
|
+
5. **No destructive commands.** `git clean`, `git reset --hard`, `git worktree remove`, `git checkout <foreign-branch>`, raw `rm -rf` — all forbidden. Use `git rm` for tracked deletions only.
|
|
157
|
+
6. **Mid-flight ambiguity → surface it, don't guess.** Either the user types into the chip UI to redirect, OR the chip `greprag send`s a question to main and Monitors its own inbox for the reply.
|
|
158
|
+
7. **Done-report carries proof.** Pass commit hashes via `--artifact commit:<hash>` and key file paths via `--file <path>`. Not just prose.
|
|
159
|
+
|
|
160
|
+
**Sub-Agent dispatch (still Mode A).** When a discrete sub-task fits a specialized agent (`Explore` for read-only search, `Plan` for design work, `general-purpose` for execution, `code-reviewer` for second opinion), the chip can call `Agent` directly. Pass `model: "haiku" | "sonnet" | "opus"` to scale cost to task. The chip evaluates the Agent's return value and either continues, dispatches another Agent, or inboxes back to main.
|
|
161
|
+
|
|
162
|
+
This gives you a three-layer chain when sub-tasks span model tiers or operator chatter would pollute main's context:
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
Main session (Opus) ← strategic orchestrator
|
|
166
|
+
↓ spawn_task(cwd: <target-project>, prompt: "...")
|
|
167
|
+
Mode A chip (Opus) ← tactical commander in target project
|
|
168
|
+
↓ Agent(subagent_type, model, isolation: "worktree")
|
|
169
|
+
Subagent (any model/type) ← field operator
|
|
170
|
+
↑ Agent returns to chip
|
|
171
|
+
Chip evaluates, may spawn more Agents, may inbox up
|
|
172
|
+
↑ greprag send → <your-tenant-email>/<main-project>
|
|
173
|
+
Main session reads inbox, gives next directive via greprag send
|
|
174
|
+
↓ <your-tenant-email>/<chip-project>
|
|
175
|
+
Chip continues
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**What each layer owns:**
|
|
179
|
+
|
|
180
|
+
- **Main** — strategy. Decides what gets delegated. Stays Opus; never burns context on routine sub-tasks.
|
|
181
|
+
- **Chip** — tactical coordination inside a target project. Persists across multiple Agent rounds. Receives directives from main via inbox, dispatches operators, evaluates results, asks for clarification if needed. Picks model per sub-task.
|
|
182
|
+
- **Agent / subagent** — execution. Specific subagent_type and model fit to the task. Returns once when done.
|
|
183
|
+
|
|
184
|
+
**Communication channels:**
|
|
185
|
+
|
|
186
|
+
- Main ↔ chip: greprag inbox (`<email>/<parent-project>` ↔ `<email>/<chip-project>`).
|
|
187
|
+
- Chip ↔ subagent: direct return value from the `Agent` tool (no inbox needed — same session).
|
|
188
|
+
|
|
189
|
+
Skip the layering when one Agent call would do — direct dispatch from main is simpler.
|
|
190
|
+
|
|
191
|
+
### Mode B — Discussion chip
|
|
192
|
+
|
|
193
|
+
The chip lands NOT to ship code, but to be a context-rich conversation partner for design / architecture / debugging questions the orchestrator can't reason about well from grep snippets. The chip reads code as needed, proposes, receives push-back, iterates. Ships nothing without explicit go-ahead — often ships nothing at all and just produces a decision or a scoped follow-up chip prompt.
|
|
194
|
+
|
|
195
|
+
**Detection signals — switch to Mode B when ANY of these fire:**
|
|
196
|
+
|
|
197
|
+
1. **You catch yourself extrapolating from partial reads.** "Based on these grep hits I think X" — the moment "I think" or "based on snippets" enters your reasoning about architecture, that's the signal. A chip with the repo loaded ground-truths this. Single biggest signal.
|
|
198
|
+
2. **The user's question is "how should this be shaped?" not "build X."** Design / architecture / "is this the right approach?" / "why is this code like this?" — Mode B. Implementation tasks — Mode A.
|
|
199
|
+
3. **The user wants to think out loud.** "Bounce something off you" / "thoughts?" / "talk me through this." They want a conversation, not a deliverable.
|
|
200
|
+
4. **The work will touch multiple subsystems and second-order effects are unknown.** Mode B chip explores the coupling, surfaces what main missed; then either main implements (light coupling) or a follow-up Mode A chip gets a tightened spec (heavy coupling).
|
|
201
|
+
|
|
202
|
+
**Operating guidelines:**
|
|
203
|
+
|
|
204
|
+
- Read code; don't commit.
|
|
205
|
+
- The worktree is scratch space for proposed edits, not a place to ship from.
|
|
206
|
+
- Propose in the chip UI; receive pushback; iterate.
|
|
207
|
+
- Output is a decision: shipped (after explicit go-ahead → transitions into a Mode A finish), parked, or a scoped follow-up Mode A chip prompt.
|
|
208
|
+
- Report-back captures the outcome, not a deliverable.
|
|
209
|
+
|
|
210
|
+
**Chip prompts for Mode B look different from Mode A:**
|
|
211
|
+
|
|
212
|
+
- Frame the open question, not a deliverable.
|
|
213
|
+
- List the sub-questions the user has raised — give the chip the discussion thread, not a spec.
|
|
214
|
+
- Explicitly say "This is a discussion chip, not a task chip. Read code. Propose. Don't ship without go-ahead."
|
|
215
|
+
- Open with a "where do you want to start?" rather than a task list.
|
|
216
|
+
|
|
217
|
+
**Why this beats arguing in main:** orchestrator runs on what it can grep + read in-context. Anything beyond that is plausible-sounding extrapolation. A chip with the repo loaded catches "this coupling exists" / "this billing dependency is non-obvious" / "you missed a callsite" — corrections the orchestrator can't surface itself.
|
|
218
|
+
|
|
219
|
+
### Picking the slug, model, and subagent_type
|
|
220
|
+
|
|
221
|
+
- **Slug** — kebab-case, short, matches the chip's title. Becomes the worktree branch name (`chip/<slug>`) and the worktree directory (`<project>/.claude/worktrees/<slug>/`).
|
|
222
|
+
- **Model at the chip layer** — defaults to whatever the FleetView/CCD runtime assigns (currently Opus). `spawn_task` has no model param.
|
|
223
|
+
- **Model at the subagent layer** — pass `model: "sonnet"`/`"haiku"`/`"opus"` to the `Agent` tool. Default to the cheapest that fits the task.
|
|
224
|
+
- **subagent_type** — `Explore` for read-only search, `Plan` for design work, `general-purpose` for execution, `code-reviewer` (if installed) for second opinion. Full list in the `Agent` tool description.
|
|
225
|
+
|
|
226
|
+
### Anti-patterns
|
|
227
|
+
|
|
228
|
+
- **Chip running cleanup commands** — `git clean`, `git reset --hard`, `git worktree remove`, `git checkout` of foreign branches, raw `rm -rf`. Parallel worktrees share `.git`; a chip cleaning "itself" can hit main's working tree. Chips commit and exit; parent owns cleanup.
|
|
229
|
+
- **Chip without Block 1** — pollutes parent checkout. Always include the worktree-setup block.
|
|
230
|
+
- **Chip without Block 2** — parent has no way to know it landed. Always include the report-back block.
|
|
231
|
+
- **Chip without Block 3** — chip dies after one report; parent can't redirect. Always include the reply-listening block.
|
|
232
|
+
- **Sending an expected-reply message without arming Monitor** — Stop hook fires only between user prompts, so a mid-task reply is invisible. Arm `Monitor` on own inbox in the same turn as the `greprag send`.
|
|
233
|
+
- **Spawn_task when Agent would do** — extra session, extra context, slower turnaround. Only reach for spawn_task when you need cross-project or persistence.
|
|
234
|
+
- **Agent when spawn_task would do** — Agent can't change cwd, so cross-project delegation must go through spawn_task.
|
|
235
|
+
- **Polling `greprag inbox` in a loop** — use `greprag inbox watch` under Monitor instead. SSE push, sub-1s latency, free.
|
|
236
|
+
|
|
237
|
+
## Future blocks (planned, not yet defined)
|
|
238
|
+
|
|
239
|
+
- **Block 0 — Pre-spawn checklist.** Auto-fill parent-project name, generate slug from title, dry-run the worktree path for collisions. Reduces the boilerplate the spawning agent has to compose by hand.
|
|
240
|
+
|
|
241
|
+
**Shipped:** session-scoped routing (`--session` / `--from-session` on `greprag send`, `--session` on `greprag inbox watch`, 3-segment `<email>/<project>/<session-id>` address grammar) — the cleaner-routing solution previously planned as "ephemeral chip-inbox addresses." Lives directly on the canonical session UUID instead of synthesizing a chip-id, so no new address types or registry rows.
|
|
242
|
+
|
|
243
|
+
## See also
|
|
244
|
+
|
|
245
|
+
- `~/.claude/skills/greprag/SKILL.md` — inbox transport, watcher, retract, discover
|
|
246
|
+
- `~/.claude/CLAUDE.md` § Chip Spawning — the lean reference (5 lines) pointing here
|
|
247
|
+
- `~/.claude/CLAUDE.md` § Worktree env — sourcing `.env` from main repo when running in a worktree
|