Skip to content

fix(prime): audit remaining native transcript message transitions #552

Description

@rynfar

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions