opencode: pair every subagent start with one stop
Commit

A command subtask (subtask: true) fires tool.execute.before/after with
the task part's id, while its part carries a generated callID, so the
start and stop opened two task records and one stayed in flight. An
aborted or failed task call skips tool.execute.after entirely, so its
record never stopped.
The plugin now keeps each announced task's payload until it stops, maps a subtask's part id back to the announced callID, and stops an announced task whose part ends in error. A stop that arrives before the running part is announced suppresses the late start.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com Entire-Checkpoint: 01M472PCQK56PMGTCG0TCR2M77
Checkpoints
Checkpoint 1