Changelog
Documentation updates for Infolitico.
July 1 – August 8, 2026
125 user-facing changes shipped.
New features
- Google News sitemap (48h daily-reflection leaf) (#279)
- owner-gated AdSense footer canary (dark without env) — T3 money-path (#280)
- add image-regen operator lane for artifact_repairable image-gen failures (#278)
- add --drain-backlog lane to run-story-batch for artifact-repairable backlog (#277)
- add Terms of Service page at /terms (#274)
- add consent-gated Google Reader Revenue Manager (Subscribe with Google) (#275)
- stream OpenAI-compatible completions for thinking-model routes (#273)
- add Qwen vision provider to the image text guard (#271)
- enforce explicit News/Reflection/Prayer contract at polish and publish boundaries (#259)
- rescue verse-index backlinks, consent-gated telemetry, UTM allowlist, privacy honesty (#260)
- rescue legacy profiles/comments owner-only read policies as migration 0046 (#257)
- INFO-209 NewsArticle structured data + INFO-208 social sharing UX (#244)
- INFO-207 Resend newsletter integration + INFO-211 support footer link (#245)
- §7 named-victim backstop + React cache() for story lookups (#242)
- enforce News-section floor + purity in polish verdict (#240)
- wire anti-template scaffold lint into polish verdict (#239)
- ISR caching + anti-template lint + prompt quality improvements (#238)
- SEO/performance + content quality improvements (#233)
- stage disabled conditional AdSense boundary (INFO-141) (#232)
- add privacy-minimized individualized outreach register (INFO-188) (#231)
- INFO-148 Phase 2 — Thought dossier contract with stable evidence unit IDs (#224)
- verify publisher attribution (#229)
- INFO-148 content-kind aware theme extractor for Thought lane (#223)
- INFO-146 scored Thought candidate shortlist in dry-run output (#222)
- INFO-150 share card creative system — 4 formats × 2 aspect ratios (#221)
- INFO-149 persist approved text artifacts for image-only retry + INFO-137 RLS verification (#220)
- INFO-136 weekly editorial QA scorecard scheduling (#219)
- INFO-147 growth analytics + INFO-140 chrome measurement contract (#217)
- salvage mobile reader accessibility improvements (PR #165) (#213)
- owner-gated publisher for hand-authored Inspirational Thoughts (#202)
- homepage featured Inspirational Thought hero (#201)
- draft-model split (GLM-5.2 + kimi-k2.6) + internal writer personas (#200)
- env-driven reasoning_effort + output-token floor for OpenAI-compat routes (#197)
- retire Azure entirely; NeuralWatt/GLM 5.2 via OpenAI-compat route (stacked on #194) (#195)
- Thought throughput + story/image quality tranche (reopen of #194) (#196)
- improve Thought quality recovery (#191)
- launch image-safe reader feed (#170)
- add inspirational thoughts lane (INFO-122) (#143)
- add source health report (#142)
- gate daily-cap increases with a ramp report (#141)
- diversify batch selection and ramp cadence (#138)
- add durable IndexNow outbox (#136)
- make checkpoints durable (#137)
- finish faith-era launch ticket sweep (#128)
- migrate Bible translation from ESV to NLT (#127)
- section pages real-data rebuild — 6 working sections replace dead person-category query (#115)
- conflict-casualty intake guard + stop re-selecting content-rejected events (#113)
- person-less story path + faith-pivot RSS diet trim (#111)
- adopt the Axiom SoT-wiki structure for Infolitico (#109)
- commentary quotes — verified theologian quotes linked to Bible verses (#107)
- friendly-pointed satire register + governance lockstep (#102)
Updates
- add structured failure logging to the Reddit feed scraper (#285)
- Add owner-gated Qwen 3.8 bulk-generation harness scripts (#247)
- Record INFO-197 deployment receipt (#253)
- Prevent hardcoded Scripture drift (INFO-197) (#252)
- Add guarded final-tier generated image library (#250)
- Add fail-closed Qwen streaming draft provider (#249)
- INFO-201: Phase-5 thought-dossier hardening + LLM citation extraction (#243)
- INFO-186: prepare reviewed On Mission paid-seed packet (#228)
- INFO-181: enforce canonical outreach attribution (#227)
- Ship reviewed INFO-152 organic share asset baseline (#226)
- INFO-139: record conditional AdSense-only decision (#225)
- Harden generated imagery against synthetic crowd tropes (#215)
- INFO-136: add read-only editorial repetition telemetry (#214)
- Theme-keyed curated photo pool (INFO-177) (#207)
- Commons relaxed relevance stage-2 + yield metrics (INFO-176) (#206)
- Image aesthetic diversity: scene memory, palette signature, cluster gate (INFO-175) (#205)
- Quality batch: stories, images, UX (INFO-161..173) (#204)
- INFO-129: Gate monetization on Bible-rights readiness (#189)
- Repeat the final length contract in the polish payload (#187)
- Make Thought polish compress overlong intermediate drafts (#186)
- Let the final guard enforce Thought publication length (#185)
- Bound the Thought compression retry output (#184)
- Compress the actual overlong Thought draft on retry (#183)
- Harden the controlled Thought operator path (#182)
- Keep the new Culture source tier operationally green (#181)
- Expand Faith & Church and populate Culture (#180)
- Record live Reddit feed release (#179)
- Keep Reddit feed posts on Infolitico (#178)
- Record first Thought and live image remediation (#176)
- Retry overlong Inspirational Thought drafts once (#175)
- Fix one-shot recovery for grounded Thought outlines (#174)
- Keep social images in sync during remediation (#169)
- Harden historical image remediation retries (#168)
- Prevent irrelevant political imagery on community stories (#167)
- Fix social card font rendering (#164)
- Harden event image relevance (#163)
- Wire portrait semantics into the live homepage (#161)
- Restore relevant person-first story imagery (#160)
- filter unusable source summaries from batches (#159)
- fix Reddit source grounding (#157)
- fix release safety and publish local work (#156)
Fixes
- fetch each Feed community individually; parse both Reddit title markup variants (#286)
- match Reddit's redesigned embed title markup on The Feed (#284)
- prefilter pre-contract polished bodies in image-regen lane (#283)
- sitemap health check expects sitemap-news.xml leaf (#282)
- allow AdSense sodar hosts in CSP (violation-evidence) (#281)
- splice curated verse into the blockquote so GLM-5.2 can't corrupt it (#276)
- punch list — single prayer regex, line-level legacy split, multi-paragraph prayers, consent test (#269)
- hero renders story primary image eagerly; notice banner becomes docked bottom bar (#254)
- de-tautologize Commons relevance gate + geography guard (#241)
- enforce Scripture quote provenance (INFO-180) (#234)
- enforce isolated runtime smoke (#230)
- INFO-158 section pages lead with visually strong story (#218)
- suppress duplicate decorative quotes when Scripture owns the boundary quote (INFO-101) (#212)
- broaden image-scene abstraction motifs beyond table-and-desk (#211)
- serialize Commons API pacing for apply-time refresh (#210)
- pace theme-photo downloads with 429 backoff (#209)
- theme-photo seed search query sparsity + pacing (#208)
- retry generated images with guard feedback + harden people scenes (INFO-160) (#203)
- 0035 backfill skips legacy non-URL source refs (as applied to prod) (#199)
- restore /story/<slug> permalinks (#192)
- image every homepage hero story (#172)
- image secondary homepage cards (#171)
- make archive discovery mutation-safe (#151)
- consolidate crawl, discovery, and reader polish (#149)
- overscan/paginate batch selection past blacklisted rows (#125)
- stop Comments crashing SSR when Supabase env vars are unset (#124)
- diversify outline.md headline examples to break formula repetition (#117)
- generate story-grounded image scenes via LLM instead of canned theme library (#116)
- run topic-dedupe for person-less faith-contract stories (#114)
- normalize markdown chrome out of story bodies + LLM empty-content telemetry (#112)
- thread polish gate scores + retire negative-frame headline gate (#110)
- correct 3 bible_verses with genuine ESV wording drift (#108)
- polish reject-verdict parsing + faith RSS source expansion (#106)
August 15, 2026
Documentation expansion
- Added a reader guide for sections, stories, people hubs, and the archive.
- Added a The Feed guide covering curated public snapshots, disclosure, discussion sign-in, and the shared edition.
- Added a policies guide covering AI disclosure, corrections and retractions, community standards, privacy, terms, and the About page.
- Clarified in Get started that browsing needs no account while Feed discussions require reader sign-in.
- Expanded the morning newsletter guide with cadence, content, consent, availability, and archive guidance.
Was this page helpful?