Skip to content

group-messaging.md uses the implementation-layer term "callers," violating protocol-core's own no-local-implementation-names rule #353

Description

@erskingardner

Context

protocol-core/group-messaging.md, "Message retention" (lines 81-82):

"When retention is disabled, callers cannot force retention data onto the group message envelope. The sender removes or replaces retention data so the on-wire behavior is determined by group state."

Defect

protocol-core/AGENTS.md (line 25) states: "NO local implementation names: no module, queue, database, or API names. Those belong in ../implementation-model.md." A repo grep for "caller"/"callers" shows the term is otherwise confined to implementation-model.md (where it's expected) and one instance in app-components/README.md; group-messaging.md is the only protocol-core doc using it. "Callers" is API-invocation language describing a local function-call boundary between application code and a client library, not a protocol role — the surrounding vocabulary elsewhere in this same document for this actor is "the sender" or "a client," and indeed the very next sentence in this same paragraph uses "the sender."

Failure scenario

Low direct interop risk since the surrounding sentence is redundant with "the sender..."; this is primarily a spec-hygiene/surface-boundary violation flagged by the directory's own verification rules.

Suggested fix

Replace "callers" with "the sender" or "a client" to match the surrounding paragraph's vocabulary.

Metadata

Metadata

Assignees

No one assigned

    Labels

    LOWspecSpec inconsistency or clarity

    Type

    No type

    Fields

    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