---
id: ADR-PFM-ELG-014
title: Audiences are resolved when a person reads
product_area: platform
module: eligibility
revision: 1
status: proposed
design_intent: confirmed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Store audience references and the provider’s scope chain, then resolve people
  from current responsibility and role holdings at read time.
constrains:
  - DOM-PFM-ELG-005
  - DOM-PFM-ELG-004
  - SVC-PFM-ELG-attention
  - SVC-PFM-ELG-responsibilities
origin: >-
  Responsibilities and attention architecture D-04 (audiences at read) and D-05
  (providers write scope chains; Platform learns no hierarchy), approved by
  Andrew 2026-10-18 (PLAT-M15 "Decisions")
alternatives:
  - option: Expand audiences into people when publishing
    why_not: Cover and membership changes would require rewriting stored audiences.
  - option: Reconstruct every provider hierarchy in Platform
    why_not: >-
      Each application would need to duplicate its hierarchy semantics in
      Platform.
consequences:
  - Effective holding changes apply to subsequent reads.
  - Repeated area-and-scope combinations are resolved once per read.
  - >-
    A future fan-out cache would require measured justification; none is
    established here.
supersedes: []
evidence:
  - >-
    services-platform at ad3f6a6:
    docs/proposals/responsibilities-and-attention/16-decisions.md;
    docs/milestones/PLAT-M15-home-attention-and-responsibilities.md (Decisions)
  - >-
    services-platform at ad3f6a6: services/read/attention-for-viewer.ts;
    docs/attention.md §5
---
# Audiences are resolved when a person reads

## Context

A handover changes the people who should see work without changing the underlying condition.

## Decision

Store audience references and the provider’s scope chain, then resolve people from current responsibility and role holdings at read time.

## Alternatives Considered

Expand audiences into people when publishing: Cover and membership changes would require rewriting stored audiences.

Reconstruct every provider hierarchy in Platform: Each application would need to duplicate its hierarchy semantics in Platform.

## Consequences

Effective holding changes apply to subsequent reads. Repeated area-and-scope combinations are resolved once per read. A future fan-out cache would require measured justification; none is established here.
