Spaces:
Running
Running
Revise PHASE_ROADMAP with new formatting and details
Browse filesUpdated the PHASE_ROADMAP.md to include new formatting for completed phases, added results for each phase, and outlined planned phases with detailed scopes and features.
- PHASE_ROADMAP.md +281 -154
PHASE_ROADMAP.md
CHANGED
|
@@ -8,211 +8,338 @@ Branch naming: `feature/phase-N-name` or `fix/issue-N-name`.
|
|
| 8 |
## COMPLETED
|
| 9 |
|
| 10 |
### Phase 1 β Data Collection
|
| 11 |
-
Branch: `feature/phase-1-scrapers`
|
| 12 |
-
Files: `scrapers/base_scraper.py`
|
| 13 |
-
|
| 14 |
-
`scrapers/gem_scraper.py`
|
| 15 |
-
Status: MERGED β 3,199 live records confirmed
|
| 16 |
|
| 17 |
### Phase 2 β Data Processing
|
| 18 |
-
Branch: `feature/phase-2-processing`
|
| 19 |
Files: `processing/cleaner.py`, `processing/entity_resolver.py`, `processing/pipeline.py`
|
| 20 |
-
|
| 21 |
|
| 22 |
### Phase 3 β Graph Database
|
| 23 |
-
Branch: `feature/phase-3-graph`
|
| 24 |
Files: `graph/schema.py`, `graph/loader.py`, `graph/queries.py`
|
| 25 |
-
|
| 26 |
|
| 27 |
### Phase 4 β FastAPI Backend
|
| 28 |
-
Branch: `feature/phase-4-api`
|
| 29 |
-
Files: `api/main.py`, `api/models.py`, `api/dependencies.py`,
|
| 30 |
-
|
| 31 |
-
`api/routes/risk.py`
|
| 32 |
-
Status: MERGED β v0.12.0
|
| 33 |
|
| 34 |
### Phase 5 β Risk Scoring Engine
|
| 35 |
-
Branch: `feature/phase-5-risk`
|
| 36 |
Files: `ai/indicators.py`, `ai/explainer.py`, `ai/risk_scorer.py`
|
| 37 |
-
|
| 38 |
|
| 39 |
### Phase 6 β Expanded Data Sources (13 scrapers)
|
| 40 |
-
Branch: `feature/phase-6-scrapers`
|
| 41 |
-
Files:
|
| 42 |
-
|
| 43 |
-
`scrapers/sebi_scraper.py`, `scrapers/electoral_bond_scraper.py`
|
| 44 |
-
Status: MERGED β Wikidata SPARQL confirmed live
|
| 45 |
|
| 46 |
### Phase 7 β NLP Document Intelligence
|
| 47 |
-
Branch: `feature/phase-7-nlp`
|
| 48 |
-
Files: `ai/nlp_extractor.py`, `ai/benfords_analyzer.py`,
|
| 49 |
-
|
| 50 |
-
Status: MERGED β 93.35% shadow draft alignment confirmed
|
| 51 |
|
| 52 |
### Phase 8 β Advanced Graph Analytics
|
| 53 |
-
Branch: `feature/phase-8-graph-analytics`
|
| 54 |
-
Files: `ai/graph_analytics.py`, `ai/circular_ownership.py`,
|
| 55 |
-
|
| 56 |
-
Status: MERGED β Ghost company 100/100 confirmed
|
| 57 |
|
| 58 |
### Phase 9 β Eight New Indian Sources (21 total scrapers)
|
| 59 |
-
Branch: `feature/phase-9-scrapers`
|
| 60 |
-
Files:
|
| 61 |
-
|
| 62 |
-
`scrapers/ibbi_scraper.py`, `scrapers/ngo_darpan_scraper.py`, `scrapers/cppp_scraper.py`
|
| 63 |
-
Status: MERGED β NJDG 39 live records confirmed
|
| 64 |
|
| 65 |
### Phase 10 β Multi-Investigator AI Engine
|
| 66 |
-
Branch: `feature/phase-10-multi-investigator`
|
| 67 |
-
Files: `ai/multi_investigator.py`, `ai/investigators/
|
| 68 |
-
|
| 69 |
-
Status: MERGED β SHA-256 hash confirmed, synthesis working
|
| 70 |
|
| 71 |
-
### Phase 11 β Multilingual Platform
|
| 72 |
-
Branch: `feature/phase-11-multilingual`
|
| 73 |
-
Files: `config/languages.py`, `ai/translator.py`, `ai/transliteration.py`,
|
| 74 |
-
|
| 75 |
-
Status: MERGED β 22 languages, cross-script search confirmed
|
| 76 |
|
| 77 |
### Phase 12 β PDF Dossier Generator
|
| 78 |
-
Branch: `feature/phase-12-pdf-dossier`
|
| 79 |
-
Files: `ai/report_hasher.py`, `ai/dossier_generator.py`,
|
| 80 |
-
|
| 81 |
-
Status: MERGED β 10,829 char HTML confirmed, SHA-256 tamper detection working
|
| 82 |
|
| 83 |
### Phase 13 β Production Frontend
|
| 84 |
-
Branch: `feature/phase-13-frontend`
|
| 85 |
-
Files: `frontend/index.html`, `frontend/css/
|
| 86 |
-
|
| 87 |
-
`frontend/js/api.js`, `frontend/js/components.js`,
|
| 88 |
-
`frontend/js/graph.js`, `frontend/js/app.js`
|
| 89 |
-
Status: MERGED β works from file:// protocol, D3.js graph confirmed
|
| 90 |
|
| 91 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
|
| 93 |
-
|
| 94 |
|
| 95 |
-
##
|
| 96 |
-
Branch: `feature/phase-14-deployment`
|
| 97 |
|
| 98 |
-
|
| 99 |
-
delays. Hugging Face Spaces with Docker SDK do not sleep on public spaces.
|
| 100 |
|
| 101 |
-
**
|
| 102 |
```
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
```
|
| 110 |
|
| 111 |
-
|
| 112 |
-
```
|
| 113 |
-
api/main.py Add GZipMiddleware + Cache-Control headers
|
| 114 |
-
frontend/index.html Register service worker, add preconnect hints
|
| 115 |
-
```
|
| 116 |
|
| 117 |
-
See step-by-step instructions below.
|
| 118 |
|
| 119 |
---
|
| 120 |
|
| 121 |
-
## PLANNED
|
| 122 |
-
|
| 123 |
-
### Phase
|
| 124 |
-
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 151 |
|
| 152 |
### Phase 19 β Affidavit Wealth Trajectory Engine
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
|
|
|
|
|
|
| 157 |
|
| 158 |
### Phase 20 β Biography Engine
|
| 159 |
-
|
| 160 |
-
|
| 161 |
-
|
| 162 |
-
|
| 163 |
-
`
|
|
|
|
| 164 |
|
| 165 |
### Phase 21 β Benami Entity Detection
|
| 166 |
-
|
| 167 |
-
Family network construction. Director proxy scoring.
|
| 168 |
-
File: `ai/forensics/benami_detector.py`
|
| 169 |
|
| 170 |
-
|
| 171 |
-
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
|
|
|
|
|
|
| 175 |
|
| 176 |
-
### Phase
|
| 177 |
-
|
| 178 |
-
|
| 179 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 180 |
|
| 181 |
### Phase 24 β Linguistic Fingerprinting
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
|
|
|
|
|
|
|
|
|
| 185 |
|
| 186 |
### Phase 25 β Policy-Benefit Causal Analysis
|
| 187 |
-
|
| 188 |
-
|
| 189 |
-
Contract Award
|
| 190 |
-
|
| 191 |
-
|
| 192 |
-
|
| 193 |
-
|
| 194 |
-
|
| 195 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 196 |
|
| 197 |
### Phase 27 β Multi-Agent Debate Engine
|
| 198 |
-
|
| 199 |
-
|
| 200 |
-
|
| 201 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 202 |
|
| 203 |
### Phase 28 β Dark Pattern Detection
|
| 204 |
-
|
| 205 |
-
|
| 206 |
-
|
| 207 |
-
|
| 208 |
-
|
| 209 |
-
|
| 210 |
-
|
| 211 |
-
|
| 212 |
-
|
| 213 |
-
|
| 214 |
-
|
| 215 |
-
|
| 216 |
-
|
| 217 |
-
|
| 218 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
## COMPLETED
|
| 9 |
|
| 10 |
### Phase 1 β Data Collection
|
| 11 |
+
Branch: `feature/phase-1-scrapers` | Status: MERGED
|
| 12 |
+
Files: `scrapers/base_scraper.py` + 6 scrapers
|
| 13 |
+
Result: 3,199 live records confirmed
|
|
|
|
|
|
|
| 14 |
|
| 15 |
### Phase 2 β Data Processing
|
| 16 |
+
Branch: `feature/phase-2-processing` | Status: MERGED
|
| 17 |
Files: `processing/cleaner.py`, `processing/entity_resolver.py`, `processing/pipeline.py`
|
| 18 |
+
Result: 47 records in 15 seconds confirmed
|
| 19 |
|
| 20 |
### Phase 3 β Graph Database
|
| 21 |
+
Branch: `feature/phase-3-graph` | Status: MERGED
|
| 22 |
Files: `graph/schema.py`, `graph/loader.py`, `graph/queries.py`
|
| 23 |
+
Result: Neo4j AuraDB connected
|
| 24 |
|
| 25 |
### Phase 4 β FastAPI Backend
|
| 26 |
+
Branch: `feature/phase-4-api` | Status: MERGED
|
| 27 |
+
Files: `api/main.py`, `api/models.py`, `api/dependencies.py`, `api/routes/` (4 files)
|
| 28 |
+
Result: v0.12.0
|
|
|
|
|
|
|
| 29 |
|
| 30 |
### Phase 5 β Risk Scoring Engine
|
| 31 |
+
Branch: `feature/phase-5-risk` | Status: MERGED
|
| 32 |
Files: `ai/indicators.py`, `ai/explainer.py`, `ai/risk_scorer.py`
|
| 33 |
+
Result: validate_language() enforced
|
| 34 |
|
| 35 |
### Phase 6 β Expanded Data Sources (13 scrapers)
|
| 36 |
+
Branch: `feature/phase-6-scrapers` | Status: MERGED
|
| 37 |
+
Files: 6 new scrapers (ICIJ, Wikidata, OpenSanctions, Lok Sabha, SEBI, Electoral Bonds)
|
| 38 |
+
Result: Wikidata SPARQL confirmed live
|
|
|
|
|
|
|
| 39 |
|
| 40 |
### Phase 7 β NLP Document Intelligence
|
| 41 |
+
Branch: `feature/phase-7-nlp` | Status: MERGED
|
| 42 |
+
Files: `ai/nlp_extractor.py`, `ai/benfords_analyzer.py`, `ai/multilingual_ner.py`, `ai/shadow_draft_detector.py`
|
| 43 |
+
Result: 93.35% shadow draft alignment confirmed
|
|
|
|
| 44 |
|
| 45 |
### Phase 8 β Advanced Graph Analytics
|
| 46 |
+
Branch: `feature/phase-8-graph-analytics` | Status: MERGED
|
| 47 |
+
Files: `ai/graph_analytics.py`, `ai/circular_ownership.py`, `ai/shadow_director.py`, `ai/ghost_company.py`
|
| 48 |
+
Result: Ghost company 100/100 confirmed
|
|
|
|
| 49 |
|
| 50 |
### Phase 9 β Eight New Indian Sources (21 total scrapers)
|
| 51 |
+
Branch: `feature/phase-9-scrapers` | Status: MERGED
|
| 52 |
+
Files: 8 new scrapers (NJDG, ED, CVC, NCRB, LGD, IBBI, NGO Darpan, CPPP)
|
| 53 |
+
Result: NJDG 39 live records confirmed
|
|
|
|
|
|
|
| 54 |
|
| 55 |
### Phase 10 β Multi-Investigator AI Engine
|
| 56 |
+
Branch: `feature/phase-10-multi-investigator` | Status: MERGED
|
| 57 |
+
Files: `ai/multi_investigator.py`, `ai/investigators/` (12 files)
|
| 58 |
+
Result: SHA-256 hash confirmed, synthesis working
|
|
|
|
| 59 |
|
| 60 |
+
### Phase 11 β Multilingual Platform (22 Languages)
|
| 61 |
+
Branch: `feature/phase-11-multilingual` | Status: MERGED
|
| 62 |
+
Files: `config/languages.py`, `ai/translator.py`, `ai/transliteration.py`, `api/routes/multilingual.py`
|
| 63 |
+
Result: 22 languages, cross-script search confirmed
|
|
|
|
| 64 |
|
| 65 |
### Phase 12 β PDF Dossier Generator
|
| 66 |
+
Branch: `feature/phase-12-pdf-dossier` | Status: MERGED
|
| 67 |
+
Files: `ai/report_hasher.py`, `ai/dossier_generator.py`, `templates/dossier_en.html`, `api/routes/export.py`
|
| 68 |
+
Result: 10,829 char HTML confirmed, SHA-256 tamper detection working
|
|
|
|
| 69 |
|
| 70 |
### Phase 13 β Production Frontend
|
| 71 |
+
Branch: `feature/phase-13-frontend` | Status: MERGED
|
| 72 |
+
Files: `frontend/index.html`, `frontend/css/` (2), `frontend/js/` (5)
|
| 73 |
+
Result: Works from file://, D3.js graph confirmed
|
|
|
|
|
|
|
|
|
|
| 74 |
|
| 75 |
+
### Phase 14 β Zero Cold-Start Deployment β LIVE
|
| 76 |
+
Branch: `feature/phase-14-deployment` | Status: MERGED | Tag: v0.14.0
|
| 77 |
+
Files: `app.py`, `Dockerfile`, `frontend/sw.js`, `.github/workflows/` (static.yml),
|
| 78 |
+
`graph/seed.py`, `api/routes/admin.py`
|
| 79 |
+
Result: Live at abinazebinoy-bharatgraph.hf.space, Frontend at abinaze.github.io/bharatgraph
|
| 80 |
|
| 81 |
+
---
|
| 82 |
|
| 83 |
+
## NEXT β Phase 15
|
|
|
|
| 84 |
|
| 85 |
+
### Phase 15 β Mathematical Intelligence Engine
|
|
|
|
| 86 |
|
| 87 |
+
**GitHub Issue:**
|
| 88 |
```
|
| 89 |
+
Title: feat(ai/math): mathematical intelligence engine β 6 analytical frameworks
|
| 90 |
+
Labels: feature, enhancement
|
| 91 |
+
|
| 92 |
+
Problem:
|
| 93 |
+
Current risk scoring uses simple weighted sums. Advanced mathematical methods
|
| 94 |
+
from computational topology, rough path theory, spectral graph theory, and
|
| 95 |
+
information geometry surface patterns invisible to linear weights.
|
| 96 |
+
|
| 97 |
+
Scope:
|
| 98 |
+
ai/math/__init__.py
|
| 99 |
+
ai/math/spectral_analyzer.py Graph Laplacian Fiedler value (bridge detection)
|
| 100 |
+
ai/math/fourier_timeline.py FFT on contract/audit date sequences
|
| 101 |
+
ai/math/path_signature.py Rough path signatures on financial sequences
|
| 102 |
+
ai/math/topology_analyzer.py Persistent homology on entity clusters
|
| 103 |
+
ai/math/anomaly_scorer.py Ensemble combining all 6 methods
|
| 104 |
+
ai/math/information_gain.py Mutual information + causal feature ranking
|
| 105 |
+
ai/investigators/math_investigator.py New 13th investigator
|
| 106 |
+
|
| 107 |
+
Frameworks:
|
| 108 |
+
1. Spectral: L = D-A, Fiedler value Ξ»β = algebraic connectivity
|
| 109 |
+
2. Fourier: FFT on contract amount time series, detect periodic patterns
|
| 110 |
+
3. Path Signature: iisignature.sig(X, level=3) on (date, amount) paths
|
| 111 |
+
4. Topology: Vietoris-Rips filtration, persistent homology, loop detection
|
| 112 |
+
5. Benford++: Nigrini sub-tests + Fisher combination T = -2*sum(ln(p_i))
|
| 113 |
+
6. Causal: mutual_info_classif + PC algorithm Markov blanket
|
| 114 |
+
|
| 115 |
+
Acceptance Criteria:
|
| 116 |
+
* spectral_analyzer returns Fiedler value for sample graph
|
| 117 |
+
* fourier_timeline detects synthetic periodic pattern
|
| 118 |
+
* path_signature produces consistent feature vector
|
| 119 |
+
* topology_analyzer returns persistence diagram for sample cluster
|
| 120 |
+
* anomaly_scorer produces ensemble score 0-100
|
| 121 |
+
* math_investigator integrates with multi-investigator engine
|
| 122 |
```
|
| 123 |
|
| 124 |
+
Branch: `feature/phase-15-math-intelligence`
|
|
|
|
|
|
|
|
|
|
|
|
|
| 125 |
|
| 126 |
+
See step-by-step instructions in PHASE 15 section below.
|
| 127 |
|
| 128 |
---
|
| 129 |
|
| 130 |
+
## PLANNED PHASES
|
| 131 |
+
|
| 132 |
+
### Phase 16 β Evidence Connection Map + Deep Investigation Engine
|
| 133 |
+
Features from research: A, B, C, J, L, N
|
| 134 |
+
|
| 135 |
+
Scope:
|
| 136 |
+
- `ai/deep_investigator.py`: 6-layer recursive analysis engine
|
| 137 |
+
- `ai/connection_mapper.py`: evidence path finder between any two entities
|
| 138 |
+
- `api/routes/investigation.py`: GET /investigate/{id}, GET /connection-map
|
| 139 |
+
- `frontend/js/evidence_panel.js`: clickable side panel with WHY/HOW/SOURCE
|
| 140 |
+
- `frontend/js/graph.js` update: click triggers evidence panel
|
| 141 |
+
|
| 142 |
+
Graph features:
|
| 143 |
+
- Relationship labels: director, contract, ministry, audit, party, scheme, owner
|
| 144 |
+
- Source document on every edge
|
| 145 |
+
- Timeline order on every connection
|
| 146 |
+
- Hop count / connection distance
|
| 147 |
+
- Connection strength: strong / weak / uncertain
|
| 148 |
+
- Bridge entity markers
|
| 149 |
+
- Conflicting-source markers
|
| 150 |
+
- Repeated-entity detection across contexts
|
| 151 |
+
- "Investigate Further" button in panel
|
| 152 |
+
- Hidden-link suggestions (next likely entity)
|
| 153 |
+
- Recursive one-hop β two-hop β archive β contradiction passes
|
| 154 |
+
|
| 155 |
+
### Phase 17 β Security Hardening + Provenance Layer
|
| 156 |
+
Features from research: G
|
| 157 |
+
|
| 158 |
+
Scope:
|
| 159 |
+
- `api/middleware/rate_limiter.py`: sliding window (100/min search, 10/min export)
|
| 160 |
+
- `api/middleware/security_headers.py`: CSP, HSTS, X-Frame-Options
|
| 161 |
+
- `api/middleware/input_validator.py`: 200 char limit, parameterised queries only
|
| 162 |
+
- `api/middleware/audit_logger.py`: append-only SHA-256 hash chain
|
| 163 |
+
- `blockchain/audit_chain.py`: daily root hash in Neo4j
|
| 164 |
+
- Provenance fields on every node/edge: origin_url, fetch_date, parser_version,
|
| 165 |
+
extraction_method, confidence_source, lineage_chain, last_validated
|
| 166 |
+
|
| 167 |
+
### Phase 18 β Self-Learning + Case Memory
|
| 168 |
+
Features from research: P, Q
|
| 169 |
+
|
| 170 |
+
Scope:
|
| 171 |
+
- `ai/self_learning/schema_learner.py`: new field detection β human review gate
|
| 172 |
+
- `ai/self_learning/pattern_learner.py`: weekly subgraph mining
|
| 173 |
+
- `ai/self_learning/source_discoverer.py`: data.gov.in catalog monitoring
|
| 174 |
+
- `ai/self_learning/weight_optimizer.py`: 3 confirmations minimum before update
|
| 175 |
+
- `ai/self_learning/self_audit.py`: weekly scraper health check + GitHub alerts
|
| 176 |
+
- `ai/case_memory/`: solved-case library, reusable reasoning patterns, false-positive signatures
|
| 177 |
+
- Human-in-the-loop: "review this merge" queue, "review this link" queue
|
| 178 |
+
- `.github/workflows/weekly_learn.yml`
|
| 179 |
|
| 180 |
### Phase 19 β Affidavit Wealth Trajectory Engine
|
| 181 |
+
Scope:
|
| 182 |
+
- `ai/forensics/affidavit_analyzer.py`: Kalman filter on 5 election cycles
|
| 183 |
+
- Expected income model vs actual growth: salary + FD returns
|
| 184 |
+
- Asset disappearance detection across years
|
| 185 |
+
- Pre-election movable asset surge detector
|
| 186 |
+
- `ai/investigators/affidavit_investigator.py`
|
| 187 |
|
| 188 |
### Phase 20 β Biography Engine
|
| 189 |
+
Scope:
|
| 190 |
+
- `ai/biography/timeline_builder.py`: multi-source timeline from all 28 sources
|
| 191 |
+
- `ai/biography/convergence_detector.py`: temporal event alignment
|
| 192 |
+
- `ai/biography/biography_generator.py`: neutral narrative generation
|
| 193 |
+
- `api/routes/biography.py`: GET /biography/{entity_id}
|
| 194 |
+
- `frontend/js/timeline.js`: vertical scrollable timeline component
|
| 195 |
|
| 196 |
### Phase 21 β Benami Entity Detection
|
| 197 |
+
Features from research: H
|
|
|
|
|
|
|
| 198 |
|
| 199 |
+
Scope:
|
| 200 |
+
- `ai/forensics/benami_detector.py`: 5-factor proxy scoring
|
| 201 |
+
- Node2Vec graph embeddings for similarity
|
| 202 |
+
- Family surname network construction
|
| 203 |
+
- Director age anomaly (< 22 = proxy flag)
|
| 204 |
+
- Address proximity clustering
|
| 205 |
+
- `ai/investigators/benami_investigator.py`
|
| 206 |
|
| 207 |
+
### Phase 22 β Procurement DNA + Cartel Detection
|
| 208 |
+
Scope:
|
| 209 |
+
- `ai/forensics/bid_dna.py`: TF-IDF structural fingerprinting
|
| 210 |
+
- `ai/forensics/cartel_detector.py`: price ratio, rotation, cover bid
|
| 211 |
+
- Bid cosine similarity between supposedly competing vendors
|
| 212 |
+
- Vendor co-bidding network with Louvain community detection
|
| 213 |
+
- Hotelling T-squared test on price ratios
|
| 214 |
+
|
| 215 |
+
### Phase 23 β Revolving Door + TBML Detection
|
| 216 |
+
Features from research: V
|
| 217 |
+
|
| 218 |
+
Scope:
|
| 219 |
+
- `ai/forensics/revolving_door.py`: career graph, cooling-off violations
|
| 220 |
+
- `ai/forensics/tbml_detector.py`: commodity mismatch, price anomaly vs median
|
| 221 |
+
- Pre-employment benefit scoring
|
| 222 |
+
- Post-retirement board appointment gap analysis
|
| 223 |
+
- `ai/investigators/conflict_investigator.py`
|
| 224 |
|
| 225 |
### Phase 24 β Linguistic Fingerprinting
|
| 226 |
+
Scope:
|
| 227 |
+
- `ai/forensics/linguistic_fingerprint.py`: Burrows' Delta authorship attribution
|
| 228 |
+
- Template reuse via Rabin rolling hash fingerprint
|
| 229 |
+
- Shadow drafting: corporate consultation vs final bill text
|
| 230 |
+
- Cross-document authorship clustering
|
| 231 |
+
- `ai/investigators/linguistic_investigator.py`
|
| 232 |
|
| 233 |
### Phase 25 β Policy-Benefit Causal Analysis
|
| 234 |
+
Scope:
|
| 235 |
+
- `ai/forensics/policy_benefit_analyzer.py`: Granger causality + transfer entropy
|
| 236 |
+
- Cumulative Abnormal Contract Award (CACA) event study
|
| 237 |
+
- Policy benefit vector: contract surge ratio around announcements
|
| 238 |
+
- `ai/investigators/policy_investigator.py`
|
| 239 |
+
|
| 240 |
+
### Phase 26 β Adversarial Counterevidence + Competing Hypotheses
|
| 241 |
+
Features from research: S
|
| 242 |
+
|
| 243 |
+
Scope:
|
| 244 |
+
- `ai/adversarial_engine.py`: forced disproof search for every HIGH finding
|
| 245 |
+
- Contra-hypothesis generation with alternative explanation library
|
| 246 |
+
- Hypothesis A/B/C mode with evidence scorecard
|
| 247 |
+
- Confidence adjustment: verified findings marked, disputed findings flagged
|
| 248 |
+
- `ai/investigators/adversarial_investigator.py`
|
| 249 |
|
| 250 |
### Phase 27 β Multi-Agent Debate Engine
|
| 251 |
+
Features from research: D, E, R
|
| 252 |
+
|
| 253 |
+
Scope:
|
| 254 |
+
- `ai/debate_engine.py`: iMAD-style 3-round structured debate
|
| 255 |
+
- Linguistic hesitation detection (41 features) β selective debate trigger
|
| 256 |
+
- Anti-drift via semantic similarity check (DRIFTJudge adapted)
|
| 257 |
+
- Dual-agent: filter agent + reasoning agent pipeline
|
| 258 |
+
- Consensus + dissent tracking: findings with "18 agree, 3 reject"
|
| 259 |
+
- Adaptive routing: simple β small panel, complex β full debate
|
| 260 |
+
- Personality parameters per investigator: skepticism, curiosity, strictness
|
| 261 |
+
- Agent profiles as JSON configs
|
| 262 |
|
| 263 |
### Phase 28 β Dark Pattern Detection
|
| 264 |
+
Scope:
|
| 265 |
+
- `ai/forensics/dark_pattern_detector.py`: PrefixSpan sequential mining
|
| 266 |
+
- 6 pre-defined high-risk administrative sequences
|
| 267 |
+
- Timing window significance test (z-score vs null distribution)
|
| 268 |
+
- Dark pattern score 0-100 integrated with risk engine
|
| 269 |
+
- `ai/investigators/dark_pattern_investigator.py`
|
| 270 |
+
|
| 271 |
+
### Phase 29 β Source-Drift + Historical Analysis
|
| 272 |
+
Features from research: F
|
| 273 |
+
|
| 274 |
+
Scope:
|
| 275 |
+
- `ai/source_credibility.py`: Wayback Machine CDX API integration
|
| 276 |
+
- Temporal diff: live page vs 2-year-old archive vs 4-year-old archive
|
| 277 |
+
- Retroactive editing detection
|
| 278 |
+
- Claim survival scoring: facts surviving across all time periods
|
| 279 |
+
- Evidence Status: Active / Modified / Removed / Archived
|
| 280 |
+
- First-appearance timeline per claim
|
| 281 |
+
- Archive-gap recovery for deleted pages
|
| 282 |
+
- Before/after diff view in UI
|
| 283 |
+
|
| 284 |
+
### Phase 30 β Predictive Risk + Auto-Prioritisation
|
| 285 |
+
Features from research: O
|
| 286 |
+
|
| 287 |
+
Scope:
|
| 288 |
+
- `ai/predictive_risk.py`: 3-model ensemble (linear, Random Forest, ARIMA)
|
| 289 |
+
- 6-month risk trajectory forecast for all tracked entities
|
| 290 |
+
- Lead priority score combining centrality + anomaly + recency + novelty
|
| 291 |
+
- Early Warning System: live feed alerts for accelerating risk
|
| 292 |
+
- Outcome feedback loop: model weight update on confirmed ED/CBI cases
|
| 293 |
+
|
| 294 |
+
### Phase 31 β Geospatial Verification
|
| 295 |
+
Features from research: U
|
| 296 |
+
|
| 297 |
+
Scope:
|
| 298 |
+
- `scrapers/sentinel_scraper.py`: Copernicus Open Access Hub (free Sentinel-2)
|
| 299 |
+
- `ai/geospatial/ndvi_analyzer.py`: NDVI change detection
|
| 300 |
+
- `ai/geospatial/build_verifier.py`: payment disbursed vs construction visible
|
| 301 |
+
- Contract location map in frontend
|
| 302 |
+
- Before/after satellite image comparison
|
| 303 |
+
- Build-completion mismatch flag
|
| 304 |
+
|
| 305 |
+
### Phase 32 β Identity Fusion + Multimedia OSINT
|
| 306 |
+
Features from research: W, X
|
| 307 |
+
|
| 308 |
+
Scope:
|
| 309 |
+
- `ai/identity/alias_resolver.py`: alias-to-email linking, credential reuse
|
| 310 |
+
- `ai/identity/persona_cluster.py`: cross-platform identity fusion
|
| 311 |
+
- `ai/osint/background_analyzer.py`: background-object extraction from images
|
| 312 |
+
- `ai/osint/reverse_image.py`: pattern-of-life from public image metadata
|
| 313 |
+
- `ai/osint/username_tracker.py`: cross-platform reuse detection
|
| 314 |
+
- Bridge identifier detection in identity graph
|
| 315 |
+
|
| 316 |
+
---
|
| 317 |
+
|
| 318 |
+
## Feature Index (from Research Document)
|
| 319 |
+
|
| 320 |
+
| Feature | Description | Phase |
|
| 321 |
+
|---------|-------------|-------|
|
| 322 |
+
| A | Investigation connector map | 16 |
|
| 323 |
+
| B | Recursive 6-layer investigation engine | 16 |
|
| 324 |
+
| C | Clickable evidence detail panel | 16 |
|
| 325 |
+
| D | Multi-agent reasoning swarm | 27 |
|
| 326 |
+
| E | Consensus/contradiction/uncertainty layers | 27 |
|
| 327 |
+
| F | Historical investigation + archive recovery | 29 |
|
| 328 |
+
| G | Provenance and auditability | 17 |
|
| 329 |
+
| H | Entity resolution and alias merging | 21 |
|
| 330 |
+
| I | Graph analytics features | 15 |
|
| 331 |
+
| J | Hidden-link suggestion engine | 16 |
|
| 332 |
+
| K | Evidence clustering and bridge detection | 15 |
|
| 333 |
+
| L | Recursive find-more mode | 16 |
|
| 334 |
+
| M | Report generation with evidence ranking | 12+ |
|
| 335 |
+
| N | Practical UI layers for analysts | 16 |
|
| 336 |
+
| O | Auto-prioritisation of leads | 30 |
|
| 337 |
+
| P | Case memory + investigation history | 18 |
|
| 338 |
+
| Q | Human-in-the-loop active learning | 18 |
|
| 339 |
+
| R | Adaptive debate routing | 27 |
|
| 340 |
+
| S | Competing hypotheses mode | 26 |
|
| 341 |
+
| T | Anomaly and suspicion modules | 15 |
|
| 342 |
+
| U | Geospatial verification | 31 |
|
| 343 |
+
| V | Revolving door + TBML detection | 23 |
|
| 344 |
+
| W | Multimedia investigation techniques | 32 |
|
| 345 |
+
| X | Identity fusion from breach data | 32 |
|