Member Junction
    Preparing search index...

    Accumulator fixture for the record-cloning bundle (client transport; IT96).

    Setup creates NO rows, so a deterministic-only run writes nothing: it only stamps the per-run prefix and start time. The mutating checks provision the throwaway subject user (and its API-key connection, the denied identity) on first use and append every row they, or a clone they ran, created. Teardown sweeps FK-safe: clone log items, clone logs and ClonedFrom links first, then CreatedRows in reverse creation order (retried so a parent that still has a child is picked up on a later pass), then everything hanging off the throwaway users, then the users themselves.

    interface RecordCloningFixture {
        ApiKeyIDs: string[];
        ApiKeyScopeIDs: string[];
        CloneLogIDs: string[];
        CreatedRows: CreatedRow[];
        DeniedProvider?: IMetadataProvider;
        Prefix: string;
        ProvisionError?: string;
        StartedAt: Date;
        SubjectQueryCategoryID?: string;
        SubjectUserID?: string;
        UserIDs: string[];
    }
    Index

    Properties

    ApiKeyIDs: string[]

    Minted MJ: API Keys rows.

    ApiKeyScopeIDs: string[]

    MJ: API Key Scopes rows granting the minted keys full_access.

    CloneLogIDs: string[]

    Clone logs the bundle's Executes returned (successes and refusals); teardown deletes exactly these.

    CreatedRows: CreatedRow[]

    Every row created by the bundle or by a clone it executed, in creation order.

    DeniedProvider?: IMetadataProvider

    Secondary GraphQL provider authenticated as the subject through a user API key: the identity without clone authorizations.

    Prefix: string

    Unique per-run prefix stamped on every row the bundle creates.

    ProvisionError?: string

    Why provisioning the subject or its key failed, when it did.

    StartedAt: Date

    When the bundle started.

    SubjectQueryCategoryID?: string

    The subject's MJ: Query Categories row, the child RC5 forces to collide.

    SubjectUserID?: string

    The throwaway source user (UI role only, one app, three settings, one query category), once provisioned.

    UserIDs: string[]

    Throwaway users; their roles, applications, settings, audit logs and keys are swept before them.