Spec gap: how a raw string submitted to __input__ is initialized into a Message object is unspecified #14

Open
opened 2026-05-27 05:26:09 +00:00 by hurui200320 · 0 comments
Member

Problem

§12.2.1 defines the Message structure as having four properties:

  • content — the principal payload
  • metadata — auxiliary key-value data
  • source_stream — name of the producing stream
  • timestamp — wall-clock timestamp

However, the spec never describes how an external caller's raw string input is turned into a Message when submitted to __input__. The library needs a concrete initialization rule such as:

content     = <input string>
metadata    = {}
source_stream = "__input__"
timestamp   = <current time>

Without this, different library implementations will produce messages with different shapes, breaking any code that inspects message.source_stream or message.timestamp on the first message in a pipeline.

Additionally, if the caller can submit a pre-constructed Message object (not just a string), that interface must be described too.

Fix Needed

Add a sub-section to §12.2 specifying the initialization rule for messages arriving at __input__, including what default values are used for metadata, source_stream, and timestamp.

References

  • §5.2 — Built-in Streams (defines __input__ semantics)
  • §12.2.1 — Message Structure
## Problem §12.2.1 defines the Message structure as having four properties: - `content` — the principal payload - `metadata` — auxiliary key-value data - `source_stream` — name of the producing stream - `timestamp` — wall-clock timestamp However, the spec never describes how an external caller's raw string input is turned into a Message when submitted to `__input__`. The library needs a concrete initialization rule such as: ``` content = <input string> metadata = {} source_stream = "__input__" timestamp = <current time> ``` Without this, different library implementations will produce messages with different shapes, breaking any code that inspects `message.source_stream` or `message.timestamp` on the first message in a pipeline. Additionally, if the caller can submit a pre-constructed Message object (not just a string), that interface must be described too. ## Fix Needed Add a sub-section to §12.2 specifying the initialization rule for messages arriving at `__input__`, including what default values are used for `metadata`, `source_stream`, and `timestamp`. ## References - §5.2 — Built-in Streams (defines `__input__` semantics) - §12.2.1 — Message Structure
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/actors-spec#14
No description provided.