Skip to content

Implement heartbeat acknowledgement tracking or narrow the advertised support #57

@nficano

Description

@nficano

The jobs guide says the runtime emits HEARTBEAT_LOST and transitions the job to failed when heartbeat acknowledgements stop arriving at docs/guides/jobs.md:168, and the conformance pages list heartbeats as an implemented durable-job surface at CONFORMANCE.md:20 and docs/conformance.md:14. The implementation only sends periodic job.heartbeat envelopes from JobManager.heartbeatLoop at Sources/ARCP/Runtime/JobManager.swift:542. ARCPRuntime.handle has no branch that accepts heartbeat ack envelopes, records the latest acknowledged heartbeat sequence, detects missed deadlines, or emits an ARCPError.heartbeatLost terminal failure. The current behavior therefore advertises heartbeat recovery semantics that are not enforced.

Fix prompt: Either implement heartbeat acknowledgement tracking or narrow the docs and conformance claims to say that the SDK only emits heartbeat telemetry. A full implementation should correlate ack envelopes to job.heartbeat sequence numbers, track missed acknowledgements per job, transition the job to failed with HEARTBEAT_LOST when the negotiated recovery policy requires it, and stop the heartbeat task after the terminal event. Add integration tests for acknowledged heartbeats, missed acknowledgements, and the advertised Capabilities.heartbeatRecovery behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingseverity:mediumMedium severity issue

    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