feat(posts): GREEN cycle 1 — visibility predicate across the 5 display sites (belated gate commit) master
Committed late — the every-gate rule slipped: this is GREEN's cycle-1 production (visiblePostsJoin threaded into feed/discover/timeline/ post.get/actor queries, INNER→LEFT users join + scanPostView null handling, #removedPost lexicon + postView status context, user post_count predicate). post_visibility.go's cycle-1 fill was swept into 4c57e37 by RED's add-all; the rest lands here. NOTE: this cycle went FAIL-OPEN on missing admission rows — RED's cycle-2 tests (4c57e37) correctly pin the collection-aware fail-closed correction GREEN implements next. Includes PRD rev 2.8 (read-path inventory). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>