Archived
fix(subsessions): omit oversized completion output
This commit is contained in:
+5
-3
@@ -629,15 +629,17 @@
|
||||
A completion notice wakes an idle parent or queues behind in-flight work. Each notice lists any other
|
||||
tracked children still working, so the parent can continue work or call
|
||||
<code>yield_to_subsessions</code> again at the next join point. Further notices arrive automatically; do
|
||||
not poll.
|
||||
not poll. The notice includes the child's final output when it fits. If that output is too long, PI WEB
|
||||
omits it entirely instead of adding a truncated duplicate to the parent's context and directs the parent
|
||||
to retrieve it with <code>check_subsession</code>.
|
||||
</p>
|
||||
<p>
|
||||
<code>list_subsessions</code>, <code>check_subsession</code>, and <code>read_subsession</code> never yield
|
||||
or change control flow. They are for deliberate inspection or recovery, not completion polling. While a
|
||||
child works, agent-facing <code>check_subsession</code> and <code>read_subsession</code> withhold partial
|
||||
output and direct the parent to continue independent work or yield at the join point. Output becomes
|
||||
available when the child stops. In notices and inspection results, PI WEB guidance precedes a labeled
|
||||
marker and the child output or transcript always comes last.
|
||||
available when the child stops. Included output and transcripts follow a labeled marker and come last,
|
||||
after PI WEB guidance.
|
||||
</p>
|
||||
<p>
|
||||
In <strong>Settings → Session daemon</strong>, these keys are saved on the selected machine. Restart the
|
||||
|
||||
+2
-2
@@ -216,9 +216,9 @@ Tracked subsessions are join-oriented. Calling `spawn_subsession` returns immedi
|
||||
|
||||
At a join point, after finishing its independent work, the parent calls `yield_to_subsessions` alone as the final action in its tool batch. Pi ends a tool batch early only when every result in that batch is terminating. If any tracked child is still working, the action ends the current agent run so the parent becomes idle. If none are working, it does not end the run and clearly reports that there is nothing to wait for.
|
||||
|
||||
A completion notice wakes an idle parent or queues behind in-flight work. Each notice lists any other tracked children still working, so the parent can continue work or call `yield_to_subsessions` again at the next join point. Further notices arrive automatically; do not poll.
|
||||
A completion notice wakes an idle parent or queues behind in-flight work. Each notice lists any other tracked children still working, so the parent can continue work or call `yield_to_subsessions` again at the next join point. Further notices arrive automatically; do not poll. The notice includes the child's final output when it fits. If that output is too long, PI WEB omits it entirely instead of adding a truncated duplicate to the parent's context and directs the parent to retrieve it with `check_subsession`.
|
||||
|
||||
`list_subsessions`, `check_subsession`, and `read_subsession` never yield or change control flow. They are for deliberate inspection or recovery, not completion polling. While a child works, agent-facing `check_subsession` and `read_subsession` withhold partial output and direct the parent to continue independent work or yield at the join point. Output becomes available when the child stops. In notices and inspection results, PI WEB guidance precedes a labeled marker and the child output or transcript always comes last.
|
||||
`list_subsessions`, `check_subsession`, and `read_subsession` never yield or change control flow. They are for deliberate inspection or recovery, not completion polling. While a child works, agent-facing `check_subsession` and `read_subsession` withhold partial output and direct the parent to continue independent work or yield at the join point. Output becomes available when the child stops. Included output and transcripts follow a labeled marker and come last, after PI WEB guidance.
|
||||
|
||||
In **Settings → Session daemon**, these keys are saved on the selected machine. Restart the session daemon on that machine after changing them.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user