Skip to content

Add TCP JSONL stream framing for cross-process modules #92

Description

@superposition

Parent: #12

Goal

Add a small no-hardware network stream framing contract so external module processes can exchange Leash stream messages over localhost TCP without knowing whether the peer is in-process or out-of-process.

Scope

  • Define a versioned TCP JSONL stream frame for StreamMessage payloads.
  • Add standard-library/Tokio helpers to write and read newline-delimited frames over TCP.
  • Prove loopback cross-process-style communication in tests without requiring hardware or external services.
  • Document the contract as the first cross-process/network transport boundary while keeping memory and local-pubsub as the default runtime transports.

Acceptance

  • cargo test covers a loopback TCP sender/receiver exchanging a stream message.
  • The JSONL frame includes a stable schema/version marker and rejects unsupported versions.
  • Existing runtime stream transport behavior remains unchanged by default.
  • README/docs explain when to use the TCP JSONL boundary and what remains out of scope.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions