feat: implement rule engine, worker pool, event bus, and readability scraping with enhanced logging and content sanitization.
This commit is contained in:
@@ -93,3 +93,42 @@ This document records planned features, UX enhancements, and architectural exten
|
||||
- Staggered dynamic aspect ratios with prominent media cards.
|
||||
- Smooth infinite scroll pagination.
|
||||
- Interactive gesture swipe to dismiss the full-screen reader.
|
||||
|
||||
---
|
||||
|
||||
## 10. Beautiful 404 Error Page
|
||||
|
||||
- **Goal**: Provide a polished, modern, brand-consistent 404 Not Found experience.
|
||||
- **Scope**:
|
||||
- Frontend 404 route component with sleek modern aesthetics (glassmorphism/minimal illustration, clear error description, and a "Return to Gateway" action button).
|
||||
- Server-side fallback handler returning a clean, branded HTML response for unmatched routes.
|
||||
|
||||
---
|
||||
|
||||
## 11. Multi-Variant Pipeline Enrichments (AI Summary, TTS, Keywords, Audio)
|
||||
|
||||
- **Goal**: Expand the event-driven rules engine and variant storage system with automated enrichment plugins.
|
||||
- **Scope**:
|
||||
- **AI Summary Hook**: Integrate LLM actions (e.g. OpenAI / Anthropic / Gemini / Ollama) to automatically generate and store concise summaries in `entry_variants(key='ai_summary')`.
|
||||
- **Keyword & Tag Extraction**: Automated extractor storing structured YAML/JSON keyword lists in `entry_variants(key='keywords')` and `entry_variants(key='tags')` to enable rule-based chaining.
|
||||
- **Text-to-Speech (TTS)**: Synthesize article text to voice audio blobs (`.mp3` stored under `./data/blobs/{entry_id}/tts.mp3`) with HTTP 206 partial streaming.
|
||||
- **Podcast TTS & Summary TTS**: Convert articles into dual-host conversational podcasts or audio-narrated summaries streamed directly within the reader.
|
||||
|
||||
---
|
||||
|
||||
## 12. Aggregated Shared Posts Dashboard (`/shares`)
|
||||
|
||||
- **Goal**: Provide a dedicated gallery view aggregating all publicly shared articles.
|
||||
- **Scope**:
|
||||
- Centralized dashboard listing all articles with an active `share_uuid`.
|
||||
- Copy public link, preview shared HTML canvas, revoke share link, and view access stats.
|
||||
|
||||
---
|
||||
|
||||
## 13. Data Retention & Cleanup Policies (Auto-Deletion)
|
||||
|
||||
- **Goal**: Provide configurable retention rules to prune older or noisy articles and keep SQLite storage compact.
|
||||
- **Scope**:
|
||||
- Retention triggers (e.g. delete unstarred articles older than 90 days, or limit feeds to latest 500 posts).
|
||||
- Background garbage collection cleaning associated `entry_variants` and on-disk audio blobs (`./data/blobs/{entry_id}/`).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user