The #550 implementation audit compared Pylon's daemon message decoder with the managed Prime product source at 65d9c0274866f1bacb3959a16718718d102ee593.
Pylon supports user, assistant and tool-result messages, plus private identities for harness digests and refinement outcomes. The #550 fix adds refinement notices. Other built-in native message shapes remain unsupported by transcript reconciliation:
- Roles
compactionSummary, branchSummary, and bashExecution.
- Custom types
compaction_outcome, ipython_state_restored, session_slash_command, and session_slash_command_result.
- Custom types
rlm_child_failure, rlm_child_terminal_notice, async_bash_completion, and agent_message.
- Automation custom types
heartbeat_prompt, thread_goal_state, and goal_context.
Sources: native message definitions, goals, agent messages.
This is a decoder/source audit, not evidence that every listed shape currently reaches every Pylon mode. Unsupported raw shapes are dropped from snapshots without changing the native count and rejected as protocol violations in correctly attributed live correlated events. Controls or lifecycle projections for an underlying feature do not establish its transcript compatibility.
Work in bounded groups. First reproduce supported user actions that emit these shapes (especially compaction and child/background completion) using isolated fixtures. Distinguish known private transcript identities from projected content. Context-replacing summary transitions need explicit continuity rules, not just an extra decoded role. Preserve ordering, counts, duplicate handling, provenance, immutable snapshots and restart proofs; reject altered or unproved history. Keep automation behavior explicitly unsupported where Pylon does not yet own occurrence and turn semantics. Do not solve this by accepting arbitrary custom types.
Track under #114, separately from the refinement-only #550 fix. The current implementation intentionally retains strict rejection until each transition has its own proof and tests.
The #550 implementation audit compared Pylon's daemon message decoder with the managed Prime product source at
65d9c0274866f1bacb3959a16718718d102ee593.Pylon supports user, assistant and tool-result messages, plus private identities for harness digests and refinement outcomes. The #550 fix adds refinement notices. Other built-in native message shapes remain unsupported by transcript reconciliation:
compactionSummary,branchSummary, andbashExecution.compaction_outcome,ipython_state_restored,session_slash_command, andsession_slash_command_result.rlm_child_failure,rlm_child_terminal_notice,async_bash_completion, andagent_message.heartbeat_prompt,thread_goal_state, andgoal_context.Sources: native message definitions, goals, agent messages.
This is a decoder/source audit, not evidence that every listed shape currently reaches every Pylon mode. Unsupported raw shapes are dropped from snapshots without changing the native count and rejected as protocol violations in correctly attributed live correlated events. Controls or lifecycle projections for an underlying feature do not establish its transcript compatibility.
Work in bounded groups. First reproduce supported user actions that emit these shapes (especially compaction and child/background completion) using isolated fixtures. Distinguish known private transcript identities from projected content. Context-replacing summary transitions need explicit continuity rules, not just an extra decoded role. Preserve ordering, counts, duplicate handling, provenance, immutable snapshots and restart proofs; reject altered or unproved history. Keep automation behavior explicitly unsupported where Pylon does not yet own occurrence and turn semantics. Do not solve this by accepting arbitrary custom types.
Track under #114, separately from the refinement-only #550 fix. The current implementation intentionally retains strict rejection until each transition has its own proof and tests.