Commit History
-
merge: resolve conflicts with origin/main — keep improved colours and layout
ritvikv03 +1: Claude Sonnet 4.6Conflict resolution strategy: - Colour values: kept HEAD improvements (#a8bcd0 font_color, #6a8099 axis ticks) - Layout: kept HEAD's richer tab content (urgency matrix, feed+stats, ring guide) - _load_graph_elements: merged both — connected-only filter (HEAD) + try/except (remote) - Trivial docstring diffs: took remote's phrasing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>9cb08f7 -
fix: remove stale Gemini/ChromaDB refs, improve chart contrast, harden error handling
ritvikv03 +1: Claude Sonnet 4.6- Replace all Gemini/ChromaDB references in comments/docstrings with HuggingFace/Astra DB - Raise chart axis tickfont from #3d4f62 (invisible) to #6a8099 - Raise _CHART_BASE font_color from #7d8fa8 to #a8bcd0 - Fix _SEV_COLOUR low from #3d4f62 (invisible) to #607d8b - Fix empty-state annotation colours to match readable palette - Wrap _get_all_signals_cached() in try/except — UI never crashes without DB token - Fix scraper.py XML element deprecation warnings (or -> is not None) - Delete test_hf.py and output.txt debug artifacts - Gitignore .playwright-mcp/ and screenshot files Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>97b3013
-
Stability: Fix duplicate Dash output error and add graceful Astra DB connection handling
ritvikv031997432 -
fix: resolve runtime bugs, stale references, and config drift
ManusBug fixes --------- - core/database.py: remove hard-coded _ASTRA_ENDPOINT literal; read ASTRA_DB_ENDPOINT from environment variable at runtime. SignalDB now raises RuntimeError on init if either ASTRA_DB_TOKEN or ASTRA_DB_ENDPOINT is unset, matching README/CLAUDE.md documentation. - run_pipeline.py: fix AttributeError crash -- scored.severity_score does not exist on LLMScoreResponse; removed the broken line. Output header updated from 'GEMINI SCORING RESULTS' to 'HUGGINGFACE SCORING RESULTS'. - run_pipeline.py: fix TypeError crash -- score_and_save() returns None for near-duplicate signals; the result is now guarded before unpacking, with a clear 'near-duplicate detected' message printed to the user. - run_pipeline.py: SignalDB is only instantiated when --no-save is not set, so dry-run mode no longer requires valid Astra DB credentials. If DB init fails, the CLI gracefully falls back to dry-run mode. Stale references removed ------------------------ - run_pipeline…aaf4565
-
fix: restore missing stats keys and update astrapy 2.x API
ritvikv03 +1: Claude Sonnet 4.6- _db_stats_cached() was missing "critical", "high", "avg_disruption" keys that sidebar, overview, and feed callbacks all KeyError on; restores full stats dict matching the original _db_stats() contract - core/database.py: replace removed CollectionVectorServiceOptions (astrapy 1.x) with CollectionDefinition + CollectionVectorOptions + VectorServiceOptions (astrapy 2.2.1 API) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>3fa51a8 -
feat: migrate vector store from ChromaDB to Astra DB + Astra Vectorize
ritvikv03 +1: Claude Sonnet 4.6core/database.py — complete rewrite - Remove all chromadb / sentence-transformers / ONNX runtime dependencies - Integrate DataStax Astra DB via astrapy DataAPIClient - Collection "pestel_signals" created with Astra Vectorize: provider=nvidia, model=NV-Embed-QA (1024-dim, cosine) No local model or external embedding API call — Astra embeds server-side - Signal._to_astra_doc(): maps Signal → Astra document (_id, $vectorize, fields) - Signal._from_astra_doc(): reconstructs Signal from Astra document (accepts both native lists and legacy JSON strings for entities/themes) - SignalDB._get_or_create_collection(): idempotent bootstrap on first init - SignalDB.insert(): find_one_and_replace(..., upsert=True) — safe re-ingestion - SignalDB.search(): find(..., sort={"$vectorize": query}, include_similarity=True) converts Astra similarity [0,1] → distance convention (1.0 − similarity) to preserve all existing threshold logic in pipeline.py and graph_engine.py - SignalDB.get_all(): limi…b65c098
-
chore: add core/ modules, archive legacy code, update gitignore
ritvikv03 +1: Claude Sonnet 4.6- Add core/ package: database, pipeline, scheduler, scraper, sources, summary_engine, logger, utils (new architecture modules) - Move q2_solution/ and standalone scripts to _archive_legacy/ (read-only) - Add assets/style.css, run_pipeline.py, tests/ - Add docs/plans/ implementation plan - Update .gitignore: exclude data/chroma_db/, data/summaries.db - Add .claudeignore - Update CLAUDE.md and .github/workflows/sentinel.yml Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>c8cf81d