docs: P14 — agent file receipt proven live (read tool on delivered path)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
h z
2026-05-15 22:01:30 +01:00
parent 5ab0eaf038
commit a9f2c17f84

View File

@@ -194,17 +194,23 @@ Guild1 :7002 = `test-guild1`, Guild2 :7003 = `test-guild2`, Frontend :8088).
`?access_token` download, 401, attachment persistence, canvas `?access_token` download, 401, attachment persistence, canvas
share/update/replace/delete + sharer-only/access enforcement; retention share/update/replace/delete + sharer-only/access enforcement; retention
deadline asserted, sweep logic unit-level only — not waited out). deadline asserted, sweep logic unit-level only — not waited out).
- **Plugin file delivery (P14)** verified live up to the agent boundary: - **Plugin file delivery (P14) — agent file receipt PROVEN live.**
human posts a file in Fabric → `wakeup` → plugin admits → **downloads After repointing the fabric binding to a real agent
the attachment with the agent's guild token** and sets local (`bindings[*].agentId` `echo`→`home-developer`, per `~/.openclaw/
`MediaPaths` → inbound turn runs through the kernel and returns cleanly. openclaw.json` — `echo` was never a defined agent), a human posted a
The agent→Fabric **reply leg (P13) could not be exercised** in the local file in Fabric → `wakeup` → plugin admitted → **downloaded the
openclaw instance: it emits **zero agent replies on any channel** (no attachment with the agent's guild token** to a temp dir → set local
responder wired — `echo` agentId is undefined so it falls back to `MediaPaths` → the openclaw agent then invoked its `read` tool on
`main`, whose model produces no deliverable output). That is a exactly that file (`/tmp/fabric-media-echo-<msgId>/0-<name>` in the
pre-existing environment gap, independent of Fabric. Bug found & fixed log). i.e. the uploaded file demonstrably reaches and is opened by the
during this test: `MediaUrls` (a `localhost` URL) tripped openclaw's agent. Bug found & fixed during this test: `MediaUrls` (a `localhost`
SSRF guard — now only local `MediaPaths` are passed. URL) tripped openclaw's SSRF guard — now only local `MediaPaths`/
`MediaTypes` are passed.
- The agent→Fabric **final-reply leg (P13) still not observed**: the
local kimi-backed agent ends its turn after the tool call without
emitting final text (no agent reply on any channel all day), so the
plugin's `deliver` is never called. Pre-existing local model/agent
behavior, independent of the Fabric files/canvas/plugin code.
- `discuss`/`work` differ only in x_type label; turn semantics identical — - `discuss`/`work` differ only in x_type label; turn semantics identical —
test one, both covered. test one, both covered.
- Desktop / Android submodules are out of scope (untouched). - Desktop / Android submodules are out of scope (untouched).