Category: spec-conformance Severity: major
Location: lib/arcp/session/capability_set.rb:5-10
Spec: ARCP v1.1 §6.2
What
The session-level capabilities.encodings field denotes serialization encodings; spec §6.2 examples use ["json"]. The SDK defaults to ["utf8","base64"] (the result_chunk data encodings from §8.4), so intersecting with a spec-conformant peer advertising ["json"] yields an empty encoding set.
Evidence
CapabilitySet = Data.define(:features, :encodings, :agents) do
DEFAULT_ENCODINGS = %w[utf8 base64].freeze
def self.local(features: Feature::ALL, encodings: DEFAULT_ENCODINGS, agents: nil)
Proposed fix
Default session capabilities.encodings to ["json"] (keep utf8/base64 only for result_chunk).
Acceptance criteria
Category: spec-conformance Severity: major
Location:
lib/arcp/session/capability_set.rb:5-10Spec: ARCP v1.1 §6.2
What
The session-level capabilities.encodings field denotes serialization encodings; spec §6.2 examples use ["json"]. The SDK defaults to ["utf8","base64"] (the result_chunk data encodings from §8.4), so intersecting with a spec-conformant peer advertising ["json"] yields an empty encoding set.
Evidence
Proposed fix
Default session capabilities.encodings to ["json"] (keep utf8/base64 only for result_chunk).
Acceptance criteria