//! The per-source readability check recall applies to every fact.
//!
//! Copyright (c) systemprompt.io — Business Source License 1.1.
//! See <https://systemprompt.io> for licensing details.
use UserId;
use RequestActor;
use SubjectRef;
use SourceAccessError;
/// Whether a principal may see a fact's source: `AgentCapped` when the
/// person may read it but the acting agent may not.
/// Decides whether a reader, acting as an actor, may read a source
/// resource; injected at the composition root as `Arc<dyn SourceAccess>`.
/// An error, a timeout or an unknown kind withholds the fact.
///
/// `#[async_trait]` keeps the trait dyn-compatible.