Background & Upstream Changes
Upstream Prime Agent introduced:
- Child progress notes (#2282):
- Added schema 28 capability / payload fields for in-flight sub-agent reporting:
progressNote: optional string emitted by children via rlm.progress.note (throttled).
lastActivityAt: monotonic timestamp of the last tracked child activity.
activityStaleMs: duration since last activity, held unset while a child is executing so long tool invocations do not falsely flag as stale.
- These surface in the child session snapshot and roster (
rlm.list_subagents()).
rlm.collect (#2282 / release 0.9.5):
- A typed, non-steering fan-in mechanism for subagents that awaits direct children with a bounded timeout and returns per-child result envelopes (
status, settled, answer preview, error, duration, tool_count) without inflating the parent's conversational message queue.
Analysis for Pylon
1. Projecting Child Progress Notes into Pylon Agents Surface
- Pylon Invariants:
- Pylon's
PrimeAgentDaemonSessionRuntime tracks child rosters via authoritative roster snapshots and live event sequences (authoritative_child_roster capability).
- Pylon represents agents in its Agents UI with status, activity, and subagent tree views.
- Proposed Projection:
- In
PrimeAgentDaemonEvents.ts and PrimeAgentDaemonSessionRuntime.ts, extend the child roster event types and session snapshot decoders to include optional progressNote, lastActivityAt, and activityStaleMs.
- In Pylon's UI / web state, surface the child's latest
progressNote directly on the child's row in the agent hierarchy (similar to how tool execution status or compact summaries are displayed).
- Gate decoding on schema capability or optional field presence rather than raw schema revision numbers to prevent schema version conflict with fork revisions 28–33.
2. rlm.collect Integration
- Internal vs Exposed Action:
rlm.collect is designed as a kernel-level aggregation primitive for multi-agent workflows running in the Python REPL harness.
- Exposing
rlm.collect directly as a user-facing action in Pylon is unnecessary and could collide with Pylon's turn settlement and occurrence model.
- Recommendation: Keep
rlm.collect purely internal to the agent kernel / subagent runtime. However, Pylon should ensure that when an agent calls rlm.collect, Pylon's turn-settlement and prompt lifecycle fencing recognize that the parent turn is awaiting subagents and does not prematurely settle or time out.
Action Items
Background & Upstream Changes
Upstream Prime Agent introduced:
progressNote: optional string emitted by children viarlm.progress.note(throttled).lastActivityAt: monotonic timestamp of the last tracked child activity.activityStaleMs: duration since last activity, held unset while a child isexecutingso long tool invocations do not falsely flag as stale.rlm.list_subagents()).rlm.collect(#2282 / release 0.9.5):status,settled,answerpreview,error,duration,tool_count) without inflating the parent's conversational message queue.Analysis for Pylon
1. Projecting Child Progress Notes into Pylon Agents Surface
PrimeAgentDaemonSessionRuntimetracks child rosters via authoritative roster snapshots and live event sequences (authoritative_child_rostercapability).PrimeAgentDaemonEvents.tsandPrimeAgentDaemonSessionRuntime.ts, extend the child roster event types and session snapshot decoders to include optionalprogressNote,lastActivityAt, andactivityStaleMs.progressNotedirectly on the child's row in the agent hierarchy (similar to how tool execution status or compact summaries are displayed).2.
rlm.collectIntegrationrlm.collectis designed as a kernel-level aggregation primitive for multi-agent workflows running in the Python REPL harness.rlm.collectdirectly as a user-facing action in Pylon is unnecessary and could collide with Pylon's turn settlement and occurrence model.rlm.collectpurely internal to the agent kernel / subagent runtime. However, Pylon should ensure that when an agent callsrlm.collect, Pylon's turn-settlement and prompt lifecycle fencing recognize that the parent turn is awaiting subagents and does not prematurely settle or time out.Action Items
progressNoteandactivityStaleMswhen present.rlm.collectexecution inside the agent kernel respects Pylon's turn quiescence and timeout policies.