abinazebinoy commited on
Commit
84a6792
Β·
unverified Β·
1 Parent(s): 58cd023

Revise PHASE_ROADMAP with new formatting and details

Browse files

Updated 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.

Files changed (1) hide show
  1. 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`, `scrapers/datagov_scraper.py`, `scrapers/pib_scraper.py`,
13
- `scrapers/myneta_scraper.py`, `scrapers/mca_scraper.py`, `scrapers/cag_scraper.py`,
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
- Status: MERGED β€” 47 records in 15 seconds confirmed
21
 
22
  ### Phase 3 β€” Graph Database
23
- Branch: `feature/phase-3-graph`
24
  Files: `graph/schema.py`, `graph/loader.py`, `graph/queries.py`
25
- Status: MERGED β€” Neo4j AuraDB connected
26
 
27
  ### Phase 4 β€” FastAPI Backend
28
- Branch: `feature/phase-4-api`
29
- Files: `api/main.py`, `api/models.py`, `api/dependencies.py`,
30
- `api/routes/search.py`, `api/routes/profile.py`, `api/routes/graph.py`,
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
- Status: MERGED β€” validate_language() enforced
38
 
39
  ### Phase 6 β€” Expanded Data Sources (13 scrapers)
40
- Branch: `feature/phase-6-scrapers`
41
- Files: `scrapers/icij_scraper.py`, `scrapers/wikidata_scraper.py`,
42
- `scrapers/opensanctions_scraper.py`, `scrapers/loksabha_scraper.py`,
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
- `ai/multilingual_ner.py`, `ai/shadow_draft_detector.py`
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
- `ai/shadow_director.py`, `ai/ghost_company.py`
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: `scrapers/njdg_scraper.py`, `scrapers/ed_scraper.py`,
61
- `scrapers/cvc_scraper.py`, `scrapers/ncrb_scraper.py`, `scrapers/lgd_scraper.py`,
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/__init__.py`,
68
- `ai/investigators/financial_investigator.py` (Γ—12 total)
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
- `api/routes/multilingual.py`
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
- `templates/dossier_en.html`, `api/routes/export.py`
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/design-system.css`,
86
- `frontend/css/components.css`, `frontend/js/router.js`,
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
- ## NEXT β€” Phase 14
94
 
95
- ### Phase 14 β€” Zero Cold-Start Deployment
96
- Branch: `feature/phase-14-deployment`
97
 
98
- **Problem:** Render free tier sleeps after 15 minutes. Users get 30-60 second
99
- delays. Hugging Face Spaces with Docker SDK do not sleep on public spaces.
100
 
101
- **Files to create:**
102
  ```
