Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Build a concurrent pipeline or worker pool that processes a stream of work with BOUNDED concurrency (a fixed worker count or a semaphore), propagates a context.Context for cancellation/timeout so all goroutines stop promptly, collects results and errors without losing any, and shares any state race-free. Prove it: include tests that pass under `go test -race`, including a cancellation/timeout case.
A fixed worker count / semaphore caps in-flight work (demonstrated); no unbounded goroutine spawning.
context.Context propagated; on cancel/timeout all goroutines exit promptly with no leaks or deadlocks.
Shared state protected (mutex or channel ownership); tests pass under go test -race, incl. a cancellation case.
Per-item errors are collected/propagated, not swallowed; a failing item doesn't deadlock the pool.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# A bounded worker pool with context cancellation ## Goal Build a concurrent pipeline or worker pool that processes a stream of work with BOUNDED concurrency (a fixed worker count or a semaphore), propagates a context.Context for cancellation/timeout so all goroutines stop promptly, collects results and errors without losing any, and shares any state race-free. Prove it: include tests that pass under `go test -race`, including a cancellation/timeout case. ## Acceptance criteria - [ ] Bounded concurrency: A fixed worker count / semaphore caps in-flight work (demonstrated); no unbounded goroutine spawning. - [ ] Context cancellation: context.Context propagated; on cancel/timeout all goroutines exit promptly with no leaks or deadlocks. - [ ] Race-free + tested: Shared state protected (mutex or channel ownership); tests pass under go test -race, incl. a cancellation case. - [ ] Error handling: Per-item errors are collected/propagated, not swallowed; a failing item doesn't deadlock the pool. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.