A self-hosted, agent-driven research and bibliography system that consolidates news and public discourse across mainstream, regional, and social sources into a single intelligence engine — optimized for depth, objectivity, and second-order significance.
Complete specification and functional details are documented in news-intelligence-dashboard-prd.md.
.
├── news-intelligence-dashboard-prd.md # Comprehensive Product Requirements Document
├── README.md # Main repository overview (this file)
├── .gitignore # Git ignore rules for Python, DBs, and local data
└── geonewsdesk/ # Core Python application workspace
├── README.md # Submodule progress log & feature guide
├── requirements.txt # Python dependencies
├── config.py # System configuration & model role allocation
├── model_client.py # LM Studio OpenAI-compatible client & offline fallback
├── agents/ # Autonomous agents (Retrieval, Extraction, Significance, Editor, Threading, Update)
├── checkpoints/ # Working state checkpoint manager & MasterTaskTracker
├── db/ # SQLAlchemy models, sessions, and seed scripts
├── orchestration/ # Daily loop & Weekly summary orchestration engines
├── tests/ # Automated unit and integration test suite
└── utils/ # Security & prompt-injection safeguards
- Multi-Source Retrieval: Pluggable source adapters for RSS wire/press feeds and social feeds (Reddit JSON API).
- Rubric-Driven Significance Filter: Scores stories across 5 dimensions (Scale, Causal Reach, Rarity, Persistence, Standing Interest), leveraging an infrastructure Dependency Graph.
- Content Security & Prompt Safeguards: Enforces strict data/instruction separation and logs prompt-injection anomalies.
- Media Authenticity Verification: Evaluates media using multi-check scoring (EXIF, reverse search, landmark matching, synthetic media detection).
- Editor Agent & Narrative Structuring: Categorizes research into Main Line, Branching, and Alternate narratives with 5 selectable Social Source Inclusion strategies.
- Latent Story Threading: Discovers non-obvious cross-regional/cross-industry connections across stories.
- Continuity & Evolution Tracking: Multi-signal story matching with 3-zone confidence routing (High, Middle, Low).
- Daily & Weekly Consolidation Loops: Automated daily loops and 7-day weekly synthesis passes with plain-file JSON backups under
/data/.
Navigate to the geonewsdesk directory and set up the isolated Python virtual environment:
cd geonewsdesk
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt.venv/bin/python -m db.session
.venv/bin/python -m db.seed_graph# Run Daily Loop (Retrieval -> Security -> Verification -> Scoring -> Editor Synthesis -> Backup export)
.venv/bin/python -m orchestration.daily_loop
# Run Weekly Loop (7-day synthesis pass -> Story Threading -> Evolution Tracking -> Weekly Summary)
.venv/bin/python -m orchestration.weekly_loop.venv/bin/python -m unittest discover -s tests -p "test_*.py"- LM Studio Integration: By default,
model_client.pyconnects to LM Studio onhttp://localhost:1234/v1. - Offline / Mock Fallback Mode: If LM Studio is not running, the system automatically falls back to an offline rule-based mock generator so testing and demonstration run seamlessly without errors. You can also explicitly set
NEWSDESK_MOCK_LLM=1.
Personal Research & Bibliography Intelligence Project.