103
- app.py HF Space ASGI entry point
104
- Dockerfile Docker SDK config (port 7860)
105
- frontend/sw.js Service worker (offline-first)
106
- .github/workflows/deploy_hf.yml Auto-deploy to HF on main push
107
- .github/workflows/daily_scrape.yml Cron 02:00 IST daily scrape
108
- .github/workflows/test.yml CI on every push/PR
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
109
  ```
110
 
111
- **Changes to existing files:**
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 15 β€” Mathematical Intelligence Engine
124
- 6 analytical frameworks: Spectral graph (Fiedler value), Fourier timeline,
125
- Path signatures (rough path theory), Persistent homology (topological),
126
- Expanded Benford (Nigrini sub-tests), Mutual information (causal ranking).
127
- Files: `ai/math/` (6 modules), `ai/investigators/math_investigator.py`
128
-
129
- ### Phase 16 β€” Evidence Connection Map + Deep Investigation
130
- 6-layer recursive investigation engine. Clickable graph nodes open evidence
131
- detail panel showing WHY connected, source, confidence, timeline, next leads.
132
- Files: `ai/deep_investigator.py`, `ai/connection_mapper.py`,
133
- `api/routes/investigation.py`, `frontend/js/evidence_panel.js`
134
-
135
- ### Phase 17 β€” Security Hardening
136
- Sliding window rate limiter (100/min search, 10/min export).
137
- Input validation, HTTP security headers (CSP, HSTS, X-Frame-Options).
138
- SHA-256 hash-chained audit log. Cloudflare free DDoS.
139
- Files: `api/middleware/rate_limiter.py`, `api/middleware/security_headers.py`,
140
- `api/middleware/input_validator.py`, `api/middleware/audit_logger.py`,
141
- `blockchain/audit_chain.py`
142
-
143
- ### Phase 18 β€” Self-Learning System
144
- Schema learner (new field detection with human review gate).
145
- Weekly pattern candidate discovery via subgraph mining.
146
- data.gov.in catalog monitoring for new datasets.
147
- Evidence-based weight optimiser (3 confirmed outcomes minimum).
148
- Weekly self-audit of all 21 scrapers with GitHub alerts.
149
- Files: `ai/self_learning/` (5 modules),
150
- `.github/workflows/weekly_learn.yml`
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
 
152
  ### Phase 19 β€” Affidavit Wealth Trajectory Engine
153
- Kalman filter on affidavit time series across 5 election cycles.
154
- Unexplained wealth residual scoring. Asset disappearance detection.
155
- Pre-election movable asset surge detector.
156
- File: `ai/forensics/affidavit_analyzer.py`
 
 
157
 
158
  ### Phase 20 β€” Biography Engine
159
- Complete chronological life timeline from all 28 sources.
160
- Temporal convergence detection (election + contract within 90 days).
161
- Neutral narrative generation with full source citations.
162
- Files: `ai/biography/timeline_builder.py`, `api/routes/biography.py`,
163
- `frontend/js/timeline.js`
 
164
 
165
  ### Phase 21 β€” Benami Entity Detection
166
- Node2Vec graph embeddings + surname/age/address similarity.
167
- Family network construction. Director proxy scoring.
168
- File: `ai/forensics/benami_detector.py`
169
 
170
- ### Phase 22 β€” Procurement DNA + Cartel Detection
171
- Bid document fingerprinting (TF-IDF + cosine similarity).
172
- Price ratio analysis (Hotelling T-squared). Cover bid detection.
173
- Vendor co-bidding network with community detection.
174
- Files: `ai/forensics/bid_dna.py`, `ai/forensics/cartel_detector.py`
 
 
175
 
176
- ### Phase 23 β€” Revolving Door Tracker
177
- Career graph: regulator β†’ private sector transitions.
178
- Cooling-off period violation detection. Pre-employment benefit scoring.
179
- File: `ai/forensics/revolving_door.py`
 
 
 
 
 
 
 
 
 
 
 
 
 
180
 
181
  ### Phase 24 β€” Linguistic Fingerprinting
182
- Burrows' Delta authorship attribution on government documents.
183
- Template reuse via Rabin fingerprint. Shadow drafting detection.
184
- File: `ai/forensics/linguistic_fingerprint.py`
 
 
 
185
 
186
  ### Phase 25 β€” Policy-Benefit Causal Analysis
187
- Granger causality test (policy β†’ entity benefit).
188
- Transfer entropy for causal direction. Event study: Cumulative Abnormal
189
- Contract Award scoring.
190
- File: `ai/forensics/policy_benefit_analyzer.py`
191
-
192
- ### Phase 26 β€” Adversarial Counterevidence Engine
193
- For every HIGH finding: auto-generate contra-hypothesis and search for
194
- disproving evidence. Confidence adjustment based on counterevidence strength.
195
- File: `ai/adversarial_engine.py`
 
 
 
 
 
 
196
 
197
  ### Phase 27 β€” Multi-Agent Debate Engine
198
- iMAD architecture: linguistic hesitation detection (41 features) triggers
199
- structured 3-round debate. Anti-drift via semantic similarity check.
200
- Dual-agent: filter agent + reasoning agent.
201
- File: `ai/debate_engine.py`
 
 
 
 
 
 
 
202
 
203
  ### Phase 28 β€” Dark Pattern Detection
204
- PrefixSpan sequential pattern mining on administrative event histories.
205
- 6 pre-defined high-risk patterns. Timing window significance test.
206
- File: `ai/forensics/dark_pattern_detector.py`
207
-
208
- ### Phase 29 β€” Source-Drift Triangulation
209
- Wayback Machine CDX API for historical source comparison.
210
- Credibility score: age + consistency + multi-source.
211
- Retroactive editing detection.
212
- File: `ai/source_credibility.py`
213
-
214
- ### Phase 30 β€” Predictive Risk Engine
215
- 3-model ensemble: linear trajectory, Random Forest, ARIMA.
216
- 6-month risk forecast for all tracked entities.
217
- Early Warning System with live feed alerts.
218
- File: `ai/predictive_risk.py`
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 |