Models coordinate subagents through send_message, interrupt_agent, list_agents,
and Team task owners, but every one of those addressed a member by a
36-character Session id. Each new child now has a name, unique among its
creator's children, recorded as a field of the subagent/catalog entry the
creator already appends (payload version 3).
The Session id stays the only execution identity for routing, authorization,
persistence, task ownership, and navigation. A name is a model-facing
reference: 1-32 lower-case letters, digits, or hyphens starting with a letter,
never `lead`, so a UUID never parses as one. Omission selects the first free
`agent-N`; an explicit duplicate or invalid name fails before startup. The
creator reserves the name synchronously at admission and releases it when the
catalog entry commits or startup fails, so no second write, rollback protocol,
or optional naming service exists.
The root is `lead`, and a descendant's full name is its path from the root
without a `lead/` prefix, such as `reviewer/checker`. Sibling-unique segments
make full names tree-unique without a root registry, and cold resume rebuilds
a member's path from the catalogs along its creation chain. A member below an
unnamed historical creator keeps its Session id as its name. resolveName()
reads only the catalogs along the path and grants no authority.
Tools, runtime-authored text, and the Web client consume names: delegation
takes an optional name and returns { kind, subagentId, name }; send_message and
interrupt_agent take `agent`; list_agents rows carry name, status, and
description; Team task results report the owner's name while storage keeps
ownerId; identity runtime context, message framing, and settlement notices use
full names. Recorded sessions, CLI and Web expectations, the Python runtime
snapshots, bilingual docs, an upgrade guide, and an Agent Note follow.
28 lines
13 KiB
JSON
28 lines
13 KiB
JSON
{"type":"session","version":4,"id":"{{session:1}}","createdAt":1790168901572,"cwd":"{{cwd}}","isSeeded":false,"delegationDepth":0,"agentPreset":"standard"}
|
|
{"type":"permission/preset","data":{"preset":"workspace-write"}}
|
|
{"type":"sandbox/mode","data":{"mode":"workspace-write"}}
|
|
{"type":"approval/policy","data":{"policy":"ask"}}
|
|
{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"inserted":[{"content":[{"type":"text","text":"Use the read tool exactly once per file to read sample.pyi, deploy.ps1 and table.csv in the current directory. Use these relative paths. Do not run commands or change files. Then reply exactly: Read all three files."}],"source":{"kind":"user","rpcId":"{{rpc:1}}","clientTimeZone":"{{clientTimeZone}}"},"role":"user","id":"{{message:1}}"}]}}
|
|
{"type":"turn/start","data":{"turn":1}}
|
|
{"type":"agent/inbox/spliced","data":{"target":"next-turn","start":0,"removedCount":1,"inserted":[]}}
|
|
{"type":"step/start","data":{"turn":1,"step":1}}
|
|
{"type":"system/message","data":{"turn":1,"step":1,"message":{"role":"system","content":[{"type":"text","text":"{{system}}"}],"source":{"kind":"system-prompt"},"id":"{{message:2}}"}},"surfaceOp":"append"}
|
|
{"type":"user/message","data":{"content":[{"type":"text","text":"Use the read tool exactly once per file to read sample.pyi, deploy.ps1 and table.csv in the current directory. Use these relative paths. Do not run commands or change files. Then reply exactly: Read all three files."}],"source":{"kind":"user","rpcId":"{{rpc:1}}","clientTimeZone":"{{clientTimeZone}}"},"role":"user","id":"{{message:1}}"},"surfaceOp":"append"}
|
|
{"type":"user/message","data":{"content":[{"type":"text","text":"Current runtime context. This snapshot supersedes earlier runtime-context snapshots.\n\nCurrent working directory: \"{{cwd}}\".\n\nCurrent DSH file policy: workspace-write. Any available operation enforced by the DSH file sandbox may modify files under the session workspace: \"{{cwd}}\". Some platform temporary areas may also be writable.\n\nApproval prompts are enabled in this session: operations that require approval may ask through the configured answerers; without an available answerer, the request fails closed.\n\nYou are the root agent. Your name is \"lead\".\n\nTo message other agents, use send_message({ agent: \"<agent-name>\", message: \"...\" }).\nUse list_agents({}) to find your collaborator agents and their names.\n\nCurrent DeepSeek Harness implementation checkout: \"{{sourceRoot}}\".\n\nCurrent DeepSeek Harness Web GUI URL: \"{{webUrl}}\"."}],"source":{"kind":"runtime-context","form":"snapshot","sections":[{"name":"working-directory:current","text":"Current working directory: \"{{cwd}}\"."},{"name":"sandbox:policy","text":"Current DSH file policy: workspace-write. Any available operation enforced by the DSH file sandbox may modify files under the session workspace: \"{{cwd}}\". Some platform temporary areas may also be writable."},{"name":"approval:policy","text":"Approval prompts are enabled in this session: operations that require approval may ask through the configured answerers; without an available answerer, the request fails closed."},{"name":"subagent:identity","text":"You are the root agent. Your name is \"lead\".\n\nTo message other agents, use send_message({ agent: \"<agent-name>\", message: \"...\" }).\nUse list_agents({}) to find your collaborator agents and their names."},{"name":"harness:source","text":"Current DeepSeek Harness implementation checkout: \"{{sourceRoot}}\"."},{"name":"app:web-surface","text":"Current DeepSeek Harness Web GUI URL: \"{{webUrl}}\"."}]},"role":"user","id":"{{message:3}}"},"surfaceOp":"append"}
|
|
{"type":"user/message","data":{"content":[{"type":"text","text":"Time sampled while preparing turn 1, step 1: {{timeContextTimestamp}}\nBrowser time zone for this request: {{clientTimeZone}}. Interpret otherwise-unqualified dates and times in this zone.\nElapsed since the preceding model-visible message: {{elapsed}}"}],"source":{"kind":"time-context","form":"snapshot","sections":[{"name":"time-context","text":"Time sampled while preparing turn 1, step 1: {{timeContextTimestamp}}\nBrowser time zone for this request: {{clientTimeZone}}. Interpret otherwise-unqualified dates and times in this zone.\nElapsed since the preceding model-visible message: {{elapsed}}"}]},"role":"user","id":"{{message:4}}"},"surfaceOp":"append"}
|
|
{"type":"request/header","data":{"header":{"config":{"provider":"deepseek-official","model":"deepseek-v4-flash"},"tools":"{{tools}}"},"reason":"initial"}}
|
|
{"type":"request/context","data":{"provider":"deepseek-official","model":"deepseek-v4-flash","contextWindow":128000}}
|
|
{"type":"session/title","data":{"title":"Use the read tool exactly","messageSeqs":[8],"source":{"kind":"fallback"}}}
|
|
{"type":"assistant/message","data":{"turn":1,"step":1,"message":{"role":"assistant","content":[{"type":"reasoning","text":""},{"type":"text","text":"I'll read all three files using relative paths."},{"type":"tool-call","id":"call_00_ET_nKb413CLHY4ZbMBLeVJN2517","name":"read","arguments":"{\"file_path\": \"sample.pyi\"}"},{"type":"tool-call","id":"call_01_ET_HiRgELJvL5dI2PIxnu999728","name":"read","arguments":"{\"file_path\": \"deploy.ps1\"}"},{"type":"tool-call","id":"call_02_ET_k9GpNdJStUxsjDllNP754755","name":"read","arguments":"{\"file_path\": \"table.csv\"}"}],"source":{"kind":"model","provider":"deepseek-official","model":"deepseek-v4-flash","replayState":{"response":{"kind":"deepseek-messages","version":1,"model":"deepseek-flash"},"blocks":[{"type":"reasoning","signature":"6fbf31d2-a4c1-40ec-bbf2-c3efa855e735"},{"type":"text"},{"type":"tool-call"},{"type":"tool-call"},{"type":"tool-call"}]}},"id":"{{message:5}}"},"usage":{"inputTokens":7328,"outputTokens":110,"cacheReadTokens":1152,"cacheWriteTokens":0,"totalTokens":8590},"stream":[{"type":"chunk","time":1790389440330,"chunk":{"type":"block-start","index":0,"blockType":"reasoning"}},{"type":"chunk","time":1790389440330,"chunk":{"type":"block-end","index":0,"block":{"type":"reasoning","text":""}}},{"type":"chunk","time":1790389440330,"chunk":{"type":"block-start","index":1,"blockType":"text"}},{"type":"text-chunks","time0":1790389440331,"index":1,"dt":[0,0,0,0,0,0,0,0,0],"texts":["I","'ll"," read"," all"," three"," files"," using"," relative"," paths","."]},{"type":"chunk","time":1790389440331,"chunk":{"type":"block-end","index":1,"block":{"type":"text","text":"I'll read all three files using relative paths."}}},{"type":"chunk","time":1790389440331,"chunk":{"type":"block-start","index":2,"blockType":"tool-call"}},{"type":"tool-call-chunks","time0":1790389440331,"index":2,"dt":[],"id":"call_00_ET_nKb413CLHY4ZbMBLeVJN2517","name":"read","args":[""]},{"type":"tool-call-chunks","time0":1790389440331,"index":2,"dt":[0,0,0,0,0,0,0,0,0,0,0],"id":"call_00_ET_nKb413CLHY4ZbMBLeVJN2517","args":["{","\"","file","_path","\"",": ","\"","sample",".py","i","\"","}"]},{"type":"chunk","time":1790389440331,"chunk":{"type":"block-end","index":2,"block":{"type":"tool-call","id":"call_00_ET_nKb413CLHY4ZbMBLeVJN2517","name":"read","arguments":"{\"file_path\": \"sample.pyi\"}"}}},{"type":"chunk","time":1790389440331,"chunk":{"type":"block-start","index":3,"blockType":"tool-call"}},{"type":"tool-call-chunks","time0":1790389440331,"index":3,"dt":[],"id":"call_01_ET_HiRgELJvL5dI2PIxnu999728","name":"read","args":[""]},{"type":"tool-call-chunks","time0":1790389440332,"index":3,"dt":[0,0,0,0,0,0,0,0,0,0,0,0,0],"id":"call_01_ET_HiRgELJvL5dI2PIxnu999728","args":["{","\"","file","_path","\"",": ","\"","de","ploy",".","ps","1","\"","}"]},{"type":"chunk","time":1790389440332,"chunk":{"type":"block-end","index":3,"block":{"type":"tool-call","id":"call_01_ET_HiRgELJvL5dI2PIxnu999728","name":"read","arguments":"{\"file_path\": \"deploy.ps1\"}"}}},{"type":"chunk","time":1790389440332,"chunk":{"type":"block-start","index":4,"blockType":"tool-call"}},{"type":"tool-call-chunks","time0":1790389440332,"index":4,"dt":[],"id":"call_02_ET_k9GpNdJStUxsjDllNP754755","name":"read","args":[""]},{"type":"tool-call-chunks","time0":1790389440332,"index":4,"dt":[0,0,0,0,0,0,0,0,0,0],"id":"call_02_ET_k9GpNdJStUxsjDllNP754755","args":["{","\"","file","_path","\"",": ","\"","table",".csv","\"","}"]},{"type":"chunk","time":1790389440332,"chunk":{"type":"block-end","index":4,"block":{"type":"tool-call","id":"call_02_ET_k9GpNdJStUxsjDllNP754755","name":"read","arguments":"{\"file_path\": \"table.csv\"}"}}},{"type":"chunk","time":1790389440332,"chunk":{"type":"usage","usage":{"inputTokens":7328,"outputTokens":110,"cacheReadTokens":1152,"cacheWriteTokens":0,"totalTokens":8590}}},{"type":"chunk","time":1790389440332,"chunk":{"type":"finish","reason":{"kind":"tool-calls"},"replayState":{"response":{"kind":"deepseek-messages","version":1,"model":"deepseek-flash"},"blocks":[{"type":"reasoning","signature":"6fbf31d2-a4c1-40ec-bbf2-c3efa855e735"},{"type":"text"},{"type":"tool-call"},{"type":"tool-call"},{"type":"tool-call"}]}}}]},"surfaceOp":"append"}
|
|
{"type":"tool/call","data":{"turn":1,"step":1,"callId":"call_00_ET_nKb413CLHY4ZbMBLeVJN2517","name":"read","arguments":"{\"file_path\": \"sample.pyi\"}"}}
|
|
{"type":"tool/call","data":{"turn":1,"step":1,"callId":"call_01_ET_HiRgELJvL5dI2PIxnu999728","name":"read","arguments":"{\"file_path\": \"deploy.ps1\"}"}}
|
|
{"type":"tool/call","data":{"turn":1,"step":1,"callId":"call_02_ET_k9GpNdJStUxsjDllNP754755","name":"read","arguments":"{\"file_path\": \"table.csv\"}"}}
|
|
{"type":"tool/result","data":{"turn":1,"step":1,"message":{"role":"tool","source":{"kind":"tool","callId":"call_00_ET_nKb413CLHY4ZbMBLeVJN2517"},"toolCallId":"call_00_ET_nKb413CLHY4ZbMBLeVJN2517","content":[{"type":"text","text":"<path>{{cwd}}/sample.pyi</path>\n<type>file</type>\n<content>\n1: from typing import Protocol\n2: \n3: class Greeter(Protocol):\n4: def greet(self, name: str) -> str: ...\n\n(End of file - total 4 lines)\n</content>"}],"isError":false,"id":"{{message:6}}"},"meta":{"path":"{{cwd}}/sample.pyi","offset":1,"lines":[{"number":1,"text":"from typing import Protocol"},{"number":2,"text":""},{"number":3,"text":"class Greeter(Protocol):"},{"number":4,"text":" def greet(self, name: str) -> str: ..."}],"totalLines":4,"lang":"py"}},"sourceEventSeqs":[15],"surfaceOp":"append"}
|
|
{"type":"tool/result","data":{"turn":1,"step":1,"message":{"role":"tool","source":{"kind":"tool","callId":"call_01_ET_HiRgELJvL5dI2PIxnu999728"},"toolCallId":"call_01_ET_HiRgELJvL5dI2PIxnu999728","content":[{"type":"text","text":"<path>{{cwd}}/deploy.ps1</path>\n<type>file</type>\n<content>\n1: param([string]$Name = \"World\")\n2: Write-Host \"Hello, $Name\"\n\n(End of file - total 2 lines)\n</content>"}],"isError":false,"id":"{{message:7}}"},"meta":{"path":"{{cwd}}/deploy.ps1","offset":1,"lines":[{"number":1,"text":"param([string]$Name = \"World\")"},{"number":2,"text":"Write-Host \"Hello, $Name\""}],"totalLines":2,"lang":"ps1"}},"sourceEventSeqs":[16],"surfaceOp":"append"}
|
|
{"type":"tool/result","data":{"turn":1,"step":1,"message":{"role":"tool","source":{"kind":"tool","callId":"call_02_ET_k9GpNdJStUxsjDllNP754755"},"toolCallId":"call_02_ET_k9GpNdJStUxsjDllNP754755","content":[{"type":"text","text":"<path>{{cwd}}/table.csv</path>\n<type>file</type>\n<content>\n1: name,count\n2: apples,12\n3: pears,7\n\n(End of file - total 3 lines)\n</content>"}],"isError":false,"id":"{{message:8}}"},"meta":{"path":"{{cwd}}/table.csv","offset":1,"lines":[{"number":1,"text":"name,count"},{"number":2,"text":"apples,12"},{"number":3,"text":"pears,7"}],"totalLines":3,"lang":"csv"}},"sourceEventSeqs":[17],"surfaceOp":"append"}
|
|
{"type":"step/end","data":{"turn":1,"step":1}}
|
|
{"type":"step/start","data":{"turn":1,"step":2}}
|
|
{"type":"assistant/message","data":{"turn":1,"step":2,"message":{"role":"assistant","content":[{"type":"reasoning","text":""},{"type":"text","text":"Read all three files."}],"source":{"kind":"model","provider":"deepseek-official","model":"deepseek-v4-flash","replayState":{"response":{"kind":"deepseek-messages","version":1,"model":"deepseek-flash"},"blocks":[{"type":"reasoning","signature":"abe8baee-c8c9-484f-8e93-36fab36f10ea"},{"type":"text"}]}},"id":"{{message:9}}"},"usage":{"inputTokens":341,"outputTokens":6,"cacheReadTokens":8576,"cacheWriteTokens":0,"totalTokens":8923},"stream":[{"type":"chunk","time":1790389440389,"chunk":{"type":"block-start","index":0,"blockType":"reasoning"}},{"type":"chunk","time":1790389440389,"chunk":{"type":"block-end","index":0,"block":{"type":"reasoning","text":""}}},{"type":"chunk","time":1790389440389,"chunk":{"type":"block-start","index":1,"blockType":"text"}},{"type":"text-chunks","time0":1790389440389,"index":1,"dt":[0,1,0,0],"texts":["Read"," all"," three"," files","."]},{"type":"chunk","time":1790389440390,"chunk":{"type":"block-end","index":1,"block":{"type":"text","text":"Read all three files."}}},{"type":"chunk","time":1790389440390,"chunk":{"type":"usage","usage":{"inputTokens":341,"outputTokens":6,"cacheReadTokens":8576,"cacheWriteTokens":0,"totalTokens":8923}}},{"type":"chunk","time":1790389440390,"chunk":{"type":"finish","reason":{"kind":"stop"},"replayState":{"response":{"kind":"deepseek-messages","version":1,"model":"deepseek-flash"},"blocks":[{"type":"reasoning","signature":"abe8baee-c8c9-484f-8e93-36fab36f10ea"},{"type":"text"}]}}}]},"surfaceOp":"append"}
|
|
{"type":"step/end","data":{"turn":1,"step":2}}
|
|
{"type":"turn/end","data":{"turn":1,"reason":{"kind":"completed"}}}
|