Duplicate public API lifecycle
Verification Boundary
The signed local API harness, real route declarations and PostgreSQL establish dispatcher behavior. Hosted API Gateway, deployed queues and browser actions are outside this boundary.
What This Suite Proves
The local dispatcher validates duplicate requests and permission combinations and returns candidate, group, rule and re-check results from the database. The scenario bindings identify the assertions inspected in this examination. No control claim is assigned without a check that fails when the control is removed.
What It Does Not Prove
Local database assertions do not establish hosted console behavior, deployed message delivery or the policies of unavailable owner services.
Level and Rationale
The real dispatcher is needed to check request validation and permission conjunctions. Direct service calls cannot establish the public refusal boundary.
Lifecycle Coverage
Create, change and cleanup receive partial credit because these tests select data-quality behavior rather than the complete ordinary record lifecycle. Merge receives partial credit where it appears: a test selection does not establish every contact, organization and external participant variant. Archive belongs to the ordinary record module; deployed reconciliation remains outside these browser and local API selections. The lifecycle finding records these limits.
Real Dependencies and Test Doubles
The signed local API harness, real route declarations and PostgreSQL establish dispatcher behavior. Hosted API Gateway, deployed queues and browser actions are outside this boundary.
Must Not Be Doubled
Keep route dispatch, permission evaluation and database writes real; replacing them would hide the refusals and persisted outcomes.
Fixtures and Isolation
Use the suite fixture workspace and remove its test identities; run database selections sequentially. The test support constructs fixture contexts and test-specific identities. Failure-injection participants belong to the run and must be removed with its fixtures.
Determinism and Retries
The register records no new runtime result. Existing polling and fixture clocks remain part of the authored tests; polling for completion is not a retry of a failed case. Run with at most three workers and diagnose a failure before rerunning it.
How It Runs
The frontmatter records the scoped command and its runner tier. Run the test-database preparation command before invoking this selection.
Coverage Gaps
Mapped scenarios retain their exact execution sources for review; combined multi-source scenarios can still leave an ordered handoff unproved. The capability gap records identify unbound obligations, and the grouped-suite finding records incomplete lifecycle and runtime coverage.