Wire get_graph_depth() into 5 internal investigator queries (R-5, partial) f064888 abinazebinoy commited on 14 days ago
Wire get_cache_ttl() into _STATS_TTL and _VERIFY_TTL (R-5, partial) dd8fe80 abinazebinoy commited on 14 days ago
Migrate admin-secret generation to try the OS keychain first (D6) 188acc4 abinazebinoy commited on 16 days ago
fix: desktop-mode-adapt dossier output; unify 3 hardcoded copies of its path (P-1) 7650d33 abinazebinoy commited on 21 days ago
fix: centralize + desktop-mode-adapt the logs directory (P-1) 6d12c24 abinazebinoy commited on 22 days ago
feat(D1): local config-file loading + desktop-mode admin-auth hardening e26a730 abinazebinoy commited on Sep 1
fix: version-string drift (F-8) and dead ALLOWED_CHARS regex (F-9) a520836 abinazebinoy commited on Aug 29
fix(timeline route): invalid Cypher syntax '{id: }' and bare LIMIT 4ccfced abinazebinoy commited on Aug 26
fix(forensics route): invalid Cypher syntax '{id:}' in 3 query blocks 3f1a145 abinazebinoy commited on Aug 26
fix(risk route): invalid Cypher syntax + wrong field names in 3 Phase-34 blocks 146a572 abinazebinoy commited on Aug 26
feat(phase-34): register forensics, self_learning, case_memory routers 70e41ad abinazebinoy commited on Jun 2
feat(phase-34): add api/routes/case_memory.py with 3 endpoints 538036c abinazebinoy commited on Jun 2
feat(phase-34): add api/routes/self_learning.py with 4 endpoints 5fdaa50 abinazebinoy commited on Jun 2
feat(phase-34): wire BenfordsAnalyzer + GhostCompanyDetector + ShadowDirectorDetector into risk scorer 4ac80cb abinazebinoy commited on Jun 2
feat(phase-33): add 4 graph analytics endpoints to api/routes/graph.py 5ac9ba3 abinazebinoy commited on Jun 1
feat(phase-32): load AliasGraph at startup + register resolve.router 02e886f abinazebinoy commited on May 20
feat(phase-32): add AliasGraph import and singleton to api/main.py d0cb2c0 abinazebinoy commited on May 20
fix(M-09): confirm dirname guard in save_json; bump version to 0.32.0 e492711 abinazebinoy commited on May 18
fix(B-01): define _stats_lock -- NameError crashed GET /stats on every call 05ed738 abinazebinoy commited on May 17
fix(BACKEND-2): add threading.Lock for _stats_cache -- prevents concurrent full-graph scans 112882a abinazebinoy commited on May 9
chore: bump version to 0.31.5 -- Sprint 7 complete (31 commits, 30+ bugs fixed) fc19538 abinazebinoy commited on May 8
fix(SEARCH-2,SEARCH-3): add datagov/crimereport filter buttons; add Arabic script U+0600-U+06FF to ALLOWED_CHARS for Urdu/Sindhi search 297cc9e abinazebinoy commited on May 8
fix(SEARCH-1): call setup_schema() in API lifespan startup -- fulltext index created on fresh deployment without waiting for daily scrape aa36a1a abinazebinoy commited on May 8
fix(BACKEND-1): move rate limiter eviction AFTER current key pruning -- prevents losing rate-limit tracking on burst-after-idle patterns 9d85e1e abinazebinoy commited on May 8
fix(LOGIC-1): remove 2 duplicate pressrelease keys in LABEL_QUERIES; fix LIMIT $lim -> $limit to match query runner kwarg b348d13 abinazebinoy commited on May 8
fix(SEC-6): reject empty-string ADMIN_SECRET -- empty string was falsy and bypassed authentication check 4040e0f abinazebinoy commited on May 8
fix(CodeQL#16-17): use validated real_out path for FileResponse and media_type check in export.py 673a953 abinazebinoy commited on May 8
fix(CodeQL#23): log exception type only in investigation.py -- full exception message may expose Neo4j URI 7a6c1ee abinazebinoy commited on May 8
fix(FEED-3): replace deprecated asyncio.get_event_loop() with get_running_loop() in WebSocket handler c157cb6 abinazebinoy commited on May 8
fix(SyntaxError): remove duplicate stats cache block in api/main.py -- global must precede all use of variable b20b3a7 abinazebinoy commited on May 7
fix(H-07): add 60s cache for /stats endpoint -- prevents full MATCH(n) scan on every homepage load 5ead1fe abinazebinoy commited on May 5
fix(M-08): add pressrelease alias in LABEL_QUERIES so frontend filter button works 9b088fe abinazebinoy commited on May 5
chore: bump version to 0.31.4 -- Sprint 5 complete (36 bugs fixed across 36 commits) 1e8b330 abinazebinoy commited on May 4
fix(H-07): add 60s cache to /stats endpoint -- prevents full graph scan (MATCH (n)) on every homepage load 903be0d abinazebinoy commited on May 4
fix(M-08): add 'pressrelease' alias key in LABEL_QUERIES -- frontend filter button now correctly filters to PressRelease nodes 2d87a38 abinazebinoy commited on May 4
fix(M-03,M-06,M-08): add mobile CSS overrides for inline grid layouts; add NONE risk level for score=0; clamp risk score to 0-100 b0e0450 abinazebinoy commited on May 4