Problem
Namespace authorization prevents cross-tenant data access, but a shared Durable Workflow Server also needs resource isolation. One namespace must not monopolize API capacity, task leasing, scheduler work, database growth, Redis state, or downstream service-call budgets until unrelated namespaces stop making progress.
Server already has queue/namespace lease and dispatch admission controls plus task-queue fairness primitives. This work must audit those controls as one system, close uncovered paths, and prove an adversarial namespace remains contained under realistic constrained capacity.
Required contract
- Enforce server-owned per-namespace admission independently of caller-supplied queue, priority, or fairness metadata.
- Preserve bounded progress for quiet namespaces while another namespace floods workflow starts, activities, timers, signals, queries, updates, schedules, child workflows, and Nexus/service calls.
- Bound namespace-owned active leases, pending tasks, dispatch rate, API concurrency/rate, open workflows, history growth, timers/schedules, external payload usage, and other durable/cardinality growth that can exhaust shared infrastructure.
- Return explicit retryable admission responses and operator-visible metrics identifying the namespace and exhausted budget; do not silently drop durable work.
- Keep counters and leases correct through process restart, Redis interruption, expired leases, and retry/replay.
- Define which limits are configurable defaults, per-namespace overrides, and hard server ceilings. Unsafe unlimited defaults must be explicit rather than accidental.
Adversarial evidence
Build a repeatable constrained-cell experiment with at least one noisy namespace and one control namespace. It must cover:
- sustained workflow-start and activity-dispatch saturation;
- same-queue and different-queue contention;
- timer, signal, query, update, schedule, child-workflow, and Nexus/service-call storms;
- large/replay-heavy histories and external payload pressure;
- worker/server restart and Redis interruption during saturation;
- database, Redis, memory, CPU, queue depth, rejection counts, and p50/p95 control-namespace latency.
The control namespace must continue starting and completing a documented minimum workload within a bounded latency envelope while the noisy namespace receives deterministic throttling. After pressure stops, both namespaces must recover without manual data repair.
Completion
This is a Server product capability. Hosting products can consume the result, but provider topology and commercial plan decisions are out of scope here.
Problem
Namespace authorization prevents cross-tenant data access, but a shared Durable Workflow Server also needs resource isolation. One namespace must not monopolize API capacity, task leasing, scheduler work, database growth, Redis state, or downstream service-call budgets until unrelated namespaces stop making progress.
Server already has queue/namespace lease and dispatch admission controls plus task-queue fairness primitives. This work must audit those controls as one system, close uncovered paths, and prove an adversarial namespace remains contained under realistic constrained capacity.
Required contract
Adversarial evidence
Build a repeatable constrained-cell experiment with at least one noisy namespace and one control namespace. It must cover:
The control namespace must continue starting and completing a documented minimum workload within a bounded latency envelope while the noisy namespace receives deterministic throttling. After pressure stops, both namespaces must recover without manual data repair.
Completion
This is a Server product capability. Hosting products can consume the result, but provider topology and commercial plan decisions are out of scope here.