gossipcat 0.4.25 → 0.4.26
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-mcp/mcp-server.js +5249 -3759
- package/docs/HANDBOOK.md +21 -0
- package/package.json +1 -1
package/docs/HANDBOOK.md
CHANGED
|
@@ -55,6 +55,27 @@ The agent prompt in item 2 must see **nothing** about the surrounding orchestrat
|
|
|
55
55
|
|
|
56
56
|
This is a **security boundary**, not a style preference. See prior session 2026-04-08 and consensus `ff598432`.
|
|
57
57
|
|
|
58
|
+
**Optional elision protocol (`prompt_format: 'elided'`).** All three dispatch tools — `gossip_dispatch`, `gossip_run`, `gossip_collect` — accept an opt-in `prompt_format` parameter. The default `'inline'` is byte-identical to the description above. When the caller passes `'elided'`:
|
|
59
|
+
|
|
60
|
+
- The server writes the prompt body to `.gossip/dispatch-prompts/<taskId>.txt` (atomic temp-rename, `SAFE_NAME`-validated taskId).
|
|
61
|
+
- Item 1 contains a marker line of the form `[skills section elided: see <abspath>, <N> bytes — READ this file and pass its CONTENTS verbatim as the Agent(prompt: ...) value. Do NOT pass the path string.]`.
|
|
62
|
+
- **Item 2 is OMITTED entirely** — no skeleton, no placeholder. The orchestrator MUST `Read(<abspath>)` and forward the file contents verbatim to `Agent(prompt: ...)`. A missing file is a hard failure; never substitute the marker text for the prompt.
|
|
63
|
+
|
|
64
|
+
The on-disk prompt file carries ONLY the agent-facing prompt (identity + instructions + skills + task). It NEVER carries `relay_token`, `task_id`, the `AGENT_PROMPT:` tag prefix, or any other orchestration metadata — those stay in Item 1 only. Persistence: the absolute path is stored alongside the task in `.gossip/native-tasks.json` so `/mcp` reconnect can prune orphan files for tasks that no longer exist. Eviction is mtime-based (default 1h) plus aggregate eldest-eviction at 100 MB.
|
|
65
|
+
|
|
66
|
+
Example flow inside the consensus protocol when `prompt_format: 'elided'` is passed to `gossip_collect`:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
1. gossip_collect(task_ids: [...], consensus: true, prompt_format: 'elided')
|
|
70
|
+
2. → server writes .gossip/dispatch-prompts/<consensusId>__<agentId>.txt per cross-review participant
|
|
71
|
+
3. → returns ⚠️ EXECUTE NOW payload with one marker line per agent; PROMPTS section is ABSENT
|
|
72
|
+
4. → orchestrator Reads each cited file and passes contents verbatim to Agent(prompt: ...)
|
|
73
|
+
5. → gossip_relay_cross_review(consensus_id, agent_id, result) per agent
|
|
74
|
+
6. → gossip_collect(consensus: true) for final synthesized output
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Spec: `docs/specs/2026-05-18-native-dispatch-skill-handle-pattern.md` (Option B — server-side prompt elision).
|
|
78
|
+
|
|
58
79
|
### 5. Scoped agents write files, orchestrator commits
|
|
59
80
|
|
|
60
81
|
Scoped write mode (`write_mode: "scoped"`) lets agents write files within a directory scope but **not** run `git commit` or `shell_exec` (except read-only git commands). The orchestrator validates the agent's output and commits on their behalf. Worktree agents have full git access within their isolated branch.
|
package/package.json
CHANGED