- news002 image/structure audit no longer throws: prune empty sections and
publish a best-effort page with a warning
- WeChat push strips images that failed to upload instead of refusing the draft
- forceGenerateOnce is cleared before running, so a failed run cannot loop;
the archived page is restored when generation fails
- degraded-page regeneration runs at most once per day
- content safety rules cover vulgar sexual terms and gossip/adult sites
Co-authored-by: Cursor <cursoragent@cursor.com>
Rules-first safety gate covering adult content, minor protection, legal
compliance (stock tips, crypto promotion, gambling, drugs, source
provenance for political news) and ethics (tragedy tone, discrimination,
gossip). Filters without blocking publication:
- SearXNG prefetch uses safesearch=2 and drops block-level results before
they can be supplemented into the page
- worker sanitizes the page after dedupe and after the image gate, with a
single batched model review; review-level items are removed fail-safe
when the reviewer is unavailable
- sections the gate filtered are exempt from fill/structure audits so
filtering never turns into a failed generation
- push/preview recheck removes block-level items and masks title/digest
- AI-assisted disclosure in page footer and WeChat draft, plus aigc and
content-safety meta markers
Co-authored-by: Cursor <cursoragent@cursor.com>