Skip to content

job.unsubscribe wire type and payload diverge (§7.6) #149

@nficano

Description

@nficano

Category: spec-conformance Severity: major
Location: src/Messages/Subscriptions/Unsubscribe.php:10-29
Spec: ARCP v1.1 §7.6

What

Spec §7.6 defines wire type job.unsubscribe with {job_id} payload. SDK uses unsubscribe with empty payload and an envelope-level subscription_id.

Evidence

final readonly class Unsubscribe extends MessageType
{
    public static function typeName(): string
    {
        return 'unsubscribe';
    }

    public function toArray(): array
    {
        return [];
    }
}

Proposed fix

Rename typeName to 'job.unsubscribe' and accept job_id in the payload.

Acceptance criteria

  • Unsubscribe envelopes carry type: "job.unsubscribe" and payload: {job_id: ...}.

Metadata

Metadata

Assignees

No one assigned

    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