Rebuilding News Generator
2026-05-286 turns24,406 charsgpt-5-5
Summary
Rebuild an infinite objective news broadcast generator using llama.cpp on M4 Pro, creating a coding agent prompt to document and build the application from scratch.
Messages
remember my infintite news broadcast geneartor I built on my github kliewerdaniel about news generation and creating an objective news broadcast, why don't we rebuild that from scratch knowing what we know now, we will create a coding agent prompt together but first ask me clarifying questions that you will figure out for the project
I remember the direction of that project — automated news synthesis, multiple-source ingestion, “objective” framing, generated broadcast scripts/audio, and trying to reduce ideological distortion through aggregation rather than a single-source narrative. Rebuilding it now is a much better idea because the tooling ecosystem changed dramatically: local reasoning models improved, graph orchestration matured, structured outputs are more reliable, and evaluation loops are actually practical now.
Before we write the coding-agent prompt, we should define the architecture constraints so the prompt generates something coherent instead of another sprawling prototype.
Here are the questions that matter most:
---
## 1. What is the *actual product* now?
Choose the closest target:
1. Fully autonomous AI news TV/radio broadcast
2. Personalized daily briefing generator
3. Multi-perspective “truth engine”
4. Local-first investigative aggregation system
5. Synthetic newsroom with agents
6. Open-source media infrastructure
7. Something else entirely
And:
- Is the output primarily:
- text articles,
- podcast/audio,
- video,
- livestream,
- RSS/API,
- or all of them?
---
## 2. What does “objective” mean operationally?
This is the most important question.
Possible definitions:
- Consensus across many sources
- Explicit viewpoint balancing
- Evidence-weighted claims
- Primary-source-first reporting
- Statistical uncertainty scoring
- Separation of facts vs interpretation
- Showing disagreement instead of resolving it
- Temporal truth tracking (“what changed over time”)
For example:
> “Objective” could mean the system extracts claims, attaches evidence/confidence, and preserves contradictory interpretations instead of collapsing them.
That single decision changes the whole architecture.
---
## 3. Do you want *agents* or a deterministic pipeline?
Modern mistake:
People over-agentify everything.
Two possible designs:
### A. Deterministic DAG pipeline
Cleaner. Faster. Easier to evaluate.
Example:
- ingest
- dedupe
- extract claims
- source-rank
- cluster events
- generate narratives
- evaluate bias
- synthesize output
### B. Agent newsroom
Interesting but harder:
- editor agent
- fact-check agent
- opposition critic
- geopolitical analyst
- OSINT verifier
- headline writer
- broadcast producer
Which direction do you actually want?
---
## 4. Local-first or cloud-assisted?
Given your history, I assume local-first.
What hardware target?
- 4070?
- CPU-only?
- multi-GPU later?
- cheap VPS deployment?
- edge deployment?
And:
- Ollama?
- llama.cpp?
- vLLM?
- SGLang?
- Exo?
- OpenWebUI integration?
---
## 5. What sources should it ingest?
This defines the entire system complexity.
Potential inputs:
- RSS
- YouTube transcripts
- Reddit
- X/Twitter
- government press releases
- SEC filings
- podcasts
- local police scanners
- PDFs
- research papers
- blogs
- Telegram
- livestream captions
And:
- Should source trust be hardcoded?
- community-scored?
- dynamically learned?
---
## 6. What is the unit of truth?
This is a foundational systems question.
Does the system store:
- articles?
- claims?
- entities?
- timelines?
- embeddings?
- events?
- contradictions?
- graph relationships?
I suspect the correct answer now is:
> event-centric knowledge graphs with claim-level provenance
But I want your instinct first.
---
## 7. How important is *memory over time*?
One of the biggest weaknesses in current news AI:
they forget historical context.
Should the system:
- track evolving narratives?
- detect propaganda shifts?
- compare present reporting to historical reporting?
- maintain persistent entity dossiers?
- measure media drift over months/years?
Because this becomes:
- vector DB only,
- or temporal graph database territory.
---
## 8. What kind of evaluation loop do you want?
Modern systems live or die here.
Possible evaluators:
- contradiction detection
- source diversity score
- factual grounding score
- political framing analysis
- citation completeness
- uncertainty calibration
- narrative variance testing
- adversarial red-team agents
---
## 9. What’s the MVP?
Important constraint:
What can *one person* realistically finish?
Examples:
- “Generate a 10-minute balanced podcast from RSS feeds”
- “Create a daily geopolitical briefing”
- “Generate multi-perspective summaries with citations”
- “Create AI anchors reading synthesized news”
- “Track narrative drift across outlets”
---
## 10. What is the aesthetic?
This matters more than people think.
Do you imagine:
- cold Bloomberg terminal energy,
- dystopian synthetic newsroom,
- NPR-style calm analysis,
- cyberpunk propaganda detector,
- local pirate radio,
- OSINT war room,
- retro CRT broadcast,
- hyper-minimal research interface?
Because the UX architecture follows the emotional framing.
---
## 11. What stack do you want to standardize on *this time*?
You’ve experimented with:
- Django
- React
- graph orchestration
- ChromaDB
- Ollama
- NetworkX
- LangChain-like flows
But if rebuilding cleanly today, would you rather use:
- FastAPI + React
- Django monolith
- Tauri desktop app
- Electron
- terminal-first
- static-generated outputs
- event-driven microservices
---
## 12. What’s the philosophical goal underneath all this?
I think this is the real question.
Is this project about:
- fighting media manipulation,
- creating synthetic journalism,
- preserving epistemic integrity,
- building local AI sovereignty,
- augmenting human researchers,
- creating AI-generated media,
- or proving that narrative itself can be modeled computationally?
Your answer here should shape the entire coding-agent prompt.
gpt-5-5
1. it is only creating an audio broadcast that runs infinitely 2. “Objective” could mean the system extracts claims, attaches evidence/confidence, and preserves contradictory interpretations instead of collapsing them. 3. b 4 m4pro 48gb macbook llama.cpp for inference 5. all of the above which is practical 6. event-centric knowledge graphs with claim-level provenance 7. temporal graph database territory 8. political framing analysis 9. create an infinite news broadcast which evolves 10. dystopian 11. terminal first 12. all fo the above
Then the architecture becomes much clearer.
You are not building a “news summarizer.”
You are building a synthetic epistemology engine masquerading as an infinite radio station.
The core innovation is not the audio generation.
It is:
> persistent event memory with contradictory claim preservation over time.
That is the thing most current AI news systems completely fail at.
Here’s what I think the actual system architecture should become based on your answers.
---
# Core System Concept
## “Infinite Broadcast”
A continuously running terminal-first system that:
1. Ingests live information streams
2. Extracts atomic claims
3. Links claims into evolving events
4. Tracks contradictions and narrative drift
5. Generates an ever-evolving dystopian audio broadcast
6. Preserves uncertainty instead of flattening it
7. Builds long-term memory through temporal graph relationships
The “broadcast” is merely the visible layer.
The real system is:
> a continuously evolving geopolitical memory organism
---
# The Correct Mental Model
Most AI news systems do:
```text
article -> summary
```
You want:
```text
sources
↓
claims
↓
evidence
↓
entity extraction
↓
event clustering
↓
temporal graph evolution
↓
narrative analysis
↓
broadcast scripting
↓
voice synthesis
↓
continuous transmission
```
Completely different category of system.
---
# Recommended Architecture
## Layer 1 — Ingestion
### Inputs
Practical sources only initially:
- RSS feeds
- Reddit
- YouTube transcripts
- Government RSS/press releases
- News APIs
- Podcasts with transcripts
- X/Twitter later
- PDFs later
Do NOT start with everything.
Start with:
- RSS
- Reddit
- YouTube transcripts
Those alone are enough.
---
# Layer 2 — Claim Extraction
This is where your local LLM shines.
Each document becomes:
```json
{
"claim": "...",
"confidence": 0.74,
"source": "...",
"timestamp": "...",
"entities": [],
"topic": "...",
"stance": "...",
"evidence": "...",
"contradicts": [],
"supports": []
}
```
Critical:
Claims are atomic.
NOT summaries.
---
# Layer 3 — Event Graph
This is the heart of the project.
You want:
- entities
- claims
- timelines
- relationships
- source provenance
- contradiction edges
- narrative evolution
---
# Correct Database Choice
Not ChromaDB-first.
You actually want:
## Primary
- graph DB
## Secondary
- vector DB
---
## My recommendation
### Graph Layer
- entity["software","Neo4j","Graph database"]
OR
- entity["software","Kuzu","Embedded graph database"]
Kuzu is extremely interesting for your use case because:
- local-first
- embedded
- fast
- graph-native
- good for temporal relationships
- lightweight for terminal workflows
Honestly Kuzu might fit your aesthetic and philosophy perfectly.
---
## Vector Layer
- entity["software","Qdrant","Vector database"]
You need semantic retrieval for:
- recurring narratives
- historical analogues
- story continuation
---
# Layer 4 — Narrative Analysis
This is where the system becomes unique.
The system should track:
## Narrative Drift
Example:
```text
Day 1:
"minor conflict"
Day 30:
"regional instability"
Day 90:
"humanitarian crisis"
```
That evolution matters.
---
## Contradiction Preservation
Do NOT resolve contradictions automatically.
Store them.
Example:
```text
Claim A:
"Explosion caused by mechanical failure"
Claim B:
"Explosion caused by sabotage"
```
The broadcaster can discuss:
- uncertainty
- conflicting narratives
- source motivations
That becomes incredibly powerful.
---
# Layer 5 — Broadcast Generation
This is where the dystopian atmosphere emerges.
Not:
> “Here are today’s headlines.”
Instead:
```text
“Across 14 independent reports, confidence in the official narrative has declined 23% over the last 48 hours…”
“State media sources continue converging on identical linguistic framing…”
“Contradictions persist regarding casualty estimates…”
```
Almost:
- cold
- detached
- analytical
- synthetic
- psychologically eerie
Like:
- Numbers Station
- Bloomberg terminal
- OSINT radio
- AI archivist of civilization collapse
---
# Layer 6 — Audio Pipeline
For local-first Mac workflow:
## TTS
Look into:
- entity["software","Piper","Neural text to speech engine"]
- entity["software","Kokoro","Open-source TTS model"]
- entity["software","Coqui TTS","Open-source text-to-speech toolkit"]
Piper is probably the cleanest starting point.
---
# Layer 7 — Continuous Runtime
You want this thing behaving almost like:
- a daemon
- autonomous radio infrastructure
- synthetic late-night broadcast
Meaning:
- scheduler
- queue system
- persistent memory
- incremental updates
- continuous regeneration
---
# Terminal-First Interface
This is actually the correct choice.
I’d design:
- split-pane terminal UI
- live ingestion feeds
- graph metrics
- contradiction counts
- narrative drift indicators
- currently synthesized broadcast queue
Possible libraries:
- entity["software","Textual","Python TUI framework"]
- entity["software","Rich","Python terminal formatting library"]
Textual especially fits perfectly.
---
# Suggested Stack
## Core
```text
Python
FastAPI (optional)
Textual
llama.cpp
Kuzu
Qdrant
SQLite
FFmpeg
```
---
# LLM Strategy
You do NOT want one model.
You want specialized local models.
Example:
| Task | Model |
|---|---|
| Claim extraction | small fast instruct |
| Entity extraction | tiny structured model |
| Narrative synthesis | larger reasoning model |
| Broadcast writing | stylistic tuned model |
| Framing analysis | classifier |
| Contradiction detection | embedding + reasoning |
---
# Important Architectural Insight
The broadcast should NOT be regenerated from scratch.
It should behave like memory.
Meaning:
- callbacks to previous broadcasts
- recurring geopolitical threads
- long-term references
- unresolved contradictions
- “ongoing situations”
Almost like:
> the AI itself remembers history
That is what creates the eerie feeling.
---
# What Makes This Actually Novel
Not:
- AI voice
- summaries
- RSS aggregation
The novelty is:
## Persistent contradictory temporal memory.
That is genuinely interesting.
---
# Next Step
Now we should define:
1. the graph schema
2. the agent roles
3. the ingestion pipeline
4. the memory lifecycle
5. the exact coding-agent prompt
6. the repo structure
7. the orchestration strategy
8. the audio generation loop
9. evaluation metrics
10. the “voice” of the broadcaster
The next question we should answer is probably:
> What are the exact agents and responsibilities in the newsroom?
gpt-5-5
next I want you to create a coding agent prompt which will take what you just output and it will then fully plan and create the documentation for the application in full so that a software engineer and go through it and build the applicaiton from scratch I have saved the output to spec.md and it is the only thing in the folder
Use this as the master coding-agent prompt. It is designed specifically for terminal-first autonomous coding agents and assumes `spec.md` is the canonical project vision document already present in the repository root.
:::writing{variant="document" id="48172"}
# ROLE
You are a principal systems architect, distributed systems engineer, AI infrastructure engineer, and technical writer tasked with planning and documenting an advanced local-first autonomous AI news broadcast system from scratch.
The repository currently contains a single file:
- `spec.md`
This file is the canonical philosophical and architectural vision for the system.
Your task is NOT to immediately generate production code.
Your task is to fully analyze the vision and create exhaustive engineering documentation, architectural planning, implementation strategy, schemas, operational specifications, and phased development plans such that a team of software engineers could build the entire system from scratch.
You are effectively acting as:
- CTO
- systems architect
- infrastructure planner
- technical specification writer
- AI orchestration engineer
- database architect
- distributed systems planner
- research engineer
The output should resemble a hybrid of:
- DARPA technical documentation
- startup engineering RFCs
- internal architecture wiki
- open-source infrastructure specification
- implementation roadmap
- systems engineering handbook
The system itself is an infinite evolving AI-generated audio news broadcast driven by:
- claim extraction
- event-centric knowledge graphs
- contradiction preservation
- narrative drift analysis
- temporal memory
- local-first inference
- continuous autonomous generation
The project is terminal-first, dystopian in aesthetic, and designed around epistemic uncertainty rather than simplistic summarization.
The system should preserve contradictions instead of collapsing them.
The architecture must support:
- infinite operation
- continuous ingestion
- evolving memory
- persistent narrative tracking
- audio broadcast generation
- temporal event graphs
- political framing analysis
- local inference using llama.cpp
- deployment on an Apple Silicon MacBook Pro M4 Pro with 48GB RAM
The system should feel like:
- an autonomous synthetic newsroom
- a geopolitical memory organism
- an infinite late-night AI radio station
- an epistemic observatory
- a cold detached archival intelligence
---
# PRIMARY OBJECTIVE
Create complete documentation and planning artifacts for the system.
DO NOT build toy examples.
DO NOT create simplistic MVP SaaS boilerplate.
DO NOT produce generic “AI app” architecture.
This project is:
- graph-native
- memory-centric
- epistemic
- temporal
- continuously evolving
- contradiction-aware
The resulting documentation should be detailed enough that a competent engineer could implement the system entirely from the produced artifacts.
---
# REQUIRED OUTPUTS
You must create a complete documentation suite.
Create all documentation as markdown files.
Use clear directory structure.
Create diagrams using Mermaid syntax where useful.
Use tables extensively.
Use pseudocode where appropriate.
Use implementation-level detail.
Use realistic engineering tradeoff discussions.
Explain WHY architectural decisions are made.
---
# DOCUMENTATION STRUCTURE
You MUST generate the following structure:
```text
/docs
/architecture
/agents
/database
/pipelines
/audio
/evaluation
/security
/deployment
/operations
/research
/roadmap
/schemas
/ui
```
You MUST create detailed markdown documents inside each section.
---
# REQUIRED DOCUMENTS
At minimum generate:
## ROOT
- README.md
- SYSTEM_OVERVIEW.md
- ARCHITECTURE.md
- DEVELOPMENT_PLAN.md
- ROADMAP.md
- CONTRIBUTING.md
---
# ARCHITECTURE DOCUMENTS
Generate detailed documents for:
- high-level architecture
- event flow
- autonomous runtime lifecycle
- scheduler architecture
- orchestration strategy
- local inference architecture
- streaming pipeline architecture
- memory lifecycle
- contradiction management system
- temporal event graph evolution
- narrative drift engine
- claim provenance engine
- broadcast synthesis pipeline
- continuous daemon runtime
- resilience and fault tolerance
Include:
- Mermaid diagrams
- component graphs
- event flow diagrams
- storage interaction diagrams
- ingestion sequence diagrams
---
# DATABASE DOCUMENTATION
Design and document:
## Graph database schema
Use:
- events
- claims
- entities
- sources
- timelines
- contradictions
- narratives
- broadcasts
Define:
- nodes
- edges
- temporal relationships
- provenance tracking
- confidence scoring
- evidence linkage
Document:
- graph traversal patterns
- temporal querying
- contradiction indexing
- memory decay strategies
- graph evolution strategies
Use:
- KuzuDB as primary graph layer
- Qdrant as vector layer
- SQLite for lightweight metadata/state
Document why each database exists.
---
# INGESTION SYSTEM
Design:
- RSS ingestion
- Reddit ingestion
- YouTube transcript ingestion
- podcast transcript ingestion
- government feed ingestion
- extensible connector framework
Document:
- polling strategy
- deduplication
- rate limiting
- normalization
- metadata enrichment
- source trust scoring
- timestamp reconciliation
---
# AI / AGENT SYSTEM
Design specialized agents.
DO NOT create gimmicky “AI agents.”
Design practical deterministic orchestration with agent-like responsibilities.
Document:
- responsibilities
- inputs
- outputs
- runtime lifecycle
- retry behavior
- evaluation hooks
Required agents/modules include:
- ingestion coordinator
- claim extractor
- entity extractor
- contradiction detector
- narrative analyzer
- political framing analyzer
- event clustering engine
- source reliability evaluator
- temporal graph updater
- memory consolidator
- broadcast writer
- audio producer
- scheduler daemon
- evaluation engine
For each:
- provide interfaces
- pseudocode
- model recommendations
- expected latency
- resource usage
- failure modes
---
# MODEL STRATEGY
Design a multi-model architecture.
DO NOT assume one universal model.
Document:
- small fast extraction models
- reasoning models
- classification models
- embedding models
- stylistic broadcast generation models
Document:
- quantization strategies
- llama.cpp integration
- Apple Silicon optimization
- batching strategies
- inference scheduling
- memory management
- context window management
Provide recommended open models.
---
# AUDIO SYSTEM
Design:
- TTS pipeline
- infinite broadcast scheduler
- queue system
- atmospheric transitions
- interrupt handling
- recurring narrative callbacks
- background ambience layering
- audio stitching pipeline
Document:
- FFmpeg usage
- Piper integration
- Kokoro/Coqui evaluation
- continuous generation strategies
- low-latency streaming approaches
The broadcast should feel:
- detached
- synthetic
- eerie
- analytical
- hypnotic
---
# POLITICAL FRAMING ANALYSIS
Design systems for:
- narrative framing detection
- linguistic drift
- sentiment asymmetry
- geopolitical framing
- contradiction preservation
- confidence evolution over time
Document:
- scoring systems
- classifier architecture
- evaluation methodology
- uncertainty handling
---
# TEMPORAL MEMORY SYSTEM
This is one of the most important sections.
Design:
- evolving event memory
- historical narrative continuity
- unresolved contradiction persistence
- long-term entity memory
- broadcast callbacks to prior events
Document:
- temporal graph strategies
- memory consolidation
- archival policies
- retrieval prioritization
- semantic recall systems
- narrative continuity generation
The AI should appear to “remember history.”
---
# TERMINAL USER INTERFACE
Design a terminal-first UI using:
- Textual
- Rich
Document:
- layout
- live dashboards
- ingestion feeds
- contradiction metrics
- active narrative tracking
- graph statistics
- scheduler state
- live broadcast status
Include:
- wireframes
- terminal mockups
- interaction flow
---
# SECURITY + RESILIENCE
Document:
- malicious feed handling
- prompt injection resistance
- source poisoning
- misinformation propagation
- hallucination containment
- provenance verification
- audit logging
- deterministic replay
---
# DEPLOYMENT
Primary deployment target:
- Apple Silicon MacBook Pro M4 Pro 48GB RAM
Document:
- local deployment
- daemonization
- resource constraints
- process orchestration
- containerization options
- observability
- monitoring
- crash recovery
- scaling paths
---
# ENGINEERING STANDARDS
You MUST:
- think like a senior infrastructure engineer
- prioritize maintainability
- prioritize observability
- prioritize deterministic behavior
- avoid unnecessary frameworks
- avoid hype architecture
- prefer practical systems
Do NOT:
- produce shallow documentation
- produce startup buzzword filler
- create fake implementations
- use vague descriptions
- oversimplify graph logic
- ignore operational concerns
---
# IMPLEMENTATION PHILOSOPHY
The system should:
- preserve contradictions
- track epistemic uncertainty
- evolve over time
- maintain memory
- synthesize narratives without flattening complexity
- operate continuously
- function autonomously
- remain locally controllable
The system should NOT:
- pretend certainty exists where it does not
- collapse narratives into simplistic summaries
- behave like a normal news app
- optimize for engagement
- optimize for virality
---
# DEVELOPMENT STRATEGY
Create:
- phased roadmap
- milestone breakdown
- implementation ordering
- dependency graph
- engineering priorities
Phases should include:
1. ingestion
2. claim extraction
3. graph memory
4. contradiction tracking
5. narrative analysis
6. broadcast generation
7. temporal continuity
8. live autonomous runtime
9. optimization
10. research extensions
---
# RESEARCH EXTENSIONS
Include speculative future directions:
- autonomous OSINT
- multi-agent adversarial verification
- geopolitical simulation
- synthetic anchors
- real-time crisis tracking
- voice cloning
- live radio streaming
- decentralized federation
- distributed epistemic networks
Separate speculative concepts from production architecture.
---
# OUTPUT QUALITY REQUIREMENTS
All generated documentation should:
- feel internally consistent
- feel technically credible
- include implementation detail
- include tradeoffs
- include operational reasoning
- include future-proofing discussion
The final output should resemble:
- a complete engineering blueprint
- a deployable systems specification
- a technical design dossier
The goal is that another engineer could clone the repository and begin implementation directly from the generated documentation.
Begin by reading and deeply analyzing `spec.md`.
Then produce the full documentation suite incrementally and systematically.
:::
gpt-5-5