diff --git a/core b/core index 45959cb..ea4a308 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 45959cb79d0b7940c6bbb449b8f28e7cf6068ff0 +Subproject commit ea4a3084e0ef3fc5eab58d10af82433090c1d34d diff --git a/prompts/tools-subagent.md b/prompts/tools-subagent.md index 39dbb09..1784ef8 100644 --- a/prompts/tools-subagent.md +++ b/prompts/tools-subagent.md @@ -31,7 +31,6 @@ No stdin prints the template. With JSON on stdin, creates a JIT agent config inh | `shared_task` | no | Beads issue ID or tracking entry | | `protocol` | no | Coordination mechanics: lead, decision path, triggers, prompt file targets | | `constraints` | no | Array of constraint strings | -| `result_path` | no | Convention hint: included in identity as prose instructing where to write output (not enforced) | | `prompt` | **yes*** | Legacy: complete identity as a single string | *One of `role` or `prompt` is required. Prefer `role` with structured fields. @@ -53,9 +52,6 @@ When `role` is provided, the fields are assembled into a markdown identity envel ## Constraints - - - -## Result -When complete, write result to: ``` The `prompt` field is a legacy fallback — use it only when the structured fields don't fit. diff --git a/tools/subagent_generate b/tools/subagent_generate index eeaf34d..1b15886 100755 --- a/tools/subagent_generate +++ b/tools/subagent_generate @@ -10,7 +10,7 @@ OLLIE="${OLLIE:-$HOME/mnt/ollie}" die() { printf 'agent_generate: %s\n' "$*" >&2; exit 1; } if [ -t 0 ] && [ $# -eq 0 ]; then - printf '{\n "name": "",\n "role": "",\n "roster": "",\n "shared_task": "",\n "protocol": "",\n "constraints": [],\n "result_path": "",\n "prompt": ""\n}\n' + printf '{\n "name": "",\n "role": "",\n "roster": "",\n "shared_task": "",\n "protocol": "",\n "constraints": [],\n "prompt": ""\n}\n' exit 0 fi @@ -28,7 +28,6 @@ roster = raw.get('roster', '') shared_task = raw.get('shared_task', '') protocol = raw.get('protocol', '') constraints = raw.get('constraints', []) -result_path = raw.get('result_path', '') legacy = raw.get('prompt', '') if not role and not legacy: @@ -41,7 +40,6 @@ if role: if shared_task: parts += ['## Shared Task', shared_task] if protocol: parts += ['## Coordination Protocol', protocol] if constraints: parts += ['## Constraints', '\n'.join('- ' + c for c in constraints)] - if result_path: parts += ['## Result', f'When complete, write result to: {result_path}'] identity = '\n\n'.join(parts) else: identity = legacy