← Back to behaviour
ADV-S10 green Critical

Two agents enqueue same `request_id` concurrently — exactly one row created

Source user-story File wiki/content/stories/USER-STORIES.md Suites 1 Tests 13 Graph 20 nodes · 41 edges

Behaviour shape

Given
The user story behaviour ADV-S10 is declared in wiki/content/stories/USER-STORIES.md.
When
The QA proof set evaluates 2 declared specs.
Then
  • The system satisfies: Two agents enqueue same `request_id` concurrently — exactly one row created.

Proof suites

1 suites · 13 tests
ADV-S10 proof suite
Proof set for Two agents enqueue same `request_id` concurrently — exactly one row created
proof-adv-s10
13 tests
via audit
TestStatusOpen
can claim an exact request id after inspecting queue eligibility
@cv/server · vitest · src/process-requests.test.ts
catalogTest
claims only eligible queued requests and hides tokens from normal reads
@cv/server · vitest · src/process-requests.test.ts
catalogTest
creates and lists process requests without leaking claim tokens
@cv/server · vitest · src/process-requests.test.ts
catalogTest
defaults the requester class to system
@cv/server · vitest · src/process-requests.test.ts
catalogTest
does not store shared ad or role ids in request payloads
@cv/server · vitest · src/process-requests.test.ts
catalogTest
enforces the server fallback queued-age floor even when callers ask for fresh work
@cv/server · vitest · src/process-requests.test.ts
catalogTest
keeps terminal process requests immutable after completion
@cv/server · vitest · src/process-requests.test.ts
catalogTest
lets fallback workers claim only queued requests old enough for fallback
@cv/server · vitest · src/process-requests.test.ts
catalogTest
lets workerClass=server bypass the staleness floor when bypassStaleFloor is set
@cv/server · vitest · src/process-requests.test.ts
catalogTest
prevents duplicate claims until the lease expires
@cv/server · vitest · src/process-requests.test.ts
catalogTest
renews non-terminal leases from owner lifecycle updates
@cv/server · vitest · src/process-requests.test.ts
catalogTest
requires the claim token for terminal updates
@cv/server · vitest · src/process-requests.test.ts
catalogTest
[automated agent] safely enqueue the same workflow request from two clients without duplication
@cv/ui · playwright · stories/adversarial/concurrent-request-id.spec.ts
catalogTest