The coverage map distinguishes specified examples from missing proof. A covered category means an expected case is specified; executable bindings and their run results remain separate evidence. Each required rule has a proof link or an explicit coverage finding in the structured rule ledger.
Retirement changes placement eligibility. Retire the section kind, attempt a new section and a section move, reactivate the kind and repeat the placement work.
Program references protect the kind catalogue. Select a kind in a program requirement list and attempt kind deletion; clear the unused requirement and retry.
Coverage
Rulecovered
Transitioncovered
Validationcovered
Permissioncovered
Edgecovered
Failurecovered
Boundarygap: FND-MBR-STR-054
Concurrencycovered
Invariantgap: FND-MBR-STR-054
Interactioncovered
Test Scenarios
13 scenarios proving CAP-MBR-STR-001; 5 bound to an existing test.
services-membership:tests/e2e/database-refusals.e2e.spec.ts#mistakes only the database catches, through the API › DEF-MBR-0084: a structure delete a program’s reference blocks › refuses deleting a unit type a program lists 409 unit_type_in_use, and keeps it
An isolated workspace contains the records and current versions needed for the case.
Steps
Retire the section kind, attempt a new section and a section move, reactivate the kind and repeat the placement work.
Expected
Both retired-kind operations fail; after reactivation valid placement succeeds and the earlier tree remains recognizable.
Data
Separate fixture records for the accepted and refused operations.
Source
services-membership:modules/structure/services/tree/tree-edits.ts:validatePlacement,services-membership:modules/structure/tests/integration/services/persistence/organizational-units.integration.spec.ts#organizational units in the database › the refusals › refuses a new child under an inactive unit
12Program references protect the kind catalogueinteractionapiproposed
An isolated workspace contains the records and current versions needed for the case.
Steps
Select a kind in a program requirement list and attempt kind deletion; clear the unused requirement and retry.
Expected
The selected kind is protected; the released unused kind can be removed.
Data
Separate fixture records for the accepted and refused operations.
Source
services-membership:tests/e2e/structure-api.e2e.spec.ts#the structure API, end to end in process › refuses to delete a unit type in use, 409 unit_type_in_use,services-membership:modules/configuration/services/configuration/configuration-records.ts:replaceProgramUnitTypesOf
13Workspace authority gates this capabilitypermissionapinegativeproposed
An isolated workspace contains the records and current versions needed for the case.
Steps
Exercise the capability’s exposed operations with its read-only and management callers, then repeat with application access removed, an unlicensed workspace and an unavailable workspace.
Expected
Each named operation requires its declared authority; admission failures occur before any record or calculated result is exposed.
Data
Separate fixture records for the accepted and refused operations.
Source
services-membership:tests/unit/route-authorization.spec.ts#route authorization: every Membership operation names its permission › requires membership.structure.read of every structure read and membership.structure.manage of every change,services-membership:modules/configuration/aws/api/configuration.routes.ts:configurationModuleRoutes,services-membership:tests/e2e/terms-api.e2e.spec.ts#the terms API, end to end in process › refuses a caller who holds no key in the tenant