Goal
Capability negotiation + heartbeat + ack — the foundation v1.1 features that everything else negotiates against.
Scope
Arcp::Session::Feature constants module (9 entries), Feature::ALL.freeze
Arcp::Session::CapabilitySet Data.define with #intersect, #supports?
Arcp::Session::AgentInventory + AgentEntry with from_flat v1.0 compat
Hello/Welcome payloads carry features: and rich agents: shape
session.ping/session.pong payloads
HeartbeatLoop via Async::Task#sleep(interval); 2× silence → Arcp::Errors::HeartbeatLost
session.ack { last_processed_seq: }; Arcp::Runtime::EventLog#evict_up_to(seq)
Arcp::Errors::UnnegotiatedFeature (library-internal, never on the wire)
HeartbeatSpec, AckSpec, CapabilityNegotiationSpec
- Samples:
samples/heartbeat/, samples/ack_backpressure/, samples/capability_negotiation/
- Diagrams:
capability-negotiation.dot, heartbeat-flow.dot, ack-flow.dot
docs/concepts/heartbeats.md, docs/reference/capabilities.md
MIGRATION-v1.1.md first cut
Spec §
§6.2, §6.4, §6.5
Gate
Phase 07 §3.1, §3.2, §3.9 specs pass. bundle exec rake conformance adds rows for §6.2, §6.4, §6.5.
Goal
Capability negotiation + heartbeat + ack — the foundation v1.1 features that everything else negotiates against.
Scope
Arcp::Session::Featureconstants module (9 entries),Feature::ALL.freezeArcp::Session::CapabilitySetData.definewith#intersect,#supports?Arcp::Session::AgentInventory+AgentEntrywithfrom_flatv1.0 compatHello/Welcomepayloads carryfeatures:and richagents:shapesession.ping/session.pongpayloadsHeartbeatLoopviaAsync::Task#sleep(interval); 2× silence →Arcp::Errors::HeartbeatLostsession.ack { last_processed_seq: };Arcp::Runtime::EventLog#evict_up_to(seq)Arcp::Errors::UnnegotiatedFeature(library-internal, never on the wire)HeartbeatSpec,AckSpec,CapabilityNegotiationSpecsamples/heartbeat/,samples/ack_backpressure/,samples/capability_negotiation/capability-negotiation.dot,heartbeat-flow.dot,ack-flow.dotdocs/concepts/heartbeats.md,docs/reference/capabilities.mdMIGRATION-v1.1.mdfirst cutSpec §
§6.2, §6.4, §6.5
Gate
Phase 07 §3.1, §3.2, §3.9 specs pass.
bundle exec rake conformanceadds rows for §6.2, §6.4, §6.5.