Skip to content

feat(runtime): expand concurrency strategies — debounce, burst, concurrent, lockScope, preemption (ADR 0012) #7

Description

@ThomasK33

Expand runtime concurrency handling beyond ConcurrencyDrop and ConcurrencyQueue to the remaining strategies specified in ADR 0012.

Motivation

Under deferred dispatch (DispatchDeferred, ADR 0002), long-running LLM/tool work needs richer concurrency control than drop/queue: debouncing rapid human message bursts, batching, lock-free concurrent reads, channel-scoped locking, and preemption of in-flight handlers.

Acceptance

  • ConcurrencyDebounce, ConcurrencyBurst, ConcurrencyConcurrent implemented in the runtime per ADR 0012.
  • Configurable lock scope (thread default, channel opt-in).
  • Handler preemption / steerability hook with force-release-lock coordination via chat.State.
  • Conformance + hardening tests for every new strategy lifecycle, matching the existing test style (queue_edge_test.go, dispatch_deferred_test.go).

Generated with mux • Model: anthropic:claude-fable-5 • Thinking: xhigh

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions