Surface observer watched inputs in Operations PEOPLE. master
Tick: acted on the queued 2026-07-14 violation — no surface rendered what any observer watches. Each earned observer dossier now carries a watches: fact, and PEOPLE ends with the Assurance Office's institutional card (new OperationsTarget::AssuranceOffice): band, watches: filings from the non-Silent watched observers through the earned label gate, last-noticed filing, no actions. Agent mode addresses it as 'assurance' (@assurance). Pinned by observer_dossier_shows_watched_channels and assurance_office_is_a_people_card_watching_filers; observed agent run shows the card with silhouette-gated filers and the real save untouched. Defense: detection.md's player surface ('each human's coarse suspicion band, watched channels, and last-noticed event') and aggregate-observer.md's Office card with its legibility clause ('players see that Assurance learns only what gets filed') are binding and were unimplemented. The fix lands in the one renderer-neutral projection, so terminal, Bevy, and agent mode inherit it without frontend-only paths. operations-workspace.md's PEOPLE contract is amended deliberately: PEOPLE became the observers panel by detection.md's 2026-07-11 placement decision, the Office card is public record from the start (the same fiction that shows the audit countdown and Assurance band line), Silent observers are absent because nothing of theirs is ever filed, and every filer name passes the same earned label gate as any person reference.