Skip to content

feat: deepen async concurrency seams - #260

Merged
timopruesse merged 1 commit into
mainfrom
feat/async-architecture-deepenings
Sep 5, 2026
Merged

feat: deepen async concurrency seams#260
timopruesse merged 1 commit into
mainfrom
feat/async-architecture-deepenings

Conversation

@timopruesse

Copy link
Copy Markdown
Owner

Summary

  • Offload sync host work (config load, shell conditions, clone fs) via host_blocking
  • Runner cancellation + JoinSet; ConcurrencyGate::admit with per-Task sub-quotas
  • Bounded ChannelSink (8192) with block_in_place backpressure (no worker blocking_send panic)
  • Intern command_desc as Arc<str>; update ADR-0003/0005 and CONTEXT

Test plan

  • make test / make lint
  • Verifier PASS after ChannelSink backpressure fix
  • CI green on PR

Move sync host work (config load, shell conditions, clone fs ops) off
Tokio workers via host_blocking; add Runner cancellation and JoinSet for
parallel layers. Gate::admit acquires exclusive lanes, per-Task sub-quotas
for parallel tasks, then work permits. ChannelSink uses bounded mpsc with
block_in_place backpressure — never blocking_send directly on a worker
(that path panics). Intern command_desc as Arc<str> alongside task_name.
Update ADR-0003/0005 and CONTEXT to match.
@timopruesse
timopruesse merged commit b54147e into main Sep 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant