Skip to content

Do not advertise interrupt support until handlers can observe interrupts #46

@nficano

Description

@nficano

The SDK advertises interrupt support through Capabilities.interrupt, CapabilityNegotiator, CONFORMANCE.md:22, and docs/guides/jobs.md:131. The runtime handler at Sources/ARCP/Runtime/JobManager.swift:301 only changes the internal job state to .blocked and sends an ack. There is no JobContext API, handler callback, pending signal, or resume transition that lets the running handler observe and respond to the interrupt. The docs also describe the interrupt as job.interrupt and say the job continues once observed, while the wire payload is currently named interrupt and the code does not drive the documented pause/resume behavior.

Fix prompt: Either implement observable interrupts or stop negotiating and documenting the feature as supported. A complete implementation should add a handler-visible interruption mechanism, preserve the correct state transition, and return to running when the interrupt is handled. If the feature is deferred, remove it from supported conformance, keep Capabilities.interrupt false unless a real implementation is present, and update the jobs guide. Add integration tests that negotiate interrupt support, send an interrupt, and assert that the handler observes it and the job state machine remains coherent.

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