Member Junction
    Preparing search index...
    AgentRagGateChecks: NamedCheck[] = ...

    'agent-rag-gate' (IT117, deterministic): pre-execution RAG's scope-permission gate, exercised by calling AgentPreExecutionRAG.Execute() directly (no model). It seeds no corpus (a note save embeds, which the deterministic lane cannot rely on): the proof is the search log, a Success row for a granted run and a Forbidden row for a refused one.

    RG2 refuses through the AGENT (an unsaved copy of IT: Search Agent set to SearchScopeAccess='None'), not through the seeded no-grant user: that user holds no roles, so it cannot read MJ: AI Agent Search Scopes or MJ: Search Scope Permissions (the resolver fails, and a resolver failure writes no Forbidden row) nor create a MJ: Search Execution Logs row; and its search returns nothing anyway (RS3), so a null result for it would not show the gate ran.