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.
Independent grants require a valid date rule. Submit a grant using its own anniversary rule but missing length, then correct the rule and calculate its period beside the primary term.
Coverage
Rulegap: FND-MBR-STR-066
Transitioncovered
Validationcovered
Permissioncovered
Edgecovered
Failuregap: FND-MBR-STR-066
Boundarycovered
Concurrencygap: FND-MBR-STR-066
Invariantgap: FND-MBR-STR-066
Interactioncovered
Test Scenarios
9 scenarios proving CAP-MBR-STR-013; 3 bound to an existing test.
01Submitted grants exclude own-program and oversized listsboundaryapinegativeproposed
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Pair a grant program with a classification from another program.
Expected
The refusal identifies the grant classification.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/e2e/database-refusals.e2e.spec.ts#mistakes only the database catches, through the API › DEF-MBR-0086: a configuration write a check, a foreign key or an integer column refuses › refuses a grant whose type is not of the granted program 400 naming grants: membership_type_id, and writes no package
services-membership:tests/e2e/database-refusals.e2e.spec.ts#mistakes only the database catches, through the API › DEF-MBR-0086: a configuration write a check, a foreign key or an integer column refuses › refuses a grant whose type is not of the granted program 400 naming grants: membership_type_id, and writes no package
03Independent grant rules must be computablevalidationapinegativeproposed
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Submit an affiliation-disabled kind, duplicate kinds and contradictory counts.
Expected
One response identifies every detected unit-rule problem.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/acceptance/configuration/MBR-ACC-0104.acceptance.ts#MBR-ACC-0104: A package's unit rules override the program's counts: the Regular package demands a chapter the program leaves optional, a Section-only package names a type the program does not list, a region is refused, and clearing the rules hands control back to the program
services-membership:tests/acceptance/configuration/MBR-ACC-0104.acceptance.ts#MBR-ACC-0104: A package's unit rules override the program's counts: the Regular package demands a chapter the program leaves optional, a Section-only package names a type the program does not list, a region is refused, and clearing the rules hands control back to the program
05Package requirements specialize program defaultsinteractionapitest
An isolated Membership-licensed workspace contains the relevant records, with caller permissions selected for the case.
Steps
Require chapters for Regular, add a package-only kind and then clear package requirements.
Expected
Package-specific counts and kinds apply first, with program defaults restored after clearing.
Data
The FAA example records or equivalent records prepared within the isolated workspace.
Bound to
services-membership:tests/acceptance/configuration/MBR-ACC-0104.acceptance.ts#MBR-ACC-0104: A package's unit rules override the program's counts: the Regular package demands a chapter the program leaves optional, a Section-only package names a type the program does not list, a region is refused, and clearing the rules hands control back to the program
services-membership:tests/acceptance/configuration/MBR-ACC-0104.acceptance.ts#MBR-ACC-0104: A package's unit rules override the program's counts: the Regular package demands a chapter the program leaves optional, a Section-only package names a type the program does not list, a region is refused, and clearing the rules hands control back to the program
06Grant replacement creates new child identitiestransitionapiproposed
An isolated workspace contains the records and current versions needed for the case.
Steps
Submit a grant using its own anniversary rule but missing length, then correct the rule and calculate its period beside the primary term.
Expected
The invalid aggregate saves nothing; the corrected rule yields the separately expected period.
Data
Separate fixture records for the accepted and refused operations.
Source
services-membership:modules/configuration/services/configuration/configuration-records.ts:packageResource,services-membership:modules/terms/tests/unit/term-rules.spec.ts#term rules: what 2.0 decides › reports every problem of a rule at once
09Workspace 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