Category: spec-conformance Severity: major
Location: src/Messages/Session/Capabilities.php:38-39
Spec: ARCP v1.1 §6.4
What
Spec §6.4 mentions heartbeat_interval_sec as part of welcome. Modeling as int silently truncates any sub-second configured value to 0 — a 500ms configured interval would advertise 0s and confuse clients. No validation enforces a minimum.
Evidence
public int $heartbeatIntervalSeconds = 30,
Proposed fix
Either document and validate the field as ≥1 second, or change to a float/explicit milliseconds field on the welcome payload.
Acceptance criteria
Category: spec-conformance Severity: major
Location:
src/Messages/Session/Capabilities.php:38-39Spec: ARCP v1.1 §6.4
What
Spec §6.4 mentions heartbeat_interval_sec as part of welcome. Modeling as int silently truncates any sub-second configured value to 0 — a 500ms configured interval would advertise 0s and confuse clients. No validation enforces a minimum.
Evidence
Proposed fix
Either document and validate the field as ≥1 second, or change to a float/explicit milliseconds field on the welcome payload.
Acceptance criteria