From dd4448c54e41072aa1602d7593d2fc912d1259d6 Mon Sep 17 00:00:00 2001 From: Prajna1999 Date: Tue, 2 Jun 2026 21:08:01 +0530 Subject: [PATCH 1/3] feat: css changes --- jem/web/src/summaryView.js | 7 ------- jem/web/styles/main.css | 14 -------------- 2 files changed, 21 deletions(-) diff --git a/jem/web/src/summaryView.js b/jem/web/src/summaryView.js index b0695ed..4797ff1 100644 --- a/jem/web/src/summaryView.js +++ b/jem/web/src/summaryView.js @@ -803,9 +803,6 @@ export function initSummaryView() {
- `; @@ -913,10 +910,6 @@ export function initSummaryView() { } }); - // ── Wire "Explore full map" ──────────────────────────────────────────────── - container.querySelector('#btn-explore-map')?.addEventListener('click', () => { - State.emit('navigateToMap', null); - }); } // ── Spotlight carousel state + interaction ─────────────────────────────────── diff --git a/jem/web/styles/main.css b/jem/web/styles/main.css index 3ce1469..b820748 100644 --- a/jem/web/styles/main.css +++ b/jem/web/styles/main.css @@ -2921,20 +2921,6 @@ body.jem-resizing-inspector * { /* ── Summary footer ───────────────────────────────────────────────────────── */ -.sum-footer { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--jem-faint); } -.btn-explore-map { - background: none; - border: 1px solid var(--jem-ink); - padding: 6px 16px; - border-radius: 4px; - font-family: var(--font-main); - font-size: 12px; - color: var(--jem-ink); - cursor: pointer; - transition: all 0.15s; -} -.btn-explore-map:hover { background: var(--jem-ink); color: #fff; } - /* ── Command palette search augmentation ──────────────────────────────────── */ .palette-hint { From ba7e4a00e3f3ae0022390d016417a00a6573e4ac Mon Sep 17 00:00:00 2001 From: Prajna1999 Date: Tue, 2 Jun 2026 21:27:41 +0530 Subject: [PATCH 2/3] fix: parent to HCs --- graph.json | 10203 +++++++++++++++++++++++++++------------- jem/scripts/build.py | 68 + jem/scripts/derive.py | 51 +- 3 files changed, 7007 insertions(+), 3315 deletions(-) diff --git a/graph.json b/graph.json index e42cefb..a351a3b 100644 --- a/graph.json +++ b/graph.json @@ -1,9 +1,9 @@ { "meta": { "version": "1.0.0", - "generated_at": "2026-06-02T06:53:25.173883+00:00", + "generated_at": "2026-06-02T15:55:49.076559+00:00", "entity_count": 506, - "relationship_count": 525, + "relationship_count": 622, "canvas_width": 1800, "canvas_height": 1200, "year_range": [ @@ -12,7 +12,7 @@ ] }, "impact_metrics": { - "high_independence_risk_count": 43, + "high_independence_risk_count": 42, "appointer_equals_funder_removal_count": 0, "no_public_appointment_criteria_count": 42, "not_constituted_count": 3, @@ -215,7 +215,7 @@ "name": "Constitutional Courts", "color": "#1a365d", "entity_count": 43, - "avg_independence_risk": 4.1, + "avg_independence_risk": 3.1, "not_constituted_count": 0, "position": { "x": 904, @@ -383,11 +383,14 @@ "independence_risk_score": 8, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.48 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.36 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_defence", @@ -527,11 +530,14 @@ "independence_risk_score": 7, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.42 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_of_power", @@ -641,11 +647,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.56 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -730,11 +739,14 @@ "independence_risk_score": 7, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.42 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_personnel_dopt", @@ -867,11 +879,14 @@ "independence_risk_score": 8, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.48 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.32 + "structural_health_score": 0.53 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_corporate_affairs", @@ -1003,7 +1018,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -1085,11 +1102,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": null, @@ -1210,11 +1230,14 @@ "independence_risk_score": 7, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.42 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_of_finance", @@ -1334,7 +1357,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -1415,11 +1440,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -1499,11 +1527,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.4, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.45, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.45, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "critical", - "structural_health_score": 0.24 + "structural_health_level": "at_risk", + "structural_health_score": 0.45 }, "funding_source": null, "funding_ministry": null, @@ -1582,7 +1613,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -1660,7 +1693,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -1749,11 +1784,14 @@ "independence_risk_score": 4, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.64 + "structural_health_score": 0.76 }, "funding_source": "Mixed", "funding_ministry": null, @@ -1878,11 +1916,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.52 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -1961,11 +2002,14 @@ "independence_risk_score": 4, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.68 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -2075,11 +2119,14 @@ "independence_risk_score": 9, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.54 + "base_health_from_ir_dp": 0.52, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.52, + "independence_risk_penalty": 0.7, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.3 + "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_of_finance", @@ -2209,11 +2256,14 @@ "independence_risk_score": 9, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.54 + "base_health_from_ir_dp": 0.52, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.52, + "independence_risk_penalty": 0.7, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.3 + "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_of_finance", @@ -2340,7 +2390,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -2415,11 +2467,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.56 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -2497,11 +2552,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.28, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.36 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -2585,11 +2643,14 @@ "independence_risk_score": 8, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.48 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Statutory_Fund", "funding_ministry": "ministry_law_justice", @@ -2708,11 +2769,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.56 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -2795,11 +2859,14 @@ "independence_risk_score": 10, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.6 + "base_health_from_ir_dp": 0.44, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.044, + "independence_risk_penalty": 0.7, + "operational_status_modifier": 0.1 }, "structural_health_level": "critical", - "structural_health_score": 0.2 + "structural_health_score": 0.044 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_of_finance", @@ -2921,11 +2988,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": "Statutory_Fund", "funding_ministry": "ministry_of_finance", @@ -3054,11 +3124,14 @@ "independence_risk_score": 7, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.42 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_of_finance", @@ -3187,11 +3260,14 @@ "independence_risk_score": 4, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.68 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -3291,7 +3367,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -3366,7 +3444,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -3450,11 +3530,14 @@ "independence_risk_score": 5, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.3 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.62 + "structural_health_score": 0.76 }, "funding_source": "Mixed", "funding_ministry": null, @@ -3567,11 +3650,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "Party_Fees", "funding_ministry": null, @@ -3697,11 +3783,14 @@ "independence_risk_score": 4, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.68 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -3801,7 +3890,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -3880,7 +3971,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -3950,7 +4043,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -4023,7 +4118,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -4098,7 +4195,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -4174,7 +4273,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -4252,7 +4353,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -4324,7 +4427,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -4399,7 +4504,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -4474,7 +4581,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -4549,7 +4658,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -4624,7 +4735,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -4703,11 +4816,14 @@ "independence_risk_score": 7, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.42 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.46 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_law_justice", @@ -4821,11 +4937,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.56 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -4904,11 +5023,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.053, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 0.1 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_level": "critical", + "structural_health_score": 0.053 }, "funding_source": null, "funding_ministry": null, @@ -4994,11 +5116,14 @@ "independence_risk_score": 7, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.42 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.46 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_consumer_affairs", @@ -5130,11 +5255,14 @@ "independence_risk_score": 8, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.48 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.36 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_corporate_affairs", @@ -5277,11 +5405,14 @@ "independence_risk_score": 7, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.42 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_corporate_affairs", @@ -5414,11 +5545,14 @@ "independence_risk_score": 7, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.42 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_environment", @@ -5542,11 +5676,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_law_justice", @@ -5659,7 +5796,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -5742,11 +5881,14 @@ "independence_risk_score": 8, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.48 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.32 + "structural_health_score": 0.53 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_of_finance", @@ -5861,7 +6003,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -5939,7 +6083,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -6026,11 +6172,14 @@ "independence_risk_score": 9, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.54 + "base_health_from_ir_dp": 0.52, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.52, + "independence_risk_penalty": 0.7, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.3 + "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_railways", @@ -6154,11 +6303,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -6237,11 +6389,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -6322,11 +6477,14 @@ "independence_risk_score": 7, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.42 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_of_finance", @@ -6458,11 +6616,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": "Statutory_Fund", "funding_ministry": "ministry_of_finance", @@ -6589,11 +6750,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -6684,11 +6848,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -6767,11 +6934,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -6844,7 +7014,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -6922,11 +7094,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.56 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -6999,11 +7174,14 @@ "independence_risk_score": 6, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.52 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -7083,11 +7261,14 @@ "independence_risk_score": 8, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.48 + "base_health_from_ir_dp": 0.61, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.61, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.36 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_communications", @@ -7218,11 +7399,14 @@ "independence_risk_score": 8, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.2, - "Independence risk contribution": 0.48 + "base_health_from_ir_dp": 0.53, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.53, + "independence_risk_penalty": 0.55, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.32 + "structural_health_score": 0.53 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_communications", @@ -7343,7 +7527,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -7418,7 +7604,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -7493,7 +7681,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -7568,7 +7758,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -7643,7 +7835,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -7718,7 +7912,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -7793,7 +7989,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -7868,7 +8066,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -7943,7 +8143,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -8018,7 +8220,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -8093,7 +8297,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -8168,7 +8374,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -8243,7 +8451,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -8315,7 +8525,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -8387,7 +8599,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -8462,7 +8676,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -8537,7 +8753,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -8609,7 +8827,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -8681,7 +8901,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -8756,82 +8978,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, - "structural_health_level": null, - "structural_health_score": null - }, - "funding_source": null, - "funding_ministry": null, - "audited_by": null, - "audit_report_public": null, - "complaint_external_exists": false, - "appointment_criteria_public": null, - "reappointment_possible": null, - "sources": [ - { - "label": "India Code — Constitution & Acts", - "url": "https://india-code.nic.in/", - "type": "GoIWebsite", - "accessed_date": "2026-05-13" - } - ], - "_detail": { - "appointment": null, - "funding": null, - "audit": null, - "complaint_mechanism": null, - "training": null, - "digital_infrastructure": null, - "structural_variations": [], - "jurisdiction_scope": { - "states_covered": [ - "MN" - ], - "is_all_india": false - }, - "case_volume": null, - "judge_strength": null, - "parent_hc": null - }, - "position": { - "x": 318, - "y": 156 - } - }, - { - "id": "government_mp", - "name": "Government of Madhya Pradesh", - "aliases": [], - "jurisdiction_scope": { - "states_covered": [ - "MP" - ], - "is_all_india": false - }, - "name_hindi": null, - "abbreviation": null, - "type": "ExecutiveBody", - "cluster": "legislative_executive", - "level_of_government": "State", - "created_year": 1950, - "abolished_year": null, - "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": null, - "data_quality": "partial", - "data_quality_notes": "Stub for graph connectivity; verify appointment/funding against primary sources.", - "derived": { - "discretionary_power_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 - }, - "discretionary_power_score": 0, - "independence_risk_breakdown": { + "structural_health_breakdown": { "Scores excluded: governance officeholder or administrative body": 0 }, - "independence_risk_level": "low", - "independence_risk_score": 0, - "scores_validated": false, - "structural_health_breakdown": null, "structural_health_level": null, "structural_health_score": null }, @@ -8860,7 +9009,7 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "MP" + "MN" ], "is_all_india": false }, @@ -8869,17 +9018,17 @@ "parent_hc": null }, "position": { - "x": 325, - "y": 192 + "x": 318, + "y": 156 } }, { - "id": "government_mz", - "name": "Government of Mizoram", + "id": "government_mp", + "name": "Government of Madhya Pradesh", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "MZ" + "MP" ], "is_all_india": false }, @@ -8906,79 +9055,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, - "structural_health_level": null, - "structural_health_score": null - }, - "funding_source": null, - "funding_ministry": null, - "audited_by": null, - "audit_report_public": null, - "complaint_external_exists": false, - "appointment_criteria_public": null, - "reappointment_possible": null, - "sources": [ - { - "label": "India Code — Constitution & Acts", - "url": "https://india-code.nic.in/", - "type": "GoIWebsite", - "accessed_date": "2026-05-13" - } - ], - "_detail": { - "appointment": null, - "funding": null, - "audit": null, - "complaint_mechanism": null, - "training": null, - "digital_infrastructure": null, - "structural_variations": [], - "jurisdiction_scope": { - "states_covered": [ - "MZ" - ], - "is_all_india": false - }, - "case_volume": null, - "judge_strength": null, - "parent_hc": null - }, - "position": { - "x": 332, - "y": 156 - } - }, - { - "id": "government_nct_delhi", - "name": "Government of National Capital Territory of Delhi", - "aliases": [], - "jurisdiction_scope": { - "is_all_india": false - }, - "name_hindi": null, - "abbreviation": null, - "type": "ExecutiveBody", - "cluster": "legislative_executive", - "level_of_government": "State", - "created_year": 1950, - "abolished_year": null, - "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": null, - "data_quality": "partial", - "data_quality_notes": "Stub for graph connectivity; verify appointment/funding against primary sources.", - "derived": { - "discretionary_power_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 - }, - "discretionary_power_score": 0, - "independence_risk_breakdown": { + "structural_health_breakdown": { "Scores excluded: governance officeholder or administrative body": 0 }, - "independence_risk_level": "low", - "independence_risk_score": 0, - "scores_validated": false, - "structural_health_breakdown": null, "structural_health_level": null, "structural_health_score": null }, @@ -9006,6 +9085,9 @@ "digital_infrastructure": null, "structural_variations": [], "jurisdiction_scope": { + "states_covered": [ + "MP" + ], "is_all_india": false }, "case_volume": null, @@ -9013,17 +9095,17 @@ "parent_hc": null }, "position": { - "x": 338, + "x": 325, "y": 192 } }, { - "id": "government_nl", - "name": "Government of Nagaland", + "id": "government_mz", + "name": "Government of Mizoram", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "NL" + "MZ" ], "is_all_india": false }, @@ -9050,7 +9132,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -9079,7 +9163,7 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "NL" + "MZ" ], "is_all_india": false }, @@ -9088,18 +9172,15 @@ "parent_hc": null }, "position": { - "x": 345, + "x": 332, "y": 156 } }, { - "id": "government_od", - "name": "Government of Odisha", + "id": "government_nct_delhi", + "name": "Government of National Capital Territory of Delhi", "aliases": [], "jurisdiction_scope": { - "states_covered": [ - "OD" - ], "is_all_india": false }, "name_hindi": null, @@ -9125,7 +9206,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -9153,9 +9236,6 @@ "digital_infrastructure": null, "structural_variations": [], "jurisdiction_scope": { - "states_covered": [ - "OD" - ], "is_all_india": false }, "case_volume": null, @@ -9163,17 +9243,17 @@ "parent_hc": null }, "position": { - "x": 351, + "x": 338, "y": 192 } }, { - "id": "government_pb", - "name": "Government of Punjab", + "id": "government_nl", + "name": "Government of Nagaland", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "PB" + "NL" ], "is_all_india": false }, @@ -9200,7 +9280,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -9229,7 +9311,7 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "PB" + "NL" ], "is_all_india": false }, @@ -9238,17 +9320,17 @@ "parent_hc": null }, "position": { - "x": 358, + "x": 345, "y": 156 } }, { - "id": "government_rj", - "name": "Government of Rajasthan", + "id": "government_od", + "name": "Government of Odisha", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "RJ" + "OD" ], "is_all_india": false }, @@ -9275,7 +9357,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -9304,7 +9388,7 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "RJ" + "OD" ], "is_all_india": false }, @@ -9313,17 +9397,17 @@ "parent_hc": null }, "position": { - "x": 364, + "x": 351, "y": 192 } }, { - "id": "government_sk", - "name": "Government of Sikkim", + "id": "government_pb", + "name": "Government of Punjab", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "SK" + "PB" ], "is_all_india": false }, @@ -9350,7 +9434,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -9379,7 +9465,7 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "SK" + "PB" ], "is_all_india": false }, @@ -9388,86 +9474,17 @@ "parent_hc": null }, "position": { - "x": 371, + "x": 358, "y": 156 } }, { - "id": "government_tamilnadu", - "name": "Government of Tamil Nadu", - "aliases": [], - "jurisdiction_scope": { - "is_all_india": false - }, - "name_hindi": null, - "abbreviation": null, - "type": "ExecutiveBody", - "cluster": "legislative_executive", - "level_of_government": "State", - "created_year": 1950, - "abolished_year": null, - "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": null, - "data_quality": "partial", - "data_quality_notes": "Stub for graph connectivity; verify appointment/funding against primary sources.", - "derived": { - "discretionary_power_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 - }, - "discretionary_power_score": 0, - "independence_risk_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 - }, - "independence_risk_level": "low", - "independence_risk_score": 0, - "scores_validated": false, - "structural_health_breakdown": null, - "structural_health_level": null, - "structural_health_score": null - }, - "funding_source": null, - "funding_ministry": null, - "audited_by": null, - "audit_report_public": null, - "complaint_external_exists": false, - "appointment_criteria_public": null, - "reappointment_possible": null, - "sources": [ - { - "label": "India Code — Constitution & Acts", - "url": "https://india-code.nic.in/", - "type": "GoIWebsite", - "accessed_date": "2026-05-13" - } - ], - "_detail": { - "appointment": null, - "funding": null, - "audit": null, - "complaint_mechanism": null, - "training": null, - "digital_infrastructure": null, - "structural_variations": [], - "jurisdiction_scope": { - "is_all_india": false - }, - "case_volume": null, - "judge_strength": null, - "parent_hc": null - }, - "position": { - "x": 378, - "y": 192 - } - }, - { - "id": "government_tr", - "name": "Government of Tripura", + "id": "government_rj", + "name": "Government of Rajasthan", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "TR" + "RJ" ], "is_all_india": false }, @@ -9494,7 +9511,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -9523,7 +9542,7 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "TR" + "RJ" ], "is_all_india": false }, @@ -9532,17 +9551,17 @@ "parent_hc": null }, "position": { - "x": 384, - "y": 156 + "x": 364, + "y": 192 } }, { - "id": "government_ts", - "name": "Government of Telangana", + "id": "government_sk", + "name": "Government of Sikkim", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "TS" + "SK" ], "is_all_india": false }, @@ -9569,7 +9588,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -9598,7 +9619,7 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "TS" + "SK" ], "is_all_india": false }, @@ -9607,18 +9628,15 @@ "parent_hc": null }, "position": { - "x": 391, - "y": 192 + "x": 371, + "y": 156 } }, { - "id": "government_uk", - "name": "Government of Uttarakhand", + "id": "government_tamilnadu", + "name": "Government of Tamil Nadu", "aliases": [], "jurisdiction_scope": { - "states_covered": [ - "UK" - ], "is_all_india": false }, "name_hindi": null, @@ -9644,7 +9662,237 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "structural_health_level": null, + "structural_health_score": null + }, + "funding_source": null, + "funding_ministry": null, + "audited_by": null, + "audit_report_public": null, + "complaint_external_exists": false, + "appointment_criteria_public": null, + "reappointment_possible": null, + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-05-13" + } + ], + "_detail": { + "appointment": null, + "funding": null, + "audit": null, + "complaint_mechanism": null, + "training": null, + "digital_infrastructure": null, + "structural_variations": [], + "jurisdiction_scope": { + "is_all_india": false + }, + "case_volume": null, + "judge_strength": null, + "parent_hc": null + }, + "position": { + "x": 378, + "y": 192 + } + }, + { + "id": "government_tr", + "name": "Government of Tripura", + "aliases": [], + "jurisdiction_scope": { + "states_covered": [ + "TR" + ], + "is_all_india": false + }, + "name_hindi": null, + "abbreviation": null, + "type": "ExecutiveBody", + "cluster": "legislative_executive", + "level_of_government": "State", + "created_year": 1950, + "abolished_year": null, + "operational_status": "Active", + "constitutional_basis": null, + "statutory_basis": null, + "data_quality": "partial", + "data_quality_notes": "Stub for graph connectivity; verify appointment/funding against primary sources.", + "derived": { + "discretionary_power_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "discretionary_power_score": 0, + "independence_risk_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "independence_risk_level": "low", + "independence_risk_score": 0, + "scores_validated": false, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "structural_health_level": null, + "structural_health_score": null + }, + "funding_source": null, + "funding_ministry": null, + "audited_by": null, + "audit_report_public": null, + "complaint_external_exists": false, + "appointment_criteria_public": null, + "reappointment_possible": null, + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-05-13" + } + ], + "_detail": { + "appointment": null, + "funding": null, + "audit": null, + "complaint_mechanism": null, + "training": null, + "digital_infrastructure": null, + "structural_variations": [], + "jurisdiction_scope": { + "states_covered": [ + "TR" + ], + "is_all_india": false + }, + "case_volume": null, + "judge_strength": null, + "parent_hc": null + }, + "position": { + "x": 384, + "y": 156 + } + }, + { + "id": "government_ts", + "name": "Government of Telangana", + "aliases": [], + "jurisdiction_scope": { + "states_covered": [ + "TS" + ], + "is_all_india": false + }, + "name_hindi": null, + "abbreviation": null, + "type": "ExecutiveBody", + "cluster": "legislative_executive", + "level_of_government": "State", + "created_year": 1950, + "abolished_year": null, + "operational_status": "Active", + "constitutional_basis": null, + "statutory_basis": null, + "data_quality": "partial", + "data_quality_notes": "Stub for graph connectivity; verify appointment/funding against primary sources.", + "derived": { + "discretionary_power_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "discretionary_power_score": 0, + "independence_risk_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "independence_risk_level": "low", + "independence_risk_score": 0, + "scores_validated": false, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "structural_health_level": null, + "structural_health_score": null + }, + "funding_source": null, + "funding_ministry": null, + "audited_by": null, + "audit_report_public": null, + "complaint_external_exists": false, + "appointment_criteria_public": null, + "reappointment_possible": null, + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-05-13" + } + ], + "_detail": { + "appointment": null, + "funding": null, + "audit": null, + "complaint_mechanism": null, + "training": null, + "digital_infrastructure": null, + "structural_variations": [], + "jurisdiction_scope": { + "states_covered": [ + "TS" + ], + "is_all_india": false + }, + "case_volume": null, + "judge_strength": null, + "parent_hc": null + }, + "position": { + "x": 391, + "y": 192 + } + }, + { + "id": "government_uk", + "name": "Government of Uttarakhand", + "aliases": [], + "jurisdiction_scope": { + "states_covered": [ + "UK" + ], + "is_all_india": false + }, + "name_hindi": null, + "abbreviation": null, + "type": "ExecutiveBody", + "cluster": "legislative_executive", + "level_of_government": "State", + "created_year": 1950, + "abolished_year": null, + "operational_status": "Active", + "constitutional_basis": null, + "statutory_basis": null, + "data_quality": "partial", + "data_quality_notes": "Stub for graph connectivity; verify appointment/funding against primary sources.", + "derived": { + "discretionary_power_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "discretionary_power_score": 0, + "independence_risk_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "independence_risk_level": "low", + "independence_risk_score": 0, + "scores_validated": false, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -9719,7 +9967,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -9794,7 +10044,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -9863,7 +10115,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Lucknow; parent hc_allahabad. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Lucknow; parent hc_allahabad. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -9874,22 +10126,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -9938,11 +10195,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -9974,9 +10248,11 @@ "case_volume": null, "judge_strength": { "allotted": null, - "appointed": null, + "appointed": 28, + "data_as_of": "2026-06-02", "source_type": "HC_Report", - "notes": "Judges are drawn from parent HC pool (hc_allahabad). Allotted is null — sanctioned strength is set at parent HC level only.\n" + "source_url": "https://www.allahabadhighcourt.in/service/judgeListLocation.jsp", + "notes": "Judges are drawn from parent HC pool (hc_allahabad). Allotted is null — sanctioned strength is set at parent HC level only. Appointed count (28) from \"Present Judges (Lucknow Bench)\" list on the official page; count excludes any judge names (structure-only).\n" }, "parent_hc": "hc_allahabad" }, @@ -10016,7 +10292,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Aurangabad; parent hc_bombay. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Aurangabad; parent hc_bombay. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -10027,22 +10303,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -10091,11 +10372,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -10131,9 +10429,11 @@ "case_volume": null, "judge_strength": { "allotted": null, - "appointed": null, + "appointed": 20, + "data_as_of": "2026-06-02", "source_type": "HC_Report", - "notes": "Judges are drawn from parent HC pool (hc_bombay). Allotted is null — sanctioned strength is set at parent HC level only.\n" + "source_url": "https://bombayhighcourt.nic.in/jshow_list.php", + "notes": "Judges are drawn from parent HC pool (hc_bombay). Allotted is null — sanctioned strength is set at parent HC level only. Appointed count (20) computed by counting rows with HQ code 'A' (Aurangabad) on the official Bombay High Court judge list page.\n" }, "parent_hc": "hc_bombay" }, @@ -10173,7 +10473,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Nagpur; parent hc_bombay. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Nagpur; parent hc_bombay. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -10184,22 +10484,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -10248,11 +10553,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -10288,9 +10610,11 @@ "case_volume": null, "judge_strength": { "allotted": null, - "appointed": null, + "appointed": 13, + "data_as_of": "2026-06-02", "source_type": "HC_Report", - "notes": "Judges are drawn from parent HC pool (hc_bombay). Allotted is null — sanctioned strength is set at parent HC level only.\n" + "source_url": "https://bombayhighcourt.nic.in/jshow_list.php", + "notes": "Judges are drawn from parent HC pool (hc_bombay). Allotted is null — sanctioned strength is set at parent HC level only. Appointed count (13) computed by counting rows with HQ code 'N' (Nagpur) on the official Bombay High Court judge list page.\n" }, "parent_hc": "hc_bombay" }, @@ -10330,7 +10654,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Panaji; parent hc_bombay. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Panaji; parent hc_bombay. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -10341,22 +10665,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -10405,11 +10734,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -10445,9 +10791,11 @@ "case_volume": null, "judge_strength": { "allotted": null, - "appointed": null, + "appointed": 3, + "data_as_of": "2026-06-02", "source_type": "HC_Report", - "notes": "Judges are drawn from parent HC pool (hc_bombay). Allotted is null — sanctioned strength is set at parent HC level only.\n" + "source_url": "https://bombayhighcourt.nic.in/jshow_list.php", + "notes": "Judges are drawn from parent HC pool (hc_bombay). Allotted is null — sanctioned strength is set at parent HC level only. Appointed count (3) computed by counting rows with HQ code 'G' (Goa/Panaji) on the official Bombay High Court judge list page.\n" }, "parent_hc": "hc_bombay" }, @@ -10485,7 +10833,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Jalpaiguri; parent hc_calcutta. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Jalpaiguri; parent hc_calcutta. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG. VOLUNTEER_TODO: Add bench-wise appointed judge count from the official roster/posting orders (not just the CJ-and-Judges list). Suggested starting point: https://www.calcuttahighcourt.gov.in/Notices/roster. Submit via GitHub issue with TSV row (entity_id, roster_as_of, appointed, source_url).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -10496,22 +10844,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -10560,11 +10913,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -10638,7 +11008,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Port Blair; parent hc_calcutta. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Port Blair; parent hc_calcutta. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG. VOLUNTEER_TODO: Add bench-wise appointed judge count from the official roster/posting orders (Port Blair circuit/bench), not the general CJ-and-Judges list. Suggested starting point: https://www.calcuttahighcourt.gov.in/Notices/roster. Submit via GitHub issue with TSV row (entity_id, roster_as_of, appointed, source_url).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -10649,22 +11019,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -10713,11 +11088,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -10792,7 +11184,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Aizawl; parent hc_gauhati. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Aizawl; parent hc_gauhati. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -10803,22 +11195,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -10867,166 +11264,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" - }, - "training": { - "trained_by": [], - "induction_training": false, - "continuing_education": true, - "training_mandatory": false - }, - "digital_infrastructure": { - "system_used": [ - "eCourts_Portal", - "NJDG" - ], - "digital_variant": "NIC_Standard", - "integrated_with_njdg": true - }, - "structural_variations": [], - "jurisdiction_scope": { - "states_covered": [ - "AS", - "AR", - "NL", - "MZ" - ], - "uts_covered": [], - "is_all_india": false, - "jurisdiction_types": [ - "Original", - "Appellate", - "Writ" - ] - }, - "case_volume": null, - "judge_strength": { - "allotted": null, - "appointed": null, - "source_type": "HC_Report", - "notes": "Judges are drawn from parent HC pool (hc_gauhati). Allotted is null — sanctioned strength is set at parent HC level only.\n" - }, - "parent_hc": "hc_gauhati" - }, - "position": { - "x": 1026, - "y": 192 - } - }, - { - "id": "hc_gauhati_bench_itanagar", - "name": "Itanagar Bench of Gauhati High Court", - "aliases": [], - "jurisdiction_scope": { - "states_covered": [ - "AS", - "AR", - "NL", - "MZ" - ], - "uts_covered": [], - "is_all_india": false, - "jurisdiction_types": [ - "Original", - "Appellate", - "Writ" - ] - }, - "name_hindi": null, - "abbreviation": "GAUH", - "type": "HighCourtBench", - "cluster": "constitutional_courts", - "level_of_government": "State", - "created_year": 1948, - "abolished_year": null, - "operational_status": "Active", - "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", - "statutory_basis": null, - "data_quality": "partial", - "data_quality_notes": "Permanent bench at Itanagar; parent hc_gauhati. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", - "derived": { - "discretionary_power_breakdown": { - "Base discretionary power for type HighCourtBench": 4, - "Controls own case listing and bench composition (no statutory rule)": 2, - "Has removal authority over other entities": 1, - "No public criteria for key decisions": 1, - "No universal mandatory timeline for all decisions": 1 - }, - "discretionary_power_score": 9, - "independence_risk_breakdown": { - "Appointed directly by executive body": 3, - "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, - "No publicly stated appointment criteria": 1, - "Removal requires Parliamentary process (deduction)": -1 - }, - "independence_risk_level": "moderate", - "independence_risk_score": 4, - "scores_validated": false, - "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 - }, - "structural_health_level": "at_risk", - "structural_health_score": 0.4 - }, - "funding_source": "State_Consolidated_Fund", - "funding_ministry": null, - "audited_by": "cag_india", - "audit_report_public": true, - "complaint_external_exists": false, - "appointment_criteria_public": false, - "reappointment_possible": false, - "sources": [ - { - "label": "India Code — Constitution & Acts", - "url": "https://india-code.nic.in/", - "type": "GoIWebsite", - "accessed_date": "2026-05-13" - }, - { - "label": "Supreme Court of India", - "url": "https://main.sci.gov.in/", - "type": "GoIWebsite", - "accessed_date": "2026-05-13" - } - ], - "_detail": { - "appointment": { - "nominates": "collegium_hc_appointment", - "recommends": "collegium_hc_appointment", - "consulted": [ - "governor_state" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } ], - "consultation_binding": true, - "formally_appoints": "president_india", - "criteria_public": false, - "tenure": "Until age 62 (Article 217)", - "reappointment_possible": false, - "removal_authority": "president_india", - "removal_requires_parliament": true, - "removal_independent_committee": false - }, - "funding": { - "primary_source": "State_Consolidated_Fund", - "ministry_responsible": null, - "budget_figure_crore": null, - "budget_year": null - }, - "audit": { - "audited_by": "cag_india", - "audit_type": "CAG_Statutory", - "audit_report_public": true, - "conduct_oversight_body": null - }, - "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -11060,10 +11319,191 @@ }, "case_volume": null, "judge_strength": { + "source_url": "https://ghconline.gov.in/index.php/honble-the-chief-justice-sitting-judges/", + "data_as_of": "2026-06-02", "allotted": null, - "appointed": null, + "appointed": 3, + "source_type": "HC_Report", + "notes": "Judges are drawn from parent HC pool (hc_gauhati). Allotted is null — sanctioned strength is set at parent HC level only. Counted judges tagged with \"Place of Stationing: Aizawl Bench, Aizawl\" on Gauhati HC official sitting judges page.\n" + }, + "parent_hc": "hc_gauhati" + }, + "position": { + "x": 1026, + "y": 192 + } + }, + { + "id": "hc_gauhati_bench_itanagar", + "name": "Itanagar Bench of Gauhati High Court", + "aliases": [], + "jurisdiction_scope": { + "states_covered": [ + "AS", + "AR", + "NL", + "MZ" + ], + "uts_covered": [], + "is_all_india": false, + "jurisdiction_types": [ + "Original", + "Appellate", + "Writ" + ] + }, + "name_hindi": null, + "abbreviation": "GAUH", + "type": "HighCourtBench", + "cluster": "constitutional_courts", + "level_of_government": "State", + "created_year": 1948, + "abolished_year": null, + "operational_status": "Active", + "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", + "statutory_basis": null, + "data_quality": "partial", + "data_quality_notes": "Permanent bench at Itanagar; parent hc_gauhati. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", + "derived": { + "discretionary_power_breakdown": { + "Base discretionary power for type HighCourtBench": 4, + "Controls own case listing and bench composition (no statutory rule)": 2, + "Has removal authority over other entities": 1, + "No public criteria for key decisions": 1, + "No universal mandatory timeline for all decisions": 1 + }, + "discretionary_power_score": 9, + "independence_risk_breakdown": { + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, + "Constitutional basis (harder to politicise) (deduction)": -2, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, + "No publicly stated appointment criteria": 1, + "Removal requires Parliamentary process (deduction)": -1 + }, + "independence_risk_level": "moderate", + "independence_risk_score": 3, + "scores_validated": false, + "structural_health_breakdown": { + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 + }, + "structural_health_level": "at_risk", + "structural_health_score": 0.6 + }, + "funding_source": "State_Consolidated_Fund", + "funding_ministry": null, + "audited_by": "cag_india", + "audit_report_public": true, + "complaint_external_exists": false, + "appointment_criteria_public": false, + "reappointment_possible": false, + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-05-13" + }, + { + "label": "Supreme Court of India", + "url": "https://main.sci.gov.in/", + "type": "GoIWebsite", + "accessed_date": "2026-05-13" + } + ], + "_detail": { + "appointment": { + "nominates": "collegium_hc_appointment", + "recommends": "collegium_hc_appointment", + "consulted": [ + "governor_state" + ], + "consultation_binding": true, + "formally_appoints": "president_india", + "criteria_public": false, + "tenure": "Until age 62 (Article 217)", + "reappointment_possible": false, + "removal_authority": "president_india", + "removal_requires_parliament": true, + "removal_independent_committee": false + }, + "funding": { + "primary_source": "State_Consolidated_Fund", + "ministry_responsible": null, + "budget_figure_crore": null, + "budget_year": null + }, + "audit": { + "audited_by": "cag_india", + "audit_type": "CAG_Statutory", + "audit_report_public": true, + "conduct_oversight_body": "in_house_procedure_sc" + }, + "complaint_mechanism": { + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" + }, + "training": { + "trained_by": [], + "induction_training": false, + "continuing_education": true, + "training_mandatory": false + }, + "digital_infrastructure": { + "system_used": [ + "eCourts_Portal", + "NJDG" + ], + "digital_variant": "NIC_Standard", + "integrated_with_njdg": true + }, + "structural_variations": [], + "jurisdiction_scope": { + "states_covered": [ + "AS", + "AR", + "NL", + "MZ" + ], + "uts_covered": [], + "is_all_india": false, + "jurisdiction_types": [ + "Original", + "Appellate", + "Writ" + ] + }, + "case_volume": null, + "judge_strength": { + "source_url": "https://ghconline.gov.in/index.php/honble-the-chief-justice-sitting-judges/", + "data_as_of": "2026-06-02", + "allotted": null, + "appointed": 1, "source_type": "HC_Report", - "notes": "Judges are drawn from parent HC pool (hc_gauhati). Allotted is null — sanctioned strength is set at parent HC level only.\n" + "notes": "Judges are drawn from parent HC pool (hc_gauhati). Allotted is null — sanctioned strength is set at parent HC level only. Counted judges tagged with \"Place of Stationing: Itanagar Permanent Bench\" on Gauhati HC official sitting judges page.\n" }, "parent_hc": "hc_gauhati" }, @@ -11102,7 +11542,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Kohima; parent hc_gauhati. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Kohima; parent hc_gauhati. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -11113,22 +11553,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -11177,11 +11622,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -11215,10 +11677,12 @@ }, "case_volume": null, "judge_strength": { + "source_url": "https://ghconline.gov.in/index.php/honble-the-chief-justice-sitting-judges/", + "data_as_of": "2026-06-02", "allotted": null, - "appointed": null, + "appointed": 2, "source_type": "HC_Report", - "notes": "Judges are drawn from parent HC pool (hc_gauhati). Allotted is null — sanctioned strength is set at parent HC level only.\n" + "notes": "Judges are drawn from parent HC pool (hc_gauhati). Allotted is null — sanctioned strength is set at parent HC level only. Counted judges tagged with \"Place of Stationing: Kohima Bench\" on Gauhati HC official sitting judges page (excluding retired entries).\n" }, "parent_hc": "hc_gauhati" }, @@ -11254,7 +11718,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Dharwad; parent hc_karnataka. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Dharwad; parent hc_karnataka. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG. VOLUNTEER_TODO: Add bench-wise appointed judge count from the official Karnataka HC site (bench roster / sitting arrangement for Dharwad Bench). Starting point: https://judiciary.karnataka.gov.in/. Submit via GitHub issue with TSV row (entity_id, roster_as_of, appointed, source_url).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -11265,22 +11729,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -11329,11 +11798,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -11403,7 +11889,7 @@ "constitutional_basis": "Constitution of India, Article 214", "statutory_basis": "Madras High Court (Establishment of a Permanent Bench at Madurai) Order, 2004, issued under States Re-organisation Act, 1956, s.51(2); notified 06.07.2004, brought into force 24.07.2004. Inaugurated 24 Jul 2004 by CJI R.C. Lahoti, presided by CJ B. Subashan Reddy. Original jurisdiction: 14 districts (Nagapattinam and Perambalur restored to principal seat by Madras HC Permanent Bench Madurai Amendment Order, 2009).", "data_quality": "verified", - "data_quality_notes": "Stub year 1948 referred to pre-independence circuit sittings — corrected to 2004 (permanent bench). Presidential Order notified 06 Jul 2004; bench operational from 24 Jul 2004. allotted null by design (parent HC pool).", + "data_quality_notes": "Stub year 1948 referred to pre-independence circuit sittings — corrected to 2004 (permanent bench). Presidential Order notified 06 Jul 2004; bench operational from 24 Jul 2004. allotted null by design (parent HC pool). complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -11414,22 +11900,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -11484,11 +11975,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -11519,13 +12027,13 @@ }, "case_volume": null, "judge_strength": { - "data_as_of": null, + "data_as_of": "2026-06-02", "allotted": null, - "appointed": null, + "appointed": 18, "vacancy_count": null, "source_type": "HC_Report", - "source_url": "https://www.hcmadras.tn.nic.in/", - "notes": "Judges drawn from parent HC pool (hc_madras). allotted null — no per-bench sanctioned allocation. appointed = CJ roster count for Madurai Bench at snapshot date.\n" + "source_url": "https://hcmadras.tn.gov.in/display_board_mdu.php", + "notes": "Judges drawn from parent HC pool (hc_madras). allotted null — no per-bench sanctioned allocation. appointed = CJ roster count for Madurai Bench at snapshot date. Appointed count (18) derived from the official Madurai Bench display board snapshot showing judges listed across courts (daily board); excludes names.\n" }, "parent_hc": "hc_madras" }, @@ -11564,7 +12072,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Shimla; parent hc_punjab_haryana. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Shimla; parent hc_punjab_haryana. Populate complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). judge_strength and case_volume from HC website / DoJ / NJDG. VOLUNTEER_TODO: ENTITY ANOMALY — Punjab & Haryana High Court does not have a Shimla bench (Shimla is seat of Himachal Pradesh High Court). Needs maintainer review (likely delete/replace/retag). Please open GitHub issue tagging co-maintainer Prajna with sources from official HC sites.", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -11575,22 +12083,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -11639,11 +12152,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -11716,7 +12246,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Jaipur; parent hc_rajasthan. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Jaipur; parent hc_rajasthan. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG. VOLUNTEER_TODO: Add Jaipur bench-wise appointed judge count from official roster/judges page (may be image-PDF). Starting point: https://hcraj.nic.in/hcraj/. Submit via GitHub issue with TSV row (entity_id, roster_as_of, appointed, source_url).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -11727,22 +12257,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -11791,11 +12326,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -11865,7 +12417,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -11876,22 +12428,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -11946,11 +12503,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -11993,12 +12567,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 160, + "appointed": 110, + "vacancy_count": 50, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 119 Addl 41 sanctioned; Pmt 110 Addl 0 working; Pmt 9 Addl 41 vacancies" }, "parent_hc": null }, @@ -12034,7 +12609,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -12045,22 +12620,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -12115,11 +12695,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -12160,12 +12757,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 37, + "appointed": 33, + "vacancy_count": 4, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 28 Addl 9 sanctioned; Pmt 27 Addl 6 working; Pmt 1 Addl 3 vacancies" }, "parent_hc": null }, @@ -12205,7 +12803,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -12216,22 +12814,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -12286,11 +12889,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -12335,12 +12955,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 94, + "appointed": 82, + "vacancy_count": 12, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 71 Addl 23 sanctioned; Pmt 55 Addl 27 working; vacancy Addl col shows -4 (over-appointed in Addl); Total vacancy 12" }, "parent_hc": null }, @@ -12378,7 +12999,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -12389,22 +13010,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -12459,11 +13085,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -12506,12 +13149,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 72, + "appointed": 44, + "vacancy_count": 28, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 54 Addl 18 sanctioned; Pmt 33 Addl 11 working; Pmt 21 Addl 7 vacancies" }, "parent_hc": null }, @@ -12547,7 +13191,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -12558,22 +13202,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -12628,11 +13277,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -12673,12 +13339,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 22, + "appointed": 16, + "vacancy_count": 6, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 17 Addl 5 sanctioned; Pmt 10 Addl 6 working; vacancy Addl col shows -1 (over-appointed in Addl); Total vacancy 6" }, "parent_hc": null }, @@ -12714,7 +13381,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -12725,22 +13392,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -12795,11 +13467,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -12840,12 +13529,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 60, + "appointed": 44, + "vacancy_count": 16, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 45 Addl 15 sanctioned; Pmt 44 Addl 0 working; Pmt 1 Addl 15 vacancies" }, "parent_hc": null }, @@ -12884,7 +13574,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -12895,22 +13585,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -12965,11 +13660,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -13013,12 +13725,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 30, + "appointed": 25, + "vacancy_count": 5, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 22 Addl 8 sanctioned; Pmt 18 Addl 7 working; Pmt 4 Addl 1 vacancies" }, "parent_hc": null }, @@ -13054,7 +13767,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -13065,22 +13778,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -13135,11 +13853,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -13180,12 +13915,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 52, + "appointed": 36, + "vacancy_count": 16, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 39 Addl 13 sanctioned; Pmt 36 Addl 0 working; Pmt 3 Addl 13 vacancies" }, "parent_hc": null }, @@ -13221,7 +13957,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -13232,22 +13968,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -13302,11 +14043,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -13347,12 +14105,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 17, + "appointed": 12, + "vacancy_count": 5, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 13 Addl 4 sanctioned; Pmt 12 Addl 0 working; Pmt 1 Addl 4 vacancies" }, "parent_hc": null }, @@ -13390,7 +14149,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -13401,22 +14160,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -13471,11 +14235,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -13518,12 +14299,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 25, + "appointed": 15, + "vacancy_count": 10, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Listed as \"J & K and Ladakh\"; Pmt 19 Addl 6 sanctioned; Pmt 15 Addl 0 working; Pmt 4 Addl 6 vacancies" }, "parent_hc": null }, @@ -13559,7 +14341,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -13570,22 +14352,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -13640,11 +14427,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -13685,12 +14489,13 @@ "clog_severity": "critical" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 25, + "appointed": 14, + "vacancy_count": 11, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 20 Addl 5 sanctioned; Pmt 14 Addl 0 working; Pmt 6 Addl 5 vacancies" }, "parent_hc": null }, @@ -13726,7 +14531,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -13737,22 +14542,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -13807,11 +14617,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -13852,12 +14679,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 62, + "appointed": 48, + "vacancy_count": 14, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 47 Addl 15 sanctioned; Pmt 44 Addl 4 working; Pmt 3 Addl 11 vacancies" }, "parent_hc": null }, @@ -13895,7 +14723,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -13906,22 +14734,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -13976,11 +14809,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -14023,12 +14873,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 47, + "appointed": 42, + "vacancy_count": 5, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 35 Addl 12 sanctioned; Pmt 30 Addl 12 working; Pmt 5 Addl 0 vacancies" }, "parent_hc": null }, @@ -14064,7 +14915,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -14075,22 +14926,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -14145,11 +15001,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -14190,12 +15063,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 53, + "appointed": 43, + "vacancy_count": 10, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 40 Addl 13 sanctioned; Pmt 39 Addl 4 working; Pmt 1 Addl 9 vacancies" }, "parent_hc": null }, @@ -14233,7 +15107,7 @@ "constitutional_basis": "Constitution of India, Article 214", "statutory_basis": "High Courts Act 1861; Letters Patent 1865 (Madras)", "data_quality": "partial", - "data_quality_notes": "statutory_basis added (Letters Patent 1865 + High Courts Act 1861). judge_strength block structured; allotted/appointed null pending DoJ/NJDG lookup. funding.ministry_responsible null — HC funded from State Consolidated Fund; no single ministry entity applicable.\n NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -14244,22 +15118,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -14326,11 +15205,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -14373,13 +15269,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, - "vacancy_count": null, + "data_as_of": "2025-12-24", + "allotted": 75, + "appointed": 54, + "vacancy_count": 21, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/report-and-committees/judicial-vacancy-reports", - "notes": "Sanctioned strength covers full Madras HC including Madurai and Tiruchirappalli benches. Bench-level appointed counts are rostered subsets — see bench YAMLs. Cross-check: NJDG HC panel.\n" + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 56 Addl 19 sanctioned; Pmt 51 Addl 3 working; Pmt 5 Addl 16 vacancies" }, "parent_hc": null }, @@ -14415,7 +15311,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -14426,22 +15322,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -14496,11 +15397,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -14541,12 +15459,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 5, + "appointed": 3, + "vacancy_count": 2, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 4 Addl 1 sanctioned; Pmt 3 Addl 0 working; Pmt 1 Addl 1 vacancies" }, "parent_hc": null }, @@ -14582,7 +15501,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -14593,22 +15512,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -14663,11 +15587,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -14708,12 +15649,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 4, + "appointed": 4, + "vacancy_count": 0, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 4 Addl 0 sanctioned; Pmt 4 Addl 0 working; Pmt 0 Addl 0 vacancies; fully staffed" }, "parent_hc": null }, @@ -14749,7 +15691,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -14760,22 +15702,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -14830,11 +15777,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -14875,12 +15839,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 33, + "appointed": 20, + "vacancy_count": 13, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 24 Addl 9 sanctioned; Pmt 20 Addl 0 working; Pmt 4 Addl 9 vacancies" }, "parent_hc": null }, @@ -14916,7 +15881,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -14927,22 +15892,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -14997,11 +15967,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -15042,12 +16029,13 @@ "clog_severity": "critical" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 53, + "appointed": 35, + "vacancy_count": 18, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 40 Addl 13 sanctioned; Pmt 35 Addl 0 working; Pmt 5 Addl 13 vacancies" }, "parent_hc": null }, @@ -15086,7 +16074,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -15097,22 +16085,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -15167,11 +16160,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -15215,12 +16225,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 85, + "appointed": 59, + "vacancy_count": 26, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 64 Addl 21 sanctioned; Pmt 45 Addl 14 working; Pmt 19 Addl 7 vacancies" }, "parent_hc": null }, @@ -15256,7 +16267,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -15267,22 +16278,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -15337,11 +16353,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -15382,12 +16415,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 50, + "appointed": 39, + "vacancy_count": 11, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 38 Addl 12 sanctioned; Pmt 33 Addl 6 working; Pmt 5 Addl 6 vacancies" }, "parent_hc": null }, @@ -15423,7 +16457,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -15434,22 +16468,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -15504,11 +16543,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -15549,12 +16605,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 3, + "appointed": 2, + "vacancy_count": 1, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 3 Addl 0 sanctioned; Pmt 2 Addl 0 working; Pmt 0 Addl 0 vacancies — NOTE: document vacancy Total col shows 1 but Pmt+Addl vacancy = 0; discrepancy flagged" }, "parent_hc": null }, @@ -15590,7 +16647,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -15601,22 +16658,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -15671,11 +16733,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -15716,12 +16795,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 42, + "appointed": 28, + "vacancy_count": 14, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 32 Addl 10 sanctioned; Pmt 20 Addl 8 working; Pmt 12 Addl 2 vacancies" }, "parent_hc": null }, @@ -15757,7 +16837,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -15768,22 +16848,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -15838,11 +16923,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -15883,12 +16985,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 5, + "appointed": 4, + "vacancy_count": 1, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 4 Addl 1 sanctioned; Pmt 4 Addl 0 working; Pmt 0 Addl 1 vacancies" }, "parent_hc": null }, @@ -15924,7 +17027,7 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -15935,22 +17038,27 @@ }, "discretionary_power_score": 9, "independence_risk_breakdown": { - "Appointed directly by executive body": 3, + "All complaint mechanisms are internal (no external body)": 1, + "Complainant has no locus in the inquiry process": 1, + "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1, + "Lokpal has no jurisdiction": 1, + "No defined timeframe for complaint resolution": 1, "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, "independence_risk_level": "moderate", - "independence_risk_score": 4, + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.36, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.6, + "discretionary_power_penalty": 0.55, + "final_structural_health": 0.6, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -16005,11 +17113,28 @@ "audited_by": "cag_india", "audit_type": "CAG_Statutory", "audit_report_public": true, - "conduct_oversight_body": null + "conduct_oversight_body": "in_house_procedure_sc" }, "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "bias_complaint_to": [ + { + "body": "chief_justice_india", + "mechanism": "In-House Procedure (SC Resolution 1999, extended to HC judges). Complaint lodged with the Chief Justice of the concerned High Court; if the allegation is against that Chief Justice, complaint filed directly with the CJI. CJI may constitute a 3-judge in-house committee to inquire. Report is confidential. Complainant has no locus in inquiry proceedings.", + "complainant_has_locus": false, + "is_public_process": false, + "timeframe_defined": false, + "external_to_judiciary": false + } + ], + "criminal_prosecution": { + "requires_sanction_from": "governor_state", + "consultation_required_with": "chief_justice_india", + "consultation_binding": true + }, + "removal_mechanism": "Address by Parliament — Article 217(1)(b) read with Article 124(4). Motion by 100+ LS MPs or 50+ RS MPs. No HC judge has been successfully removed in Indian history.", + "lokpal_jurisdiction": "No", + "lokpal_jurisdiction_note": "SC stayed Lokpal's attempt to assert jurisdiction over HC judges (suo moto, Feb 2025). Lokpal had separately ruled in Jan 2025 that it cannot hear complaints against SC judges (Art 124 basis); the Feb 2025 stay extends the same bar to HC judges. Status: active litigation, but operative bar currently in place.", + "source": "K. Veeraswami v Union of India (1991) 3 SCC 655; SC In-House Procedure 1999; SC Stay Order Feb 2025 (suo moto re HC judges)" }, "training": { "trained_by": [], @@ -16050,12 +17175,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "data_as_of": "2025-12-24", + "allotted": 11, + "appointed": 9, + "vacancy_count": 2, "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Pmt 9 Addl 2 sanctioned; Pmt 8 Addl 1 working; Pmt 1 Addl 1 vacancies" }, "parent_hc": null }, @@ -16103,11 +17229,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -16199,11 +17328,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -16295,11 +17427,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -16391,11 +17526,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -16487,11 +17625,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -16583,11 +17724,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -16679,11 +17823,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -16775,11 +17922,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -16871,11 +18021,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -16967,11 +18120,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -17063,11 +18219,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -17159,11 +18318,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -17255,11 +18417,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -17351,11 +18516,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -17447,11 +18615,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -17543,11 +18714,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -17639,11 +18813,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -17735,11 +18912,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -17831,11 +19011,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -17927,11 +19110,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18023,11 +19209,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18119,11 +19308,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18215,11 +19407,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18311,11 +19506,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18407,11 +19605,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18503,11 +19704,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18599,11 +19803,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18695,11 +19902,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18791,11 +20001,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18887,11 +20100,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18983,11 +20199,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -19079,11 +20298,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -19175,11 +20397,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -19271,11 +20496,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -19367,11 +20595,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -19463,11 +20694,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -19559,11 +20793,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -19655,11 +20892,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -19751,11 +20991,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -19847,11 +21090,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -19943,11 +21189,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20039,11 +21288,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20135,11 +21387,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20231,11 +21486,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20327,11 +21585,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20423,11 +21684,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20519,11 +21783,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20615,11 +21882,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20711,11 +21981,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20807,11 +22080,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20903,11 +22179,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20999,11 +22278,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -21095,11 +22377,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -21191,11 +22476,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -21287,11 +22575,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -21383,11 +22674,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -21479,11 +22773,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -21575,11 +22872,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -21671,11 +22971,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -21767,11 +23070,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -21863,11 +23169,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -21961,11 +23270,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -22066,11 +23378,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -22166,11 +23481,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -22258,11 +23576,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -22355,11 +23676,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -22460,11 +23784,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -22565,11 +23892,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -22665,11 +23995,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -22757,11 +24090,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -22854,11 +24190,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -22959,11 +24298,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -23059,11 +24401,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -23151,11 +24496,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -23248,11 +24596,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -23353,11 +24704,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -23458,11 +24812,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -23558,11 +24915,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -23650,11 +25010,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -23747,11 +25110,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -23852,11 +25218,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -23957,11 +25326,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -24057,11 +25429,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -24149,11 +25524,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -24246,11 +25624,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -24351,11 +25732,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -24451,11 +25835,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -24543,11 +25930,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -24640,11 +26030,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -24745,11 +26138,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -24845,11 +26241,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -24937,11 +26336,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -25034,11 +26436,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -25160,7 +26565,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -25253,11 +26660,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -25342,11 +26752,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -25431,11 +26844,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -25520,11 +26936,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -25609,11 +27028,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -25698,11 +27120,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -25792,11 +27217,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -25913,11 +27341,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -26034,11 +27465,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -26155,11 +27589,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -26276,11 +27713,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -26397,11 +27837,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -26518,11 +27961,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -26627,7 +28073,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -26708,7 +28156,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -26814,11 +28264,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -26915,11 +28368,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27013,11 +28469,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27118,11 +28577,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27230,11 +28692,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27340,11 +28805,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27445,11 +28913,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27545,11 +29016,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27637,11 +29111,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27734,11 +29211,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27839,11 +29319,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27944,11 +29427,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28044,11 +29530,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28136,11 +29625,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28233,11 +29725,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28338,11 +29833,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28438,11 +29936,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28530,11 +30031,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28627,11 +30131,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28732,11 +30239,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28832,11 +30342,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28924,11 +30437,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29021,11 +30537,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29126,11 +30645,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29226,11 +30748,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29318,11 +30843,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29415,11 +30943,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29520,11 +31051,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29620,11 +31154,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29712,11 +31249,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29809,11 +31349,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.86 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29922,7 +31465,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -30015,11 +31560,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30116,11 +31664,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30205,11 +31756,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30294,11 +31848,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30388,11 +31945,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30497,11 +32057,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30602,11 +32165,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30723,11 +32289,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30844,11 +32413,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30965,11 +32537,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31074,11 +32649,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31183,11 +32761,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31292,11 +32873,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31401,11 +32985,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31510,11 +33097,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31619,11 +33209,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31740,11 +33333,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31849,11 +33445,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31958,11 +33557,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32067,11 +33669,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32188,11 +33793,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32297,11 +33905,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32406,11 +34017,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32515,11 +34129,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32636,11 +34253,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32757,11 +34377,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32866,11 +34489,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32975,11 +34601,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33080,11 +34709,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33185,11 +34817,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33294,11 +34929,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33403,11 +35041,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33512,11 +35153,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33621,11 +35265,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33730,7 +35377,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -33845,11 +35494,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33954,11 +35606,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34052,11 +35707,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34157,11 +35815,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34269,11 +35930,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34379,11 +36043,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34507,11 +36174,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34612,11 +36282,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34712,11 +36385,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34804,11 +36480,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34901,11 +36580,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35006,11 +36688,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35106,11 +36791,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35198,11 +36886,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35295,11 +36986,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35400,11 +37094,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35500,11 +37197,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35592,11 +37292,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35689,11 +37392,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.86 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35811,11 +37517,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35931,7 +37640,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -36027,11 +37738,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "Party_Fees", "funding_ministry": null, @@ -36122,11 +37836,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36211,11 +37928,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36312,11 +38032,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36413,11 +38136,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36519,11 +38245,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36628,11 +38357,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36737,11 +38469,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36858,11 +38593,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36979,11 +38717,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37088,11 +38829,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37197,11 +38941,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37306,11 +39053,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37415,11 +39165,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37524,11 +39277,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37633,11 +39389,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37742,11 +39501,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37851,11 +39613,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37960,11 +39725,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38069,11 +39837,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38190,11 +39961,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38299,11 +40073,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38420,11 +40197,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38529,11 +40309,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38650,11 +40433,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38755,11 +40541,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38864,11 +40653,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38985,11 +40777,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39094,11 +40889,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39203,11 +41001,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39312,11 +41113,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39433,11 +41237,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39542,11 +41349,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39651,11 +41461,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39760,11 +41573,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39869,11 +41685,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39978,11 +41797,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40099,11 +41921,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40220,11 +42045,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40329,11 +42157,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40438,11 +42269,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40547,11 +42381,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40657,7 +42494,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, "structural_health_level": null, "structural_health_score": null }, @@ -40763,11 +42602,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40872,11 +42714,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40970,11 +42815,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41075,11 +42923,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41187,11 +43038,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41297,11 +43151,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41402,11 +43259,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41502,11 +43362,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41594,11 +43457,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41691,11 +43557,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41796,11 +43665,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41896,11 +43768,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41988,11 +43863,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42085,11 +43963,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42190,11 +44071,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42295,11 +44179,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42395,11 +44282,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42487,11 +44377,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42584,11 +44477,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42689,11 +44585,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42789,11 +44688,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42881,11 +44783,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42978,11 +44883,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43083,11 +44991,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43183,11 +45094,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43275,11 +45189,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43372,11 +45289,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43477,11 +45397,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43577,11 +45500,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43669,11 +45595,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43766,11 +45695,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43871,11 +45803,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43971,11 +45906,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44063,11 +46001,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44152,392 +46093,9 @@ "independence_risk_level": "low", "independence_risk_score": 0, "scores_validated": false, - "structural_health_breakdown": null, - "structural_health_level": null, - "structural_health_score": null - }, - "funding_source": "State_Consolidated_Fund", - "funding_ministry": null, - "audited_by": "cag_india", - "audit_report_public": true, - "complaint_external_exists": false, - "appointment_criteria_public": null, - "reappointment_possible": null, - "sources": [ - { - "label": "India Code — Constitution & Acts", - "url": "https://india-code.nic.in/", - "type": "GoIWebsite", - "accessed_date": "2026-05-13" - }, - { - "label": "National Judicial Data Grid (NJDG)", - "url": "https://njdg.ecourts.gov.in/", - "type": "NJDG", - "accessed_date": "2024-12-01" - } - ], - "_detail": { - "appointment": null, - "funding": { - "primary_source": "State_Consolidated_Fund" - }, - "audit": { - "audited_by": "cag_india", - "audit_type": "CAG_Statutory", - "audit_report_public": true - }, - "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" - }, - "training": null, - "digital_infrastructure": null, - "structural_variations": [], - "jurisdiction_scope": { - "uts_covered": [ - "PY" - ], - "is_all_india": false - }, - "case_volume": null, - "judge_strength": null, - "parent_hc": null - }, - "position": { - "x": 724, - "y": 732 - } - }, - { - "id": "py_cdrc", - "name": "Puducherry Consumer Disputes Redressal Commission", - "aliases": [], - "jurisdiction_scope": { - "uts_covered": [ - "PY" - ], - "is_all_india": false - }, - "name_hindi": null, - "abbreviation": null, - "type": "ConsumerCommission", - "cluster": "tribunals_adr", - "level_of_government": "UT", - "created_year": 2019, - "abolished_year": null, - "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": "Consumer Protection Act 2019 — State / District commissions", - "data_quality": "partial", - "data_quality_notes": "NJDG snapshot case_volume merged", - "derived": { - "discretionary_power_breakdown": { - "Base discretionary power for type ConsumerCommission": 1, - "No universal mandatory timeline for all decisions": 1 - }, - "discretionary_power_score": 2, - "independence_risk_breakdown": { - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1 - }, - "independence_risk_level": "moderate", - "independence_risk_score": 3, - "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 - }, - "structural_health_level": "watch", - "structural_health_score": 0.74 - }, - "funding_source": "State_Consolidated_Fund", - "funding_ministry": null, - "audited_by": "cag_india", - "audit_report_public": true, - "complaint_external_exists": false, - "appointment_criteria_public": null, - "reappointment_possible": null, - "sources": [ - { - "label": "India Code — Constitution & Acts", - "url": "https://india-code.nic.in/", - "type": "GoIWebsite", - "accessed_date": "2026-05-13" - }, - { - "label": "National Judicial Data Grid (NJDG)", - "url": "https://njdg.ecourts.gov.in/", - "type": "NJDG", - "accessed_date": "2024-12-01" - } - ], - "_detail": { - "appointment": null, - "funding": { - "primary_source": "State_Consolidated_Fund" - }, - "audit": { - "audited_by": "cag_india", - "audit_type": "CAG_Statutory", - "audit_report_public": true - }, - "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" - }, - "training": null, - "digital_infrastructure": null, - "structural_variations": [], - "jurisdiction_scope": { - "uts_covered": [ - "PY" - ], - "is_all_india": false - }, - "case_volume": { - "clog_severity": "unknown" - }, - "judge_strength": null, - "parent_hc": null - }, - "position": { - "x": 360, - "y": 480 - } - }, - { - "id": "py_district_courts", - "name": "District Courts — Puducherry (aggregate)", - "aliases": [], - "jurisdiction_scope": { - "uts_covered": [ - "PY" - ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] - }, - "name_hindi": null, - "abbreviation": null, - "type": "SubordinateCivilCourt", - "cluster": "subordinate_courts", - "level_of_government": "UT", - "created_year": 1860, - "abolished_year": null, - "operational_status": "Active", - "constitutional_basis": "Constitution of India, Articles 233–237", - "statutory_basis": null, - "data_quality": "partial", - "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard. NJDG snapshot case_volume merged", - "derived": { - "discretionary_power_breakdown": { - "Base discretionary power for type SubordinateCivilCourt": 2, - "No universal mandatory timeline for all decisions": 1 - }, - "discretionary_power_score": 3, - "independence_risk_breakdown": { - "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1 - }, - "independence_risk_level": "low", - "independence_risk_score": 1, - "scores_validated": false, - "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 - }, - "structural_health_level": "healthy", - "structural_health_score": 0.82 - }, - "funding_source": "State_Consolidated_Fund", - "funding_ministry": null, - "audited_by": "cag_india", - "audit_report_public": true, - "complaint_external_exists": false, - "appointment_criteria_public": null, - "reappointment_possible": null, - "sources": [ - { - "label": "India Code — Constitution & Acts", - "url": "https://india-code.nic.in/", - "type": "GoIWebsite", - "accessed_date": "2026-05-13" - }, - { - "label": "National Judicial Data Grid (NJDG)", - "url": "https://njdg.ecourts.gov.in/", - "type": "NJDG", - "accessed_date": "2024-12-01" - } - ], - "_detail": { - "appointment": null, - "funding": { - "primary_source": "State_Consolidated_Fund" - }, - "audit": { - "audited_by": "cag_india", - "audit_type": "CAG_Statutory", - "audit_report_public": true - }, - "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" - }, - "training": null, - "digital_infrastructure": null, - "structural_variations": [], - "jurisdiction_scope": { - "uts_covered": [ - "PY" - ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] - }, - "case_volume": { - "data_as_of": "2024-12-01", - "pending_cases": 38000, - "source_url": "https://njdg.ecourts.gov.in/", - "source_type": "NJDG_Snapshot", - "clog_severity": "unknown" - }, - "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, - "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." - }, - "parent_hc": null - }, - "position": { - "x": 315, - "y": 768 - } - }, - { - "id": "py_lieutenant_governor", - "name": "Lieutenant Governor — Puducherry", - "aliases": [], - "jurisdiction_scope": { - "uts_covered": [ - "PY" - ], - "is_all_india": false - }, - "name_hindi": null, - "abbreviation": null, - "type": "ExecutiveBody", - "cluster": "legislative_executive", - "level_of_government": "UT", - "created_year": 1950, - "abolished_year": null, - "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": null, - "data_quality": "partial", - "data_quality_notes": "Stub for graph connectivity; verify appointment/funding against primary sources.", - "derived": { - "discretionary_power_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 - }, - "discretionary_power_score": 0, - "independence_risk_breakdown": { "Scores excluded: governance officeholder or administrative body": 0 }, - "independence_risk_level": "low", - "independence_risk_score": 0, - "scores_validated": false, - "structural_health_breakdown": null, - "structural_health_level": null, - "structural_health_score": null - }, - "funding_source": null, - "funding_ministry": null, - "audited_by": null, - "audit_report_public": null, - "complaint_external_exists": false, - "appointment_criteria_public": null, - "reappointment_possible": null, - "sources": [ - { - "label": "India Code — Constitution & Acts", - "url": "https://india-code.nic.in/", - "type": "GoIWebsite", - "accessed_date": "2026-05-13" - }, - { - "label": "National Judicial Data Grid (NJDG)", - "url": "https://njdg.ecourts.gov.in/", - "type": "NJDG", - "accessed_date": "2024-12-01" - } - ], - "_detail": { - "appointment": null, - "funding": null, - "audit": null, - "complaint_mechanism": null, - "training": null, - "digital_infrastructure": null, - "structural_variations": [], - "jurisdiction_scope": { - "uts_covered": [ - "PY" - ], - "is_all_india": false - }, - "case_volume": null, - "judge_strength": null, - "parent_hc": null - }, - "position": { - "x": 423, - "y": 156 - } - }, - { - "id": "py_lokayukta", - "name": "Puducherry Lokayukta (verify status)", - "aliases": [], - "jurisdiction_scope": { - "uts_covered": [ - "PY" - ], - "is_all_india": false - }, - "name_hindi": null, - "abbreviation": null, - "type": "ExecutiveBody", - "cluster": "executive_interface", - "level_of_government": "UT", - "created_year": 1995, - "abolished_year": null, - "operational_status": "Not_Constituted", - "constitutional_basis": null, - "statutory_basis": "State Lokayukta / Lokpal interface statutes (stub)", - "data_quality": "partial", - "data_quality_notes": null, - "derived": { - "discretionary_power_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 - }, - "discretionary_power_score": 0, - "independence_risk_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 - }, - "independence_risk_level": "low", - "independence_risk_score": 0, - "scores_validated": false, - "structural_health_breakdown": null, "structural_health_level": null, "structural_health_score": null }, @@ -44574,21 +46132,11 @@ }, "complaint_mechanism": { "bias_complaint_to": [], - "lokpal_jurisdiction": "Yes" + "lokpal_jurisdiction": "Not_Applicable" }, "training": null, "digital_infrastructure": null, - "structural_variations": [ - { - "variation_id": "py_lokayukta_appointment_delay", - "description": "Document appointment delays post-2019 from official sources when available.", - "applicable_to": [ - "PY" - ], - "source": "State Lokayukta portal — verify dates", - "independence_risk_note": "Executive interface risk pending review" - } - ], + "structural_variations": [], "jurisdiction_scope": { "uts_covered": [ "PY" @@ -44600,38 +46148,35 @@ "parent_hc": null }, "position": { - "x": 753, - "y": 768 + "x": 724, + "y": 732 } }, { - "id": "py_slsa", - "name": "Puducherry State Legal Services Authority", + "id": "py_cdrc", + "name": "Puducherry Consumer Disputes Redressal Commission", "aliases": [], "jurisdiction_scope": { "uts_covered": [ "PY" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil" - ] + "is_all_india": false }, "name_hindi": null, "abbreviation": null, - "type": "ADRBody", + "type": "ConsumerCommission", "cluster": "tribunals_adr", "level_of_government": "UT", - "created_year": 1995, + "created_year": 2019, "abolished_year": null, "operational_status": "Active", "constitutional_basis": null, - "statutory_basis": "Legal Services Authorities Act 1987", + "statutory_basis": "Consumer Protection Act 2019 — State / District commissions", "data_quality": "partial", "data_quality_notes": "NJDG snapshot case_volume merged", "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type ADRBody": 1, + "Base discretionary power for type ConsumerCommission": 1, "No universal mandatory timeline for all decisions": 1 }, "discretionary_power_score": 2, @@ -44643,11 +46188,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44691,10 +46239,7 @@ "uts_covered": [ "PY" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil" - ] + "is_all_india": false }, "case_volume": { "clog_severity": "unknown" @@ -44703,17 +46248,17 @@ "parent_hc": null }, "position": { - "x": 364, - "y": 444 + "x": 360, + "y": 480 } }, { - "id": "rj_district_court_jaipur", - "name": "District Court — Jaipur", + "id": "py_district_courts", + "name": "District Courts — Puducherry (aggregate)", "aliases": [], "jurisdiction_scope": { - "states_covered": [ - "RJ" + "uts_covered": [ + "PY" ], "is_all_india": false, "jurisdiction_types": [ @@ -44725,14 +46270,14 @@ "abbreviation": null, "type": "SubordinateCivilCourt", "cluster": "subordinate_courts", - "level_of_government": "State", + "level_of_government": "UT", "created_year": 1860, "abolished_year": null, "operational_status": "Active", "constitutional_basis": "Constitution of India, Articles 233–237", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", + "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard. NJDG snapshot case_volume merged", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type SubordinateCivilCourt": 2, @@ -44748,11 +46293,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44767,6 +46315,12 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" + }, + { + "label": "National Judicial Data Grid (NJDG)", + "url": "https://njdg.ecourts.gov.in/", + "type": "NJDG", + "accessed_date": "2024-12-01" } ], "_detail": { @@ -44787,8 +46341,8 @@ "digital_infrastructure": null, "structural_variations": [], "jurisdiction_scope": { - "states_covered": [ - "RJ" + "uts_covered": [ + "PY" ], "is_all_india": false, "jurisdiction_types": [ @@ -44796,7 +46350,13 @@ "Criminal" ] }, - "case_volume": null, + "case_volume": { + "data_as_of": "2024-12-01", + "pending_cases": 38000, + "source_url": "https://njdg.ecourts.gov.in/", + "source_type": "NJDG_Snapshot", + "clog_severity": "unknown" + }, "judge_strength": { "data_as_of": null, "allotted": null, @@ -44808,61 +46368,53 @@ "parent_hc": null }, "position": { - "x": 317, - "y": 732 + "x": 315, + "y": 768 } }, { - "id": "rj_district_court_principal", - "name": "District & Sessions Court — RJ (principal bench)", + "id": "py_lieutenant_governor", + "name": "Lieutenant Governor — Puducherry", "aliases": [], "jurisdiction_scope": { - "states_covered": [ - "RJ" + "uts_covered": [ + "PY" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] + "is_all_india": false }, "name_hindi": null, "abbreviation": null, - "type": "SubordinateCivilCourt", - "cluster": "subordinate_courts", - "level_of_government": "State", - "created_year": 1860, + "type": "ExecutiveBody", + "cluster": "legislative_executive", + "level_of_government": "UT", + "created_year": 1950, "abolished_year": null, "operational_status": "Active", - "constitutional_basis": "Constitution of India, Articles 233–237", + "constitutional_basis": null, "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", + "data_quality_notes": "Stub for graph connectivity; verify appointment/funding against primary sources.", "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type SubordinateCivilCourt": 2, - "No universal mandatory timeline for all decisions": 1 + "Scores excluded: governance officeholder or administrative body": 0 }, - "discretionary_power_score": 3, + "discretionary_power_score": 0, "independence_risk_breakdown": { - "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1 + "Scores excluded: governance officeholder or administrative body": 0 }, "independence_risk_level": "low", - "independence_risk_score": 1, + "independence_risk_score": 0, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "Scores excluded: governance officeholder or administrative body": 0 }, - "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_level": null, + "structural_health_score": null }, - "funding_source": "State_Consolidated_Fund", + "funding_source": null, "funding_ministry": null, - "audited_by": "cag_india", - "audit_report_public": true, + "audited_by": null, + "audit_report_public": null, "complaint_external_exists": false, "appointment_criteria_public": null, "reappointment_possible": null, @@ -44872,97 +46424,75 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" + }, + { + "label": "National Judicial Data Grid (NJDG)", + "url": "https://njdg.ecourts.gov.in/", + "type": "NJDG", + "accessed_date": "2024-12-01" } ], "_detail": { "appointment": null, - "funding": { - "primary_source": "State_Consolidated_Fund" - }, - "audit": { - "audited_by": "cag_india", - "audit_type": "CAG_Statutory", - "audit_report_public": true - }, - "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" - }, + "funding": null, + "audit": null, + "complaint_mechanism": null, "training": null, "digital_infrastructure": null, "structural_variations": [], "jurisdiction_scope": { - "states_covered": [ - "RJ" + "uts_covered": [ + "PY" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] + "is_all_india": false }, "case_volume": null, - "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, - "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." - }, + "judge_strength": null, "parent_hc": null }, "position": { - "x": 319, - "y": 768 + "x": 423, + "y": 156 } }, { - "id": "rj_district_courts_generic", - "name": "District Courts — RJ (remaining districts)", + "id": "py_lokayukta", + "name": "Puducherry Lokayukta (verify status)", "aliases": [], "jurisdiction_scope": { - "states_covered": [ - "RJ" + "uts_covered": [ + "PY" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] + "is_all_india": false }, "name_hindi": null, "abbreviation": null, - "type": "SubordinateCivilCourt", - "cluster": "subordinate_courts", - "level_of_government": "State", - "created_year": 1860, + "type": "ExecutiveBody", + "cluster": "executive_interface", + "level_of_government": "UT", + "created_year": 1995, "abolished_year": null, - "operational_status": "Active", - "constitutional_basis": "Constitution of India, Articles 233–237", - "statutory_basis": null, + "operational_status": "Not_Constituted", + "constitutional_basis": null, + "statutory_basis": "State Lokayukta / Lokpal interface statutes (stub)", "data_quality": "partial", - "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", + "data_quality_notes": null, "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type SubordinateCivilCourt": 2, - "No universal mandatory timeline for all decisions": 1 + "Scores excluded: governance officeholder or administrative body": 0 }, - "discretionary_power_score": 3, + "discretionary_power_score": 0, "independence_risk_breakdown": { - "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1 + "Scores excluded: governance officeholder or administrative body": 0 }, "independence_risk_level": "low", - "independence_risk_score": 1, + "independence_risk_score": 0, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "Scores excluded: governance officeholder or administrative body": 0 }, - "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_level": null, + "structural_health_score": null }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44977,6 +46507,12 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" + }, + { + "label": "National Judicial Data Grid (NJDG)", + "url": "https://njdg.ecourts.gov.in/", + "type": "NJDG", + "accessed_date": "2024-12-01" } ], "_detail": { @@ -44991,62 +46527,64 @@ }, "complaint_mechanism": { "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" + "lokpal_jurisdiction": "Yes" }, "training": null, "digital_infrastructure": null, - "structural_variations": [], + "structural_variations": [ + { + "variation_id": "py_lokayukta_appointment_delay", + "description": "Document appointment delays post-2019 from official sources when available.", + "applicable_to": [ + "PY" + ], + "source": "State Lokayukta portal — verify dates", + "independence_risk_note": "Executive interface risk pending review" + } + ], "jurisdiction_scope": { - "states_covered": [ - "RJ" + "uts_covered": [ + "PY" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] + "is_all_india": false }, "case_volume": null, - "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, - "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." - }, + "judge_strength": null, "parent_hc": null }, "position": { - "x": 321, - "y": 732 + "x": 753, + "y": 768 } }, { - "id": "rj_state_cdrc", - "name": "State Consumer Disputes Redressal Commission — RJ", + "id": "py_slsa", + "name": "Puducherry State Legal Services Authority", "aliases": [], "jurisdiction_scope": { - "states_covered": [ - "RJ" + "uts_covered": [ + "PY" ], - "is_all_india": false + "is_all_india": false, + "jurisdiction_types": [ + "Civil" + ] }, "name_hindi": null, "abbreviation": null, - "type": "ConsumerCommission", + "type": "ADRBody", "cluster": "tribunals_adr", - "level_of_government": "State", - "created_year": 2019, + "level_of_government": "UT", + "created_year": 1995, "abolished_year": null, "operational_status": "Active", "constitutional_basis": null, - "statutory_basis": "Consumer Protection Act 2019 — State / District commissions", + "statutory_basis": "Legal Services Authorities Act 1987", "data_quality": "partial", - "data_quality_notes": null, + "data_quality_notes": "NJDG snapshot case_volume merged", "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type ConsumerCommission": 1, + "Base discretionary power for type ADRBody": 1, "No universal mandatory timeline for all decisions": 1 }, "discretionary_power_score": 2, @@ -45058,11 +46596,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -45077,6 +46618,12 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" + }, + { + "label": "National Judicial Data Grid (NJDG)", + "url": "https://njdg.ecourts.gov.in/", + "type": "NJDG", + "accessed_date": "2024-12-01" } ], "_detail": { @@ -45097,23 +46644,28 @@ "digital_infrastructure": null, "structural_variations": [], "jurisdiction_scope": { - "states_covered": [ - "RJ" + "uts_covered": [ + "PY" ], - "is_all_india": false + "is_all_india": false, + "jurisdiction_types": [ + "Civil" + ] + }, + "case_volume": { + "clog_severity": "unknown" }, - "case_volume": null, "judge_strength": null, "parent_hc": null }, "position": { - "x": 368, - "y": 480 + "x": 364, + "y": 444 } }, { - "id": "slsa_rj", - "name": "State Legal Services Authority — RJ", + "id": "rj_district_court_jaipur", + "name": "District Court — Jaipur", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -45121,40 +46673,45 @@ ], "is_all_india": false, "jurisdiction_types": [ - "Civil" + "Civil", + "Criminal" ] }, "name_hindi": null, "abbreviation": null, - "type": "ADRBody", - "cluster": "tribunals_adr", + "type": "SubordinateCivilCourt", + "cluster": "subordinate_courts", "level_of_government": "State", - "created_year": 1995, + "created_year": 1860, "abolished_year": null, "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": "Legal Services Authorities Act 1987", + "constitutional_basis": "Constitution of India, Articles 233–237", + "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": null, + "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type ADRBody": 1, + "Base discretionary power for type SubordinateCivilCourt": 2, "No universal mandatory timeline for all decisions": 1 }, - "discretionary_power_score": 2, + "discretionary_power_score": 3, "independence_risk_breakdown": { + "Constitutional basis (harder to politicise) (deduction)": -2, "No bias complaint mechanism exists": 2, "No independent conduct oversight body": 1 }, - "independence_risk_level": "moderate", - "independence_risk_score": 3, + "independence_risk_level": "low", + "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, - "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_level": "healthy", + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -45194,25 +46751,33 @@ ], "is_all_india": false, "jurisdiction_types": [ - "Civil" + "Civil", + "Criminal" ] }, "case_volume": null, - "judge_strength": null, + "judge_strength": { + "data_as_of": null, + "allotted": null, + "appointed": null, + "source_type": "DoJ_Report", + "source_url": "https://doj.gov.in/", + "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + }, "parent_hc": null }, "position": { - "x": 371, - "y": 444 + "x": 317, + "y": 732 } }, { - "id": "sk_district_court_principal", - "name": "District & Sessions Court — SK (principal bench)", + "id": "rj_district_court_principal", + "name": "District & Sessions Court — RJ (principal bench)", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "SK" + "RJ" ], "is_all_india": false, "jurisdiction_types": [ @@ -45247,11 +46812,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -45287,7 +46855,7 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "SK" + "RJ" ], "is_all_india": false, "jurisdiction_types": [ @@ -45307,17 +46875,17 @@ "parent_hc": null }, "position": { - "x": 323, + "x": 319, "y": 768 } }, { - "id": "sk_district_courts_generic", - "name": "District Courts — SK (remaining districts)", + "id": "rj_district_courts_generic", + "name": "District Courts — RJ (remaining districts)", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "SK" + "RJ" ], "is_all_india": false, "jurisdiction_types": [ @@ -45352,11 +46920,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -45392,7 +46963,7 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "SK" + "RJ" ], "is_all_india": false, "jurisdiction_types": [ @@ -45412,17 +46983,17 @@ "parent_hc": null }, "position": { - "x": 325, + "x": 321, "y": 732 } }, { - "id": "sk_state_cdrc", - "name": "State Consumer Disputes Redressal Commission — SK", + "id": "rj_state_cdrc", + "name": "State Consumer Disputes Redressal Commission — RJ", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "SK" + "RJ" ], "is_all_india": false }, @@ -45452,11 +47023,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -45492,7 +47066,7 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "SK" + "RJ" ], "is_all_india": false }, @@ -45501,17 +47075,17 @@ "parent_hc": null }, "position": { - "x": 375, + "x": 368, "y": 480 } }, { - "id": "slsa_sk", - "name": "State Legal Services Authority — SK", + "id": "slsa_rj", + "name": "State Legal Services Authority — RJ", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "SK" + "RJ" ], "is_all_india": false, "jurisdiction_types": [ @@ -45544,11 +47118,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -45584,7 +47161,7 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "SK" + "RJ" ], "is_all_india": false, "jurisdiction_types": [ @@ -45596,46 +47173,59 @@ "parent_hc": null }, "position": { - "x": 379, + "x": 371, "y": 444 } }, { - "id": "tn_advocate_general", - "name": "Advocate General — Tamil Nadu", + "id": "sk_district_court_principal", + "name": "District & Sessions Court — SK (principal bench)", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "TN" + "SK" ], - "is_all_india": false + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] }, "name_hindi": null, "abbreviation": null, - "type": "ProsecutionBody", - "cluster": "executive_interface", + "type": "SubordinateCivilCourt", + "cluster": "subordinate_courts", "level_of_government": "State", - "created_year": 1950, + "created_year": 1860, "abolished_year": null, "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": "CrPC / state prosecution service rules (high-level stub)", + "constitutional_basis": "Constitution of India, Articles 233–237", + "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": null, + "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", "derived": { "discretionary_power_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 + "Base discretionary power for type SubordinateCivilCourt": 2, + "No universal mandatory timeline for all decisions": 1 }, - "discretionary_power_score": 0, + "discretionary_power_score": 3, "independence_risk_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 + "Constitutional basis (harder to politicise) (deduction)": -2, + "No bias complaint mechanism exists": 2, + "No independent conduct oversight body": 1 }, "independence_risk_level": "low", - "independence_risk_score": 0, + "independence_risk_score": 1, "scores_validated": false, - "structural_health_breakdown": null, - "structural_health_level": null, - "structural_health_score": null + "structural_health_breakdown": { + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 + }, + "structural_health_level": "healthy", + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -45650,12 +47240,6 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" - }, - { - "label": "National Judicial Data Grid (NJDG)", - "url": "https://njdg.ecourts.gov.in/", - "type": "NJDG", - "accessed_date": "2024-12-01" } ], "_detail": { @@ -45677,68 +47261,84 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "TN" + "SK" ], - "is_all_india": false + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] }, "case_volume": null, - "judge_strength": null, + "judge_strength": { + "data_as_of": null, + "allotted": null, + "appointed": null, + "source_type": "DoJ_Report", + "source_url": "https://doj.gov.in/", + "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + }, "parent_hc": null }, "position": { - "x": 782, - "y": 732 + "x": 323, + "y": 768 } }, { - "id": "tn_bar_council", - "name": "Bar Council of Tamil Nadu and Puducherry", + "id": "sk_district_courts_generic", + "name": "District Courts — SK (remaining districts)", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "TN", - "PY" + "SK" ], - "is_all_india": false + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] }, "name_hindi": null, "abbreviation": null, - "type": "ProfessionalBody", - "cluster": "training_professional", - "level_of_government": "Shared_MultiState", - "created_year": 1961, + "type": "SubordinateCivilCourt", + "cluster": "subordinate_courts", + "level_of_government": "State", + "created_year": 1860, "abolished_year": null, "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": "Advocates Act 1961 — Bar Council of India / State Bar Councils", + "constitutional_basis": "Constitution of India, Articles 233–237", + "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": null, + "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type ProfessionalBody": 1, + "Base discretionary power for type SubordinateCivilCourt": 2, "No universal mandatory timeline for all decisions": 1 }, - "discretionary_power_score": 2, + "discretionary_power_score": 3, "independence_risk_breakdown": { - "Audit reports not public": 1, - "Funded by parties (not state) — reduces executive dependency (deduction)": -1, + "Constitutional basis (harder to politicise) (deduction)": -2, "No bias complaint mechanism exists": 2, "No independent conduct oversight body": 1 }, - "independence_risk_level": "moderate", - "independence_risk_score": 3, + "independence_risk_level": "low", + "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, - "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_level": "healthy", + "structural_health_score": 0.85 }, - "funding_source": "Party_Fees", + "funding_source": "State_Consolidated_Fund", "funding_ministry": null, - "audited_by": null, - "audit_report_public": false, + "audited_by": "cag_india", + "audit_report_public": true, "complaint_external_exists": false, "appointment_criteria_public": null, "reappointment_possible": null, @@ -45748,22 +47348,17 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" - }, - { - "label": "National Judicial Data Grid (NJDG)", - "url": "https://njdg.ecourts.gov.in/", - "type": "NJDG", - "accessed_date": "2024-12-01" } ], "_detail": { "appointment": null, "funding": { - "primary_source": "Party_Fees" + "primary_source": "State_Consolidated_Fund" }, "audit": { - "audit_type": "Internal", - "audit_report_public": false + "audited_by": "cag_india", + "audit_type": "CAG_Statutory", + "audit_report_public": true }, "complaint_mechanism": { "bias_complaint_to": [], @@ -45774,27 +47369,37 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "TN", - "PY" + "SK" ], - "is_all_india": false + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] }, "case_volume": null, - "judge_strength": null, + "judge_strength": { + "data_as_of": null, + "allotted": null, + "appointed": null, + "source_type": "DoJ_Report", + "source_url": "https://doj.gov.in/", + "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + }, "parent_hc": null }, "position": { - "x": 336, - "y": 1020 + "x": 325, + "y": 732 } }, { - "id": "tn_cdrc_chennai", - "name": "Chennai District Consumer Forum", + "id": "sk_state_cdrc", + "name": "State Consumer Disputes Redressal Commission — SK", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "TN" + "SK" ], "is_all_india": false }, @@ -45809,7 +47414,7 @@ "constitutional_basis": null, "statutory_basis": "Consumer Protection Act 2019 — State / District commissions", "data_quality": "partial", - "data_quality_notes": "NJDG snapshot case_volume merged", + "data_quality_notes": null, "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConsumerCommission": 1, @@ -45824,11 +47429,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -45843,12 +47451,6 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" - }, - { - "label": "National Judicial Data Grid (NJDG)", - "url": "https://njdg.ecourts.gov.in/", - "type": "NJDG", - "accessed_date": "2024-12-01" } ], "_detail": { @@ -45870,71 +47472,66 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "TN" + "SK" ], "is_all_india": false }, - "case_volume": { - "data_as_of": "2024-12-01", - "pending_cases": 18000, - "source_url": "https://consumerhelpline.gov.in/", - "source_type": "DoJ_Report", - "clog_severity": "unknown" - }, + "case_volume": null, "judge_strength": null, "parent_hc": null }, "position": { - "x": 382, + "x": 375, "y": 480 } }, { - "id": "tn_district_court_ariyalur", - "name": "District Court — Ariyalur", + "id": "slsa_sk", + "name": "State Legal Services Authority — SK", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "TN" + "SK" ], "is_all_india": false, "jurisdiction_types": [ - "Civil", - "Criminal" + "Civil" ] }, "name_hindi": null, "abbreviation": null, - "type": "SubordinateCivilCourt", - "cluster": "subordinate_courts", + "type": "ADRBody", + "cluster": "tribunals_adr", "level_of_government": "State", - "created_year": 1860, + "created_year": 1995, "abolished_year": null, "operational_status": "Active", - "constitutional_basis": "Constitution of India, Articles 233–237", - "statutory_basis": null, + "constitutional_basis": null, + "statutory_basis": "Legal Services Authorities Act 1987", "data_quality": "partial", - "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", + "data_quality_notes": null, "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type SubordinateCivilCourt": 2, + "Base discretionary power for type ADRBody": 1, "No universal mandatory timeline for all decisions": 1 }, - "discretionary_power_score": 3, + "discretionary_power_score": 2, "independence_risk_breakdown": { - "Constitutional basis (harder to politicise) (deduction)": -2, "No bias complaint mechanism exists": 2, "No independent conduct oversight body": 1 }, - "independence_risk_level": "low", - "independence_risk_score": 1, + "independence_risk_level": "moderate", + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, - "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_level": "watch", + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -45970,76 +47567,60 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "TN" + "SK" ], "is_all_india": false, "jurisdiction_types": [ - "Civil", - "Criminal" + "Civil" ] }, "case_volume": null, - "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, - "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." - }, + "judge_strength": null, "parent_hc": null }, "position": { - "x": 327, - "y": 768 + "x": 379, + "y": 444 } }, { - "id": "tn_district_court_chengalpattu", - "name": "District Court — Chengalpattu", + "id": "tn_advocate_general", + "name": "Advocate General — Tamil Nadu", "aliases": [], "jurisdiction_scope": { "states_covered": [ "TN" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] + "is_all_india": false }, "name_hindi": null, "abbreviation": null, - "type": "SubordinateCivilCourt", - "cluster": "subordinate_courts", + "type": "ProsecutionBody", + "cluster": "executive_interface", "level_of_government": "State", - "created_year": 1860, + "created_year": 1950, "abolished_year": null, "operational_status": "Active", - "constitutional_basis": "Constitution of India, Articles 233–237", - "statutory_basis": null, + "constitutional_basis": null, + "statutory_basis": "CrPC / state prosecution service rules (high-level stub)", "data_quality": "partial", - "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", + "data_quality_notes": null, "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type SubordinateCivilCourt": 2, - "No universal mandatory timeline for all decisions": 1 + "Scores excluded: governance officeholder or administrative body": 0 }, - "discretionary_power_score": 3, + "discretionary_power_score": 0, "independence_risk_breakdown": { - "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1 + "Scores excluded: governance officeholder or administrative body": 0 }, "independence_risk_level": "low", - "independence_risk_score": 1, + "independence_risk_score": 0, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "Scores excluded: governance officeholder or administrative body": 0 }, - "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_level": null, + "structural_health_score": null }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46054,6 +47635,12 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" + }, + { + "label": "National Judicial Data Grid (NJDG)", + "url": "https://njdg.ecourts.gov.in/", + "type": "NJDG", + "accessed_date": "2024-12-01" } ], "_detail": { @@ -46077,79 +47664,69 @@ "states_covered": [ "TN" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] + "is_all_india": false }, "case_volume": null, - "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, - "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." - }, + "judge_strength": null, "parent_hc": null }, "position": { - "x": 329, + "x": 782, "y": 732 } }, { - "id": "tn_district_court_chennai", - "name": "District Court — Chennai", + "id": "tn_bar_council", + "name": "Bar Council of Tamil Nadu and Puducherry", "aliases": [], "jurisdiction_scope": { "states_covered": [ - "TN" + "TN", + "PY" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] + "is_all_india": false }, "name_hindi": null, "abbreviation": null, - "type": "SubordinateCivilCourt", - "cluster": "subordinate_courts", - "level_of_government": "State", - "created_year": 1860, + "type": "ProfessionalBody", + "cluster": "training_professional", + "level_of_government": "Shared_MultiState", + "created_year": 1961, "abolished_year": null, "operational_status": "Active", - "constitutional_basis": "Constitution of India, Articles 233–237", - "statutory_basis": null, + "constitutional_basis": null, + "statutory_basis": "Advocates Act 1961 — Bar Council of India / State Bar Councils", "data_quality": "partial", - "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard. NJDG snapshot case_volume merged", + "data_quality_notes": null, "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type SubordinateCivilCourt": 2, + "Base discretionary power for type ProfessionalBody": 1, "No universal mandatory timeline for all decisions": 1 }, - "discretionary_power_score": 3, + "discretionary_power_score": 2, "independence_risk_breakdown": { - "Constitutional basis (harder to politicise) (deduction)": -2, + "Audit reports not public": 1, + "Funded by parties (not state) — reduces executive dependency (deduction)": -1, "No bias complaint mechanism exists": 2, "No independent conduct oversight body": 1 }, - "independence_risk_level": "low", - "independence_risk_score": 1, + "independence_risk_level": "moderate", + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, - "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_level": "watch", + "structural_health_score": 0.76 }, - "funding_source": "State_Consolidated_Fund", + "funding_source": "Party_Fees", "funding_ministry": null, - "audited_by": "cag_india", - "audit_report_public": true, + "audited_by": null, + "audit_report_public": false, "complaint_external_exists": false, "appointment_criteria_public": null, "reappointment_possible": null, @@ -46170,12 +47747,11 @@ "_detail": { "appointment": null, "funding": { - "primary_source": "State_Consolidated_Fund" + "primary_source": "Party_Fees" }, "audit": { - "audited_by": "cag_india", - "audit_type": "CAG_Statutory", - "audit_report_public": true + "audit_type": "Internal", + "audit_report_public": false }, "complaint_mechanism": { "bias_complaint_to": [], @@ -46186,82 +47762,64 @@ "structural_variations": [], "jurisdiction_scope": { "states_covered": [ - "TN" + "TN", + "PY" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] - }, - "case_volume": { - "data_as_of": "2024-12-01", - "pending_cases": 280000, - "source_url": "https://njdg.ecourts.gov.in/", - "source_type": "NJDG_Snapshot", - "clog_severity": "unknown" - }, - "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, - "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "is_all_india": false }, + "case_volume": null, + "judge_strength": null, "parent_hc": null }, "position": { - "x": 331, - "y": 768 + "x": 336, + "y": 1020 } }, { - "id": "tn_district_court_coimbatore", - "name": "District Court — Coimbatore", + "id": "tn_cdrc_chennai", + "name": "Chennai District Consumer Forum", "aliases": [], "jurisdiction_scope": { "states_covered": [ "TN" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] + "is_all_india": false }, "name_hindi": null, "abbreviation": null, - "type": "SubordinateCivilCourt", - "cluster": "subordinate_courts", + "type": "ConsumerCommission", + "cluster": "tribunals_adr", "level_of_government": "State", - "created_year": 1860, + "created_year": 2019, "abolished_year": null, "operational_status": "Active", - "constitutional_basis": "Constitution of India, Articles 233–237", - "statutory_basis": null, + "constitutional_basis": null, + "statutory_basis": "Consumer Protection Act 2019 — State / District commissions", "data_quality": "partial", - "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", + "data_quality_notes": "NJDG snapshot case_volume merged", "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type SubordinateCivilCourt": 2, + "Base discretionary power for type ConsumerCommission": 1, "No universal mandatory timeline for all decisions": 1 }, - "discretionary_power_score": 3, + "discretionary_power_score": 2, "independence_risk_breakdown": { - "Constitutional basis (harder to politicise) (deduction)": -2, "No bias complaint mechanism exists": 2, "No independent conduct oversight body": 1 }, - "independence_risk_level": "low", - "independence_risk_score": 1, + "independence_risk_level": "moderate", + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, - "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_level": "watch", + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46276,6 +47834,12 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" + }, + { + "label": "National Judicial Data Grid (NJDG)", + "url": "https://njdg.ecourts.gov.in/", + "type": "NJDG", + "accessed_date": "2024-12-01" } ], "_detail": { @@ -46299,31 +47863,26 @@ "states_covered": [ "TN" ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] + "is_all_india": false }, - "case_volume": null, - "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, + "case_volume": { + "data_as_of": "2024-12-01", + "pending_cases": 18000, + "source_url": "https://consumerhelpline.gov.in/", "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "clog_severity": "unknown" }, + "judge_strength": null, "parent_hc": null }, "position": { - "x": 333, - "y": 732 + "x": 382, + "y": 480 } }, { - "id": "tn_district_court_cuddalore", - "name": "District Court — Cuddalore", + "id": "tn_district_court_ariyalur", + "name": "District Court — Ariyalur", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -46362,11 +47921,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46422,13 +47984,13 @@ "parent_hc": null }, "position": { - "x": 335, + "x": 327, "y": 768 } }, { - "id": "tn_district_court_dharmapuri", - "name": "District Court — Dharmapuri", + "id": "tn_district_court_chengalpattu", + "name": "District Court — Chengalpattu", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -46467,11 +48029,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46527,13 +48092,13 @@ "parent_hc": null }, "position": { - "x": 336, + "x": 329, "y": 732 } }, { - "id": "tn_district_court_dindigul", - "name": "District Court — Dindigul", + "id": "tn_district_court_chennai", + "name": "District Court — Chennai", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -46556,7 +48121,7 @@ "constitutional_basis": "Constitution of India, Articles 233–237", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", + "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard. NJDG snapshot case_volume merged", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type SubordinateCivilCourt": 2, @@ -46572,11 +48137,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46591,6 +48159,12 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" + }, + { + "label": "National Judicial Data Grid (NJDG)", + "url": "https://njdg.ecourts.gov.in/", + "type": "NJDG", + "accessed_date": "2024-12-01" } ], "_detail": { @@ -46620,7 +48194,13 @@ "Criminal" ] }, - "case_volume": null, + "case_volume": { + "data_as_of": "2024-12-01", + "pending_cases": 280000, + "source_url": "https://njdg.ecourts.gov.in/", + "source_type": "NJDG_Snapshot", + "clog_severity": "unknown" + }, "judge_strength": { "data_as_of": null, "allotted": null, @@ -46632,13 +48212,13 @@ "parent_hc": null }, "position": { - "x": 338, + "x": 331, "y": 768 } }, { - "id": "tn_district_court_erode", - "name": "District Court — Erode", + "id": "tn_district_court_coimbatore", + "name": "District Court — Coimbatore", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -46677,11 +48257,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46737,13 +48320,13 @@ "parent_hc": null }, "position": { - "x": 340, + "x": 333, "y": 732 } }, { - "id": "tn_district_court_kallakurichi", - "name": "District Court — Kallakurichi", + "id": "tn_district_court_cuddalore", + "name": "District Court — Cuddalore", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -46782,11 +48365,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46842,13 +48428,13 @@ "parent_hc": null }, "position": { - "x": 342, + "x": 335, "y": 768 } }, { - "id": "tn_district_court_kancheepuram", - "name": "District Court — Kancheepuram", + "id": "tn_district_court_dharmapuri", + "name": "District Court — Dharmapuri", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -46887,11 +48473,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46947,13 +48536,13 @@ "parent_hc": null }, "position": { - "x": 344, + "x": 336, "y": 732 } }, { - "id": "tn_district_court_kanniyakumari", - "name": "District Court — Kanniyakumari", + "id": "tn_district_court_dindigul", + "name": "District Court — Dindigul", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -46992,11 +48581,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47052,13 +48644,13 @@ "parent_hc": null }, "position": { - "x": 346, + "x": 338, "y": 768 } }, { - "id": "tn_district_court_karur", - "name": "District Court — Karur", + "id": "tn_district_court_erode", + "name": "District Court — Erode", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -47097,11 +48689,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47157,13 +48752,13 @@ "parent_hc": null }, "position": { - "x": 348, + "x": 340, "y": 732 } }, { - "id": "tn_district_court_krishnagiri", - "name": "District Court — Krishnagiri", + "id": "tn_district_court_kallakurichi", + "name": "District Court — Kallakurichi", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -47202,11 +48797,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47262,13 +48860,13 @@ "parent_hc": null }, "position": { - "x": 350, + "x": 342, "y": 768 } }, { - "id": "tn_district_court_madurai", - "name": "District Court — Madurai", + "id": "tn_district_court_kancheepuram", + "name": "District Court — Kancheepuram", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -47307,11 +48905,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47367,13 +48968,13 @@ "parent_hc": null }, "position": { - "x": 352, + "x": 344, "y": 732 } }, { - "id": "tn_district_court_mayiladuthurai", - "name": "District Court — Mayiladuthurai", + "id": "tn_district_court_kanniyakumari", + "name": "District Court — Kanniyakumari", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -47412,11 +49013,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47472,13 +49076,13 @@ "parent_hc": null }, "position": { - "x": 354, + "x": 346, "y": 768 } }, { - "id": "tn_district_court_nagapattinam", - "name": "District Court — Nagapattinam", + "id": "tn_district_court_karur", + "name": "District Court — Karur", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -47517,11 +49121,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47577,13 +49184,13 @@ "parent_hc": null }, "position": { - "x": 356, + "x": 348, "y": 732 } }, { - "id": "tn_district_court_namakkal", - "name": "District Court — Namakkal", + "id": "tn_district_court_krishnagiri", + "name": "District Court — Krishnagiri", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -47622,11 +49229,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47682,13 +49292,13 @@ "parent_hc": null }, "position": { - "x": 358, + "x": 350, "y": 768 } }, { - "id": "tn_district_court_nilgiris", - "name": "District Court — The Nilgiris", + "id": "tn_district_court_madurai", + "name": "District Court — Madurai", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -47727,11 +49337,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47787,13 +49400,13 @@ "parent_hc": null }, "position": { - "x": 360, + "x": 352, "y": 732 } }, { - "id": "tn_district_court_perambalur", - "name": "District Court — Perambalur", + "id": "tn_district_court_mayiladuthurai", + "name": "District Court — Mayiladuthurai", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -47832,11 +49445,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47892,13 +49508,13 @@ "parent_hc": null }, "position": { - "x": 362, + "x": 354, "y": 768 } }, { - "id": "tn_district_court_pudukkottai", - "name": "District Court — Pudukkottai", + "id": "tn_district_court_nagapattinam", + "name": "District Court — Nagapattinam", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -47937,11 +49553,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47997,13 +49616,13 @@ "parent_hc": null }, "position": { - "x": 364, + "x": 356, "y": 732 } }, { - "id": "tn_district_court_ramanathapuram", - "name": "District Court — Ramanathapuram", + "id": "tn_district_court_namakkal", + "name": "District Court — Namakkal", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -48042,11 +49661,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48102,13 +49724,13 @@ "parent_hc": null }, "position": { - "x": 366, + "x": 358, "y": 768 } }, { - "id": "tn_district_court_ranipet", - "name": "District Court — Ranipet", + "id": "tn_district_court_nilgiris", + "name": "District Court — The Nilgiris", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -48147,11 +49769,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48207,13 +49832,13 @@ "parent_hc": null }, "position": { - "x": 368, + "x": 360, "y": 732 } }, { - "id": "tn_district_court_salem", - "name": "District Court — Salem", + "id": "tn_district_court_perambalur", + "name": "District Court — Perambalur", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -48252,11 +49877,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48312,13 +49940,13 @@ "parent_hc": null }, "position": { - "x": 370, + "x": 362, "y": 768 } }, { - "id": "tn_district_court_sivaganga", - "name": "District Court — Sivaganga", + "id": "tn_district_court_pudukkottai", + "name": "District Court — Pudukkottai", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -48357,11 +49985,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48417,13 +50048,13 @@ "parent_hc": null }, "position": { - "x": 372, + "x": 364, "y": 732 } }, { - "id": "tn_district_court_tenkasi", - "name": "District Court — Tenkasi", + "id": "tn_district_court_ramanathapuram", + "name": "District Court — Ramanathapuram", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -48462,11 +50093,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48522,13 +50156,13 @@ "parent_hc": null }, "position": { - "x": 374, + "x": 366, "y": 768 } }, { - "id": "tn_district_court_thanjavur", - "name": "District Court — Thanjavur", + "id": "tn_district_court_ranipet", + "name": "District Court — Ranipet", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -48567,11 +50201,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48627,13 +50264,13 @@ "parent_hc": null }, "position": { - "x": 375, + "x": 368, "y": 732 } }, { - "id": "tn_district_court_theni", - "name": "District Court — Theni", + "id": "tn_district_court_salem", + "name": "District Court — Salem", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -48672,11 +50309,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48732,13 +50372,13 @@ "parent_hc": null }, "position": { - "x": 377, + "x": 370, "y": 768 } }, { - "id": "tn_district_court_thoothukudi", - "name": "District Court — Thoothukudi", + "id": "tn_district_court_sivaganga", + "name": "District Court — Sivaganga", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -48777,11 +50417,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48837,13 +50480,13 @@ "parent_hc": null }, "position": { - "x": 379, + "x": 372, "y": 732 } }, { - "id": "tn_district_court_tiruchirappalli", - "name": "District Court — Tiruchirappalli", + "id": "tn_district_court_tenkasi", + "name": "District Court — Tenkasi", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -48882,11 +50525,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48942,13 +50588,13 @@ "parent_hc": null }, "position": { - "x": 381, + "x": 374, "y": 768 } }, { - "id": "tn_district_court_tirunelveli", - "name": "District Court — Tirunelveli", + "id": "tn_district_court_thanjavur", + "name": "District Court — Thanjavur", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -48987,11 +50633,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49047,13 +50696,13 @@ "parent_hc": null }, "position": { - "x": 383, + "x": 375, "y": 732 } }, { - "id": "tn_district_court_tirupathur", - "name": "District Court — Tirupathur", + "id": "tn_district_court_theni", + "name": "District Court — Theni", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -49092,11 +50741,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49152,13 +50804,13 @@ "parent_hc": null }, "position": { - "x": 385, + "x": 377, "y": 768 } }, { - "id": "tn_district_court_tiruppur", - "name": "District Court — Tiruppur", + "id": "tn_district_court_thoothukudi", + "name": "District Court — Thoothukudi", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -49197,11 +50849,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49257,13 +50912,13 @@ "parent_hc": null }, "position": { - "x": 387, + "x": 379, "y": 732 } }, { - "id": "tn_district_court_tiruvallur", - "name": "District Court — Tiruvallur", + "id": "tn_district_court_tiruchirappalli", + "name": "District Court — Tiruchirappalli", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -49302,11 +50957,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49362,13 +51020,13 @@ "parent_hc": null }, "position": { - "x": 389, + "x": 381, "y": 768 } }, { - "id": "tn_district_court_tiruvannamalai", - "name": "District Court — Tiruvannamalai", + "id": "tn_district_court_tirunelveli", + "name": "District Court — Tirunelveli", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -49407,11 +51065,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49467,13 +51128,13 @@ "parent_hc": null }, "position": { - "x": 391, + "x": 383, "y": 732 } }, { - "id": "tn_district_court_tiruvarur", - "name": "District Court — Tiruvarur", + "id": "tn_district_court_tirupathur", + "name": "District Court — Tirupathur", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -49512,11 +51173,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49572,13 +51236,13 @@ "parent_hc": null }, "position": { - "x": 393, + "x": 385, "y": 768 } }, { - "id": "tn_district_court_vellore", - "name": "District Court — Vellore", + "id": "tn_district_court_tiruppur", + "name": "District Court — Tiruppur", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -49617,11 +51281,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49677,13 +51344,13 @@ "parent_hc": null }, "position": { - "x": 395, + "x": 387, "y": 732 } }, { - "id": "tn_district_court_viluppuram", - "name": "District Court — Viluppuram", + "id": "tn_district_court_tiruvallur", + "name": "District Court — Tiruvallur", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -49722,11 +51389,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49782,13 +51452,13 @@ "parent_hc": null }, "position": { - "x": 397, + "x": 389, "y": 768 } }, { - "id": "tn_district_court_virudhunagar", - "name": "District Court — Virudhunagar", + "id": "tn_district_court_tiruvannamalai", + "name": "District Court — Tiruvannamalai", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -49827,11 +51497,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49887,13 +51560,13 @@ "parent_hc": null }, "position": { - "x": 399, + "x": 391, "y": 732 } }, { - "id": "tn_district_courts_generic", - "name": "District Courts — Tamil Nadu (consolidated)", + "id": "tn_district_court_tiruvarur", + "name": "District Court — Tiruvarur", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -49916,7 +51589,7 @@ "constitutional_basis": "Constitution of India, Articles 233–237", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "State-wide NJDG aggregate for the collapsed district lattice (38 revenue districts). Expand the lattice (+/− on Madras HC) to see per-district nodes; district-level pendency is filled from NJDG where available (e.g. Chennai). NJDG snapshot case_volume merged\n", + "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", "derived": { "discretionary_power_breakdown": { "Base discretionary power for type SubordinateCivilCourt": 2, @@ -49932,11 +51605,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49951,12 +51627,6 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" - }, - { - "label": "National Judicial Data Grid (NJDG)", - "url": "https://njdg.ecourts.gov.in/", - "type": "NJDG", - "accessed_date": "2024-12-01" } ], "_detail": { @@ -49986,18 +51656,7 @@ "Criminal" ] }, - "case_volume": { - "data_as_of": "2024-12-01", - "pending_cases": 3200000, - "filed_last_year": 820000, - "disposed_last_year": 780000, - "avg_disposal_days": 1095, - "institution_rate_trend": "rising", - "source_url": "https://njdg.ecourts.gov.in/", - "source_type": "NJDG_Snapshot", - "disposal_rate": 0.9512, - "clog_severity": "high" - }, + "case_volume": null, "judge_strength": { "data_as_of": null, "allotted": null, @@ -50009,46 +51668,59 @@ "parent_hc": null }, "position": { - "x": 401, + "x": 393, "y": 768 } }, { - "id": "tn_lokayukta", - "name": "Tamil Nadu Lokayukta (not constituted — verify from official sources)", + "id": "tn_district_court_vellore", + "name": "District Court — Vellore", "aliases": [], "jurisdiction_scope": { "states_covered": [ "TN" ], - "is_all_india": false + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] }, "name_hindi": null, "abbreviation": null, - "type": "ExecutiveBody", - "cluster": "executive_interface", + "type": "SubordinateCivilCourt", + "cluster": "subordinate_courts", "level_of_government": "State", - "created_year": 1995, + "created_year": 1860, "abolished_year": null, - "operational_status": "Not_Constituted", - "constitutional_basis": null, - "statutory_basis": "State Lokayukta / Lokpal interface statutes (stub)", + "operational_status": "Active", + "constitutional_basis": "Constitution of India, Articles 233–237", + "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": null, + "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", "derived": { "discretionary_power_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 + "Base discretionary power for type SubordinateCivilCourt": 2, + "No universal mandatory timeline for all decisions": 1 }, - "discretionary_power_score": 0, + "discretionary_power_score": 3, "independence_risk_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 + "Constitutional basis (harder to politicise) (deduction)": -2, + "No bias complaint mechanism exists": 2, + "No independent conduct oversight body": 1 }, "independence_risk_level": "low", - "independence_risk_score": 0, + "independence_risk_score": 1, "scores_validated": false, - "structural_health_breakdown": null, - "structural_health_level": null, - "structural_health_score": null + "structural_health_breakdown": { + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 + }, + "structural_health_level": "healthy", + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -50063,12 +51735,6 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" - }, - { - "label": "National Judicial Data Grid (NJDG)", - "url": "https://njdg.ecourts.gov.in/", - "type": "NJDG", - "accessed_date": "2024-12-01" } ], "_detail": { @@ -50083,7 +51749,7 @@ }, "complaint_mechanism": { "bias_complaint_to": [], - "lokpal_jurisdiction": "Yes" + "lokpal_jurisdiction": "Not_Applicable" }, "training": null, "digital_infrastructure": null, @@ -50092,20 +51758,31 @@ "states_covered": [ "TN" ], - "is_all_india": false + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] }, "case_volume": null, - "judge_strength": null, + "judge_strength": { + "data_as_of": null, + "allotted": null, + "appointed": null, + "source_type": "DoJ_Report", + "source_url": "https://doj.gov.in/", + "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + }, "parent_hc": null }, "position": { - "x": 810, - "y": 768 + "x": 395, + "y": 732 } }, { - "id": "tn_rera", - "name": "Tamil Nadu Real Estate Regulatory Authority", + "id": "tn_district_court_viluppuram", + "name": "District Court — Viluppuram", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -50113,40 +51790,45 @@ ], "is_all_india": false, "jurisdiction_types": [ - "Civil" + "Civil", + "Criminal" ] }, "name_hindi": null, "abbreviation": null, - "type": "RegulatoryBodyQJ", - "cluster": "regulatory_bodies", + "type": "SubordinateCivilCourt", + "cluster": "subordinate_courts", "level_of_government": "State", - "created_year": 2017, + "created_year": 1860, "abolished_year": null, "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": "RERA 2016 — Tamil Nadu", + "constitutional_basis": "Constitution of India, Articles 233–237", + "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "NJDG snapshot case_volume merged", + "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type RegulatoryBodyQJ": 3, + "Base discretionary power for type SubordinateCivilCourt": 2, "No universal mandatory timeline for all decisions": 1 }, - "discretionary_power_score": 4, + "discretionary_power_score": 3, "independence_risk_breakdown": { + "Constitutional basis (harder to politicise) (deduction)": -2, "No bias complaint mechanism exists": 2, "No independent conduct oversight body": 1 }, - "independence_risk_level": "moderate", - "independence_risk_score": 3, + "independence_risk_level": "low", + "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, - "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_level": "healthy", + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -50161,19 +51843,12 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" - }, - { - "label": "National Judicial Data Grid (NJDG)", - "url": "https://njdg.ecourts.gov.in/", - "type": "NJDG", - "accessed_date": "2024-12-01" } ], "_detail": { "appointment": null, "funding": { - "primary_source": "State_Consolidated_Fund", - "ministry_responsible": null + "primary_source": "State_Consolidated_Fund" }, "audit": { "audited_by": "cag_india", @@ -50193,61 +51868,75 @@ ], "is_all_india": false, "jurisdiction_types": [ - "Civil" + "Civil", + "Criminal" ] }, - "case_volume": { - "clog_severity": "unknown" + "case_volume": null, + "judge_strength": { + "data_as_of": null, + "allotted": null, + "appointed": null, + "source_type": "DoJ_Report", + "source_url": "https://doj.gov.in/", + "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." }, - "judge_strength": null, "parent_hc": null }, "position": { - "x": 858, - "y": 480 + "x": 397, + "y": 768 } }, { - "id": "tn_sja", - "name": "Tamil Nadu State Judicial Academy", + "id": "tn_district_court_virudhunagar", + "name": "District Court — Virudhunagar", "aliases": [], "jurisdiction_scope": { "states_covered": [ "TN" ], - "is_all_india": false + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] }, "name_hindi": null, "abbreviation": null, - "type": "TrainingBody", - "cluster": "training_professional", + "type": "SubordinateCivilCourt", + "cluster": "subordinate_courts", "level_of_government": "State", - "created_year": 1992, + "created_year": 1860, "abolished_year": null, "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": "State judicial academy statutes / rules", + "constitutional_basis": "Constitution of India, Articles 233–237", + "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": null, + "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", "derived": { "discretionary_power_breakdown": { - "Base discretionary power for type TrainingBody": 1, + "Base discretionary power for type SubordinateCivilCourt": 2, "No universal mandatory timeline for all decisions": 1 }, - "discretionary_power_score": 2, + "discretionary_power_score": 3, "independence_risk_breakdown": { + "Constitutional basis (harder to politicise) (deduction)": -2, "No bias complaint mechanism exists": 2, "No independent conduct oversight body": 1 }, - "independence_risk_level": "moderate", - "independence_risk_score": 3, + "independence_risk_level": "low", + "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, - "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_level": "healthy", + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -50262,12 +51951,439 @@ "url": "https://india-code.nic.in/", "type": "GoIWebsite", "accessed_date": "2026-05-13" - }, - { - "label": "National Judicial Data Grid (NJDG)", - "url": "https://njdg.ecourts.gov.in/", - "type": "NJDG", - "accessed_date": "2024-12-01" + } + ], + "_detail": { + "appointment": null, + "funding": { + "primary_source": "State_Consolidated_Fund" + }, + "audit": { + "audited_by": "cag_india", + "audit_type": "CAG_Statutory", + "audit_report_public": true + }, + "complaint_mechanism": { + "bias_complaint_to": [], + "lokpal_jurisdiction": "Not_Applicable" + }, + "training": null, + "digital_infrastructure": null, + "structural_variations": [], + "jurisdiction_scope": { + "states_covered": [ + "TN" + ], + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] + }, + "case_volume": null, + "judge_strength": { + "data_as_of": null, + "allotted": null, + "appointed": null, + "source_type": "DoJ_Report", + "source_url": "https://doj.gov.in/", + "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + }, + "parent_hc": null + }, + "position": { + "x": 399, + "y": 732 + } + }, + { + "id": "tn_district_courts_generic", + "name": "District Courts — Tamil Nadu (consolidated)", + "aliases": [], + "jurisdiction_scope": { + "states_covered": [ + "TN" + ], + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] + }, + "name_hindi": null, + "abbreviation": null, + "type": "SubordinateCivilCourt", + "cluster": "subordinate_courts", + "level_of_government": "State", + "created_year": 1860, + "abolished_year": null, + "operational_status": "Active", + "constitutional_basis": "Constitution of India, Articles 233–237", + "statutory_basis": null, + "data_quality": "partial", + "data_quality_notes": "State-wide NJDG aggregate for the collapsed district lattice (38 revenue districts). Expand the lattice (+/− on Madras HC) to see per-district nodes; district-level pendency is filled from NJDG where available (e.g. Chennai). NJDG snapshot case_volume merged\n", + "derived": { + "discretionary_power_breakdown": { + "Base discretionary power for type SubordinateCivilCourt": 2, + "No universal mandatory timeline for all decisions": 1 + }, + "discretionary_power_score": 3, + "independence_risk_breakdown": { + "Constitutional basis (harder to politicise) (deduction)": -2, + "No bias complaint mechanism exists": 2, + "No independent conduct oversight body": 1 + }, + "independence_risk_level": "low", + "independence_risk_score": 1, + "scores_validated": false, + "structural_health_breakdown": { + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 + }, + "structural_health_level": "healthy", + "structural_health_score": 0.85 + }, + "funding_source": "State_Consolidated_Fund", + "funding_ministry": null, + "audited_by": "cag_india", + "audit_report_public": true, + "complaint_external_exists": false, + "appointment_criteria_public": null, + "reappointment_possible": null, + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-05-13" + }, + { + "label": "National Judicial Data Grid (NJDG)", + "url": "https://njdg.ecourts.gov.in/", + "type": "NJDG", + "accessed_date": "2024-12-01" + } + ], + "_detail": { + "appointment": null, + "funding": { + "primary_source": "State_Consolidated_Fund" + }, + "audit": { + "audited_by": "cag_india", + "audit_type": "CAG_Statutory", + "audit_report_public": true + }, + "complaint_mechanism": { + "bias_complaint_to": [], + "lokpal_jurisdiction": "Not_Applicable" + }, + "training": null, + "digital_infrastructure": null, + "structural_variations": [], + "jurisdiction_scope": { + "states_covered": [ + "TN" + ], + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] + }, + "case_volume": { + "data_as_of": "2024-12-01", + "pending_cases": 3200000, + "filed_last_year": 820000, + "disposed_last_year": 780000, + "avg_disposal_days": 1095, + "institution_rate_trend": "rising", + "source_url": "https://njdg.ecourts.gov.in/", + "source_type": "NJDG_Snapshot", + "disposal_rate": 0.9512, + "clog_severity": "high" + }, + "judge_strength": { + "data_as_of": null, + "allotted": null, + "appointed": null, + "source_type": "DoJ_Report", + "source_url": "https://doj.gov.in/", + "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + }, + "parent_hc": null + }, + "position": { + "x": 401, + "y": 768 + } + }, + { + "id": "tn_lokayukta", + "name": "Tamil Nadu Lokayukta (not constituted — verify from official sources)", + "aliases": [], + "jurisdiction_scope": { + "states_covered": [ + "TN" + ], + "is_all_india": false + }, + "name_hindi": null, + "abbreviation": null, + "type": "ExecutiveBody", + "cluster": "executive_interface", + "level_of_government": "State", + "created_year": 1995, + "abolished_year": null, + "operational_status": "Not_Constituted", + "constitutional_basis": null, + "statutory_basis": "State Lokayukta / Lokpal interface statutes (stub)", + "data_quality": "partial", + "data_quality_notes": null, + "derived": { + "discretionary_power_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "discretionary_power_score": 0, + "independence_risk_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "independence_risk_level": "low", + "independence_risk_score": 0, + "scores_validated": false, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "structural_health_level": null, + "structural_health_score": null + }, + "funding_source": "State_Consolidated_Fund", + "funding_ministry": null, + "audited_by": "cag_india", + "audit_report_public": true, + "complaint_external_exists": false, + "appointment_criteria_public": null, + "reappointment_possible": null, + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-05-13" + }, + { + "label": "National Judicial Data Grid (NJDG)", + "url": "https://njdg.ecourts.gov.in/", + "type": "NJDG", + "accessed_date": "2024-12-01" + } + ], + "_detail": { + "appointment": null, + "funding": { + "primary_source": "State_Consolidated_Fund" + }, + "audit": { + "audited_by": "cag_india", + "audit_type": "CAG_Statutory", + "audit_report_public": true + }, + "complaint_mechanism": { + "bias_complaint_to": [], + "lokpal_jurisdiction": "Yes" + }, + "training": null, + "digital_infrastructure": null, + "structural_variations": [], + "jurisdiction_scope": { + "states_covered": [ + "TN" + ], + "is_all_india": false + }, + "case_volume": null, + "judge_strength": null, + "parent_hc": null + }, + "position": { + "x": 810, + "y": 768 + } + }, + { + "id": "tn_rera", + "name": "Tamil Nadu Real Estate Regulatory Authority", + "aliases": [], + "jurisdiction_scope": { + "states_covered": [ + "TN" + ], + "is_all_india": false, + "jurisdiction_types": [ + "Civil" + ] + }, + "name_hindi": null, + "abbreviation": null, + "type": "RegulatoryBodyQJ", + "cluster": "regulatory_bodies", + "level_of_government": "State", + "created_year": 2017, + "abolished_year": null, + "operational_status": "Active", + "constitutional_basis": null, + "statutory_basis": "RERA 2016 — Tamil Nadu", + "data_quality": "partial", + "data_quality_notes": "NJDG snapshot case_volume merged", + "derived": { + "discretionary_power_breakdown": { + "Base discretionary power for type RegulatoryBodyQJ": 3, + "No universal mandatory timeline for all decisions": 1 + }, + "discretionary_power_score": 4, + "independence_risk_breakdown": { + "No bias complaint mechanism exists": 2, + "No independent conduct oversight body": 1 + }, + "independence_risk_level": "moderate", + "independence_risk_score": 3, + "scores_validated": false, + "structural_health_breakdown": { + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 + }, + "structural_health_level": "watch", + "structural_health_score": 0.76 + }, + "funding_source": "State_Consolidated_Fund", + "funding_ministry": null, + "audited_by": "cag_india", + "audit_report_public": true, + "complaint_external_exists": false, + "appointment_criteria_public": null, + "reappointment_possible": null, + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-05-13" + }, + { + "label": "National Judicial Data Grid (NJDG)", + "url": "https://njdg.ecourts.gov.in/", + "type": "NJDG", + "accessed_date": "2024-12-01" + } + ], + "_detail": { + "appointment": null, + "funding": { + "primary_source": "State_Consolidated_Fund", + "ministry_responsible": null + }, + "audit": { + "audited_by": "cag_india", + "audit_type": "CAG_Statutory", + "audit_report_public": true + }, + "complaint_mechanism": { + "bias_complaint_to": [], + "lokpal_jurisdiction": "Not_Applicable" + }, + "training": null, + "digital_infrastructure": null, + "structural_variations": [], + "jurisdiction_scope": { + "states_covered": [ + "TN" + ], + "is_all_india": false, + "jurisdiction_types": [ + "Civil" + ] + }, + "case_volume": { + "clog_severity": "unknown" + }, + "judge_strength": null, + "parent_hc": null + }, + "position": { + "x": 858, + "y": 480 + } + }, + { + "id": "tn_sja", + "name": "Tamil Nadu State Judicial Academy", + "aliases": [], + "jurisdiction_scope": { + "states_covered": [ + "TN" + ], + "is_all_india": false + }, + "name_hindi": null, + "abbreviation": null, + "type": "TrainingBody", + "cluster": "training_professional", + "level_of_government": "State", + "created_year": 1992, + "abolished_year": null, + "operational_status": "Active", + "constitutional_basis": null, + "statutory_basis": "State judicial academy statutes / rules", + "data_quality": "partial", + "data_quality_notes": null, + "derived": { + "discretionary_power_breakdown": { + "Base discretionary power for type TrainingBody": 1, + "No universal mandatory timeline for all decisions": 1 + }, + "discretionary_power_score": 2, + "independence_risk_breakdown": { + "No bias complaint mechanism exists": 2, + "No independent conduct oversight body": 1 + }, + "independence_risk_level": "moderate", + "independence_risk_score": 3, + "scores_validated": false, + "structural_health_breakdown": { + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 + }, + "structural_health_level": "watch", + "structural_health_score": 0.76 + }, + "funding_source": "State_Consolidated_Fund", + "funding_ministry": null, + "audited_by": "cag_india", + "audit_report_public": true, + "complaint_external_exists": false, + "appointment_criteria_public": null, + "reappointment_possible": null, + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-05-13" + }, + { + "label": "National Judicial Data Grid (NJDG)", + "url": "https://njdg.ecourts.gov.in/", + "type": "NJDG", + "accessed_date": "2024-12-01" } ], "_detail": { @@ -50346,11 +52462,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.7 + "structural_health_score": 0.76 }, "funding_source": "Mixed", "funding_ministry": null, @@ -50477,11 +52596,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -50585,11 +52707,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -50689,11 +52814,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -50801,11 +52929,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -50898,11 +53029,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -51003,11 +53137,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -51103,11 +53240,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -51195,11 +53335,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -51292,11 +53435,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -51397,11 +53543,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -51502,11 +53651,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -51602,11 +53754,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -51694,11 +53849,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -51791,11 +53949,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -51896,11 +54057,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -51996,11 +54160,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -52088,11 +54255,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -52185,11 +54355,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -52290,11 +54463,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -52395,11 +54571,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -52495,11 +54674,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -52587,11 +54769,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -52684,11 +54869,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -52789,11 +54977,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -52894,11 +55085,14 @@ "independence_risk_score": 1, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.06 + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 }, "structural_health_level": "healthy", - "structural_health_score": 0.82 + "structural_health_score": 0.85 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -52994,11 +55188,14 @@ "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.08, - "Independence risk contribution": 0.18 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -53087,11 +55284,14 @@ "independence_risk_score": 11, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.12, - "Independence risk contribution": 0.6 + "base_health_from_ir_dp": 0.52, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.13, + "independence_risk_penalty": 0.7, + "operational_status_modifier": 0.25 }, "structural_health_level": "critical", - "structural_health_score": 0.28 + "structural_health_score": 0.13 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_law_justice", @@ -53227,7 +55427,6 @@ "discretionary_power_score": 14, "independence_risk_breakdown": { "All complaint mechanisms are internal (no external body)": 1, - "Appointed directly by executive body": 3, "Complainant has no locus in the inquiry process": 1, "Complaint process is not public/transparent": 1, "Constitutional basis (harder to politicise) (deduction)": -2, @@ -53236,15 +55435,18 @@ "No publicly stated appointment criteria": 1, "Removal requires Parliamentary process (deduction)": -1 }, - "independence_risk_level": "high", - "independence_risk_score": 6, + "independence_risk_level": "moderate", + "independence_risk_score": 3, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.4, - "Independence risk contribution": 0.36 + "base_health_from_ir_dp": 0.54, + "discretionary_power_penalty": 0.7, + "final_structural_health": 0.54, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, - "structural_health_level": "critical", - "structural_health_score": 0.24 + "structural_health_level": "at_risk", + "structural_health_score": 0.54 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_of_finance", @@ -53369,13 +55571,13 @@ "clog_severity": "high" }, "judge_strength": { - "data_as_of": "2024-12-01", + "data_as_of": "2025-12-24", "allotted": 34, - "appointed": 34, - "vacancy_count": 0, - "source_type": "AnnualReport", - "source_url": "https://main.sci.gov.in/", - "notes": "Allotted = sanctioned strength of puisne judges + CJI (34); appointed = working strength per SC annual report." + "appointed": 33, + "vacancy_count": 1, + "source_type": "DoJ_Report", + "source_url": "https://cdnbbsr.s3waas.gov.in/s35d6646aad9bcc0be55b2c82f69750387/uploads/2025/12/202512241943014515.pdf", + "notes": "Sanctioned/working/vacancy from row A; no Pmt/Addl split shown for SC" }, "parent_hc": null }, @@ -53426,11 +55628,14 @@ "independence_risk_score": 4, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.16, - "Independence risk contribution": 0.24 + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.6 + "structural_health_score": 0.76 }, "funding_source": "Ministry_Budget", "funding_ministry": "department_of_justice", @@ -53591,11 +55796,14 @@ "independence_risk_score": 10, "scores_validated": false, "structural_health_breakdown": { - "Discretionary power contribution": 0.24, - "Independence risk contribution": 0.6 + "base_health_from_ir_dp": 0.44, + "discretionary_power_penalty": 0.35, + "final_structural_health": 0.44, + "independence_risk_penalty": 0.7, + "operational_status_modifier": 1.0 }, - "structural_health_level": "critical", - "structural_health_score": 0.16 + "structural_health_level": "at_risk", + "structural_health_score": 0.44 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_personnel_dopt", @@ -65293,6 +67501,1461 @@ "accessed_date": "2026-05-13" } ] + }, + { + "id": "inferred_appellate_an_district_courts_generic", + "source": "an_district_courts_generic", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ap_district_courts_generic", + "source": "ap_district_courts_generic", + "target": "hc_andhra_pradesh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ar_district_courts_generic", + "source": "ar_district_courts_generic", + "target": "hc_gauhati", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_as_district_courts_generic", + "source": "as_district_courts_generic", + "target": "hc_gauhati", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_br_district_courts_generic", + "source": "br_district_courts_generic", + "target": "hc_patna", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_cg_district_courts_generic", + "source": "cg_district_courts_generic", + "target": "hc_chhattisgarh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ch_district_courts_generic", + "source": "ch_district_courts_generic", + "target": "hc_punjab_haryana", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_court_dwarka", + "source": "dl_district_court_dwarka", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_court_karkardooma", + "source": "dl_district_court_karkardooma", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_court_patiala_house", + "source": "dl_district_court_patiala_house", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_court_rohini", + "source": "dl_district_court_rohini", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_court_tis_hazari", + "source": "dl_district_court_tis_hazari", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_courts_generic", + "source": "dl_district_courts_generic", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_special_courts", + "source": "dl_special_courts", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ga_district_courts_generic", + "source": "ga_district_courts_generic", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_gj_district_courts_generic", + "source": "gj_district_courts_generic", + "target": "hc_gujarat", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_hp_district_courts_generic", + "source": "hp_district_courts_generic", + "target": "hc_himachal_pradesh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_hr_district_courts_generic", + "source": "hr_district_courts_generic", + "target": "hc_punjab_haryana", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_jh_district_courts_generic", + "source": "jh_district_courts_generic", + "target": "hc_jharkhand", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_jk_district_courts_generic", + "source": "jk_district_courts_generic", + "target": "hc_jammu_kashmir_ladakh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_bagalkot", + "source": "ka_district_court_bagalkot", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_ballari", + "source": "ka_district_court_ballari", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_bengaluru_rural", + "source": "ka_district_court_bengaluru_rural", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_bidar", + "source": "ka_district_court_bidar", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_chamarajanagar", + "source": "ka_district_court_chamarajanagar", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_chikkaballapur", + "source": "ka_district_court_chikkaballapur", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_chikkamagaluru", + "source": "ka_district_court_chikkamagaluru", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_chitradurga", + "source": "ka_district_court_chitradurga", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_davangere", + "source": "ka_district_court_davangere", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_gadag", + "source": "ka_district_court_gadag", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_hassan", + "source": "ka_district_court_hassan", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_haveri", + "source": "ka_district_court_haveri", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_kalaburagi", + "source": "ka_district_court_kalaburagi", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_kodagu", + "source": "ka_district_court_kodagu", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_kolar", + "source": "ka_district_court_kolar", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_mandya", + "source": "ka_district_court_mandya", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_mangaluru", + "source": "ka_district_court_mangaluru", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_mysuru", + "source": "ka_district_court_mysuru", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_raichur", + "source": "ka_district_court_raichur", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_ramanagara", + "source": "ka_district_court_ramanagara", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_shivamogga", + "source": "ka_district_court_shivamogga", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_tumkuru", + "source": "ka_district_court_tumkuru", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_udupi", + "source": "ka_district_court_udupi", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_uttara_kannada", + "source": "ka_district_court_uttara_kannada", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_vijayapura", + "source": "ka_district_court_vijayapura", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_yadgir", + "source": "ka_district_court_yadgir", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_courts_generic", + "source": "ka_district_courts_generic", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_special_courts", + "source": "ka_special_courts", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_kl_district_courts_generic", + "source": "kl_district_courts_generic", + "target": "hc_kerala", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_la_district_courts_generic", + "source": "la_district_courts_generic", + "target": "hc_jammu_kashmir_ladakh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ld_district_courts_generic", + "source": "ld_district_courts_generic", + "target": "hc_kerala", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_ahmednagar", + "source": "mh_district_court_ahmednagar", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_akola", + "source": "mh_district_court_akola", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_beed", + "source": "mh_district_court_beed", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_bhandara", + "source": "mh_district_court_bhandara", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_buldhana", + "source": "mh_district_court_buldhana", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_chandrapur", + "source": "mh_district_court_chandrapur", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_dhule", + "source": "mh_district_court_dhule", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_gadchiroli", + "source": "mh_district_court_gadchiroli", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_gondia", + "source": "mh_district_court_gondia", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_hingoli", + "source": "mh_district_court_hingoli", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_jalgaon", + "source": "mh_district_court_jalgaon", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_jalna", + "source": "mh_district_court_jalna", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_kolhapur", + "source": "mh_district_court_kolhapur", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_latur", + "source": "mh_district_court_latur", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_mumbai_suburban", + "source": "mh_district_court_mumbai_suburban", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_nandurbar", + "source": "mh_district_court_nandurbar", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_osmanabad", + "source": "mh_district_court_osmanabad", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_palghar", + "source": "mh_district_court_palghar", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_parbhani", + "source": "mh_district_court_parbhani", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_pune", + "source": "mh_district_court_pune", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_raigad", + "source": "mh_district_court_raigad", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_ratnagiri", + "source": "mh_district_court_ratnagiri", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_sangli", + "source": "mh_district_court_sangli", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_satara", + "source": "mh_district_court_satara", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_sindhudurg", + "source": "mh_district_court_sindhudurg", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_thane", + "source": "mh_district_court_thane", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_wardha", + "source": "mh_district_court_wardha", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_washim", + "source": "mh_district_court_washim", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_yavatmal", + "source": "mh_district_court_yavatmal", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_courts_generic", + "source": "mh_district_courts_generic", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_special_courts", + "source": "mh_special_courts", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ml_district_courts_generic", + "source": "ml_district_courts_generic", + "target": "hc_meghalaya", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mn_district_courts_generic", + "source": "mn_district_courts_generic", + "target": "hc_manipur", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mp_district_courts_generic", + "source": "mp_district_courts_generic", + "target": "hc_madhya_pradesh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mz_district_courts_generic", + "source": "mz_district_courts_generic", + "target": "hc_gauhati", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_nl_district_courts_generic", + "source": "nl_district_courts_generic", + "target": "hc_gauhati", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_od_district_courts_generic", + "source": "od_district_courts_generic", + "target": "hc_orissa", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_pb_district_courts_generic", + "source": "pb_district_courts_generic", + "target": "hc_punjab_haryana", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_rj_district_courts_generic", + "source": "rj_district_courts_generic", + "target": "hc_rajasthan", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_sk_district_courts_generic", + "source": "sk_district_courts_generic", + "target": "hc_sikkim", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_tn_special_courts", + "source": "tn_special_courts", + "target": "hc_madras", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_tr_district_courts_generic", + "source": "tr_district_courts_generic", + "target": "hc_tripura", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ts_district_courts_generic", + "source": "ts_district_courts_generic", + "target": "hc_telangana", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_uk_district_courts_generic", + "source": "uk_district_courts_generic", + "target": "hc_uttarakhand", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_up_district_courts_generic", + "source": "up_district_courts_generic", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_wb_district_courts_generic", + "source": "wb_district_courts_generic", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] } ], "browse_index": { diff --git a/jem/scripts/build.py b/jem/scripts/build.py index 335b95f..0ccd866 100644 --- a/jem/scripts/build.py +++ b/jem/scripts/build.py @@ -556,6 +556,74 @@ def build_graph_json(data_dir: Path, output_path: Path, no_derive: bool = False) } frontend_relationships.append(fr) + # ── Step 10b: Backfill missing District Court → High Court edges ───────── + # 184 subordinate-court entities exist; ~half lack an explicit AppealableTo + # relationship in the YAML. Infer the parent HC from the state-code prefix + # in the entity id so the graph is structurally complete. These are tagged + # data_quality: "inferred" so they're visually distinct from curated edges. + STATE_CODE_TO_HC = { + "an": "hc_calcutta", "ap": "hc_andhra_pradesh", "ar": "hc_gauhati", + "as": "hc_gauhati", "br": "hc_patna", "ch": "hc_punjab_haryana", + "cg": "hc_chhattisgarh", "dd": "hc_bombay", "dl": "hc_delhi", + "ga": "hc_bombay", "gj": "hc_gujarat", "hr": "hc_punjab_haryana", + "hp": "hc_himachal_pradesh", "jk": "hc_jammu_kashmir_ladakh", + "jh": "hc_jharkhand", "ka": "hc_karnataka", "kl": "hc_kerala", + "la": "hc_jammu_kashmir_ladakh", "ld": "hc_kerala", + "mp": "hc_madhya_pradesh", "mh": "hc_bombay", "mn": "hc_manipur", + "ml": "hc_meghalaya", "mz": "hc_gauhati", "nl": "hc_gauhati", + "or": "hc_orissa", "od": "hc_orissa", "py": "hc_madras", + "pb": "hc_punjab_haryana", "rj": "hc_rajasthan", "sk": "hc_sikkim", + "tn": "hc_madras", "tg": "hc_telangana", "ts": "hc_telangana", + "tr": "hc_tripura", + "up": "hc_allahabad", "uk": "hc_uttarakhand", "wb": "hc_calcutta", + } + SUBORDINATE_TYPES = { + "SubordinateCivilCourt", "SubordinateCriminalCourt", "CityCivilCourt", + "SpecialCourt", "FastTrackCourt", "FamilyCourt", "CommercialCourt", + "RevenueCourt", + } + entity_ids = {e["id"] for e in frontend_entities} + has_appellate_parent = set() + for r in frontend_relationships: + if r.get("relationship_category") == "appellate_chain": + has_appellate_parent.add(r["source"]) + + inferred = 0 + for e in frontend_entities: + if e.get("type") not in SUBORDINATE_TYPES: + continue + eid = e["id"] + if eid in has_appellate_parent: + continue + # Use jurisdiction_scope.states_covered first; fall back to id prefix. + scope = (e.get("_detail") or {}).get("jurisdiction_scope") or {} + states = scope.get("states_covered") or [] + target_hc = None + if states: + target_hc = STATE_CODE_TO_HC.get(states[0].lower()) + if not target_hc: + prefix = eid.split("_", 1)[0].lower() + target_hc = STATE_CODE_TO_HC.get(prefix) + if not target_hc or target_hc not in entity_ids: + continue + frontend_relationships.append({ + "id": f"inferred_appellate_{eid}", + "source": eid, + "target": target_hc, + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": True, + "is_constitutional": False, + "year_established": None, + "year_abolished": None, + "data_quality": "inferred", + "contested_note": None, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [], + }) + inferred += 1 + print(f" Backfilled {inferred} District Court → HC edges (data_quality=inferred)") + print("\nStep 11: Building browse index...") browse_index = compute_browse_index(frontend_entities) diff --git a/jem/scripts/derive.py b/jem/scripts/derive.py index 48340bd..b21d0f6 100644 --- a/jem/scripts/derive.py +++ b/jem/scripts/derive.py @@ -67,45 +67,6 @@ def excluded_score_result() -> Tuple[int, Dict[str, int]]: return 0, {GOVERNANCE_EXCLUDED_MESSAGE: 0} -# ── Structural Health (master composite) ────────────────────────────────────── -# Composite of independence_risk + discretionary_power on a 0.0–1.0 scale. -# 1.0 = structurally healthy; 0.0 = structurally critical. -# Weights chosen so IR (the stronger structural signal) dominates; tune here. -IR_WEIGHT = 0.6 -DP_WEIGHT = 0.4 -IR_NORM_DIVISOR = 10.0 # IR ranges 0–10+; clamp at 10 -DP_NORM_DIVISOR = 10.0 # DP ranges 0–10+; clamp at 10 - - -def compute_structural_health( - ir_score: int, dp_score: int, entity: Dict[str, Any] -) -> Tuple[Optional[float], Optional[str], Optional[Dict[str, float]]]: - """Composite health from IR + DP. Returns (score, level, breakdown) or - (None, None, None) for governance officeholders (no IR/DP basis).""" - if is_governance_scores_excluded(entity): - return None, None, None - - ir_norm = min(ir_score / IR_NORM_DIVISOR, 1.0) - dp_norm = min(dp_score / DP_NORM_DIVISOR, 1.0) - risk = IR_WEIGHT * ir_norm + DP_WEIGHT * dp_norm - health = round(1.0 - risk, 3) - - if health < 0.3: - level = "critical" - elif health < 0.6: - level = "at_risk" - elif health < 0.8: - level = "watch" - else: - level = "healthy" - - breakdown = { - "Independence risk contribution": round(ir_norm * IR_WEIGHT, 3), - "Discretionary power contribution": round(dp_norm * DP_WEIGHT, 3), - } - return health, level, breakdown - - # ── Independence Risk Formula ───────────────────────────────────────────────── # # Higher score = higher structural independence risk. @@ -335,14 +296,14 @@ def op_modifier(status: str) -> float: base_health = 1.0 - (0.6 * p_ir + 0.4 * p_dp) final_health = max(0.0, min(1.0, base_health * op_modifier(op_status))) - # Rank into the exact buckets expected by the frontend. - # (renderer.js uses STRUCTURAL_HEALTH_RANK with these keys) + # Rank into the exact buckets the frontend filters on + # (state.js: structuralHealthBand + HEALTH_COLORS keys). if final_health <= 0.3: lvl = 'critical' elif final_health <= 0.6: - lvl = 'concerning' + lvl = 'at_risk' elif final_health <= 0.8: - lvl = 'moderate' + lvl = 'watch' else: lvl = 'healthy' @@ -465,7 +426,7 @@ def derive_scores_for_all(data_dir: Path) -> Dict[str, Dict]: ir_score, ir_breakdown = compute_independence_risk(entity) dp_score, dp_breakdown = compute_discretionary_power(entity) health_score, health_level, health_breakdown = compute_structural_health( - ir_score, dp_score, entity + entity, ir_score, dp_score ) results[entity_id] = { @@ -514,7 +475,7 @@ def explain_entity(entity_id: str, data_dir: Path): if entity and entity.get("id") == entity_id: ir_score, ir_bd = compute_independence_risk(entity) dp_score, dp_bd = compute_discretionary_power(entity) - h_score, h_level, h_bd = compute_structural_health(ir_score, dp_score, entity) + h_score, h_level, h_bd = compute_structural_health(entity, ir_score, dp_score) print(f"\n{'='*60}") print(f"Score Explanation: {entity.get('name', entity_id)}") From 2f6debd626b165cc321ed7df3c27d47c4db2f091 Mon Sep 17 00:00:00 2001 From: Prajna1999 Date: Mon, 15 Jun 2026 23:14:55 +0530 Subject: [PATCH 3/3] yolo changes --- graph.json | 4420 +++++++++++++++++++++++++----- jem/web/src/detailView.js | 230 +- jem/web/src/entityConnections.js | 116 + jem/web/src/main.js | 81 +- jem/web/src/panel.js | 23 +- jem/web/src/summaryView.js | 1080 +++++++- jem/web/styles/main.css | 1188 +++++++- 7 files changed, 6314 insertions(+), 824 deletions(-) diff --git a/graph.json b/graph.json index e8b1ddc..9579258 100644 --- a/graph.json +++ b/graph.json @@ -1,9 +1,9 @@ { "meta": { "version": "1.0.0", - "generated_at": "2026-06-02T06:53:25.173883+00:00", - "entity_count": 506, - "relationship_count": 525, + "generated_at": "2026-06-15T03:40:23.585989+00:00", + "entity_count": 668, + "relationship_count": 848, "canvas_width": 1800, "canvas_height": 1200, "year_range": [ @@ -12,11 +12,11 @@ ] }, "impact_metrics": { - "high_independence_risk_count": 43, - "appointer_equals_funder_removal_count": 0, - "no_public_appointment_criteria_count": 42, - "not_constituted_count": 3, - "no_external_complaint_mechanism_count": 505 + "high_independence_risk_count": 144, + "appointer_equals_funder_removal_count": 1, + "no_public_appointment_criteria_count": 60, + "not_constituted_count": 5, + "no_external_complaint_mechanism_count": 663 }, "timeline_events": [ { @@ -392,7 +392,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", @@ -531,7 +531,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.53 }, "funding_source": "Consolidated_Fund_India", @@ -665,8 +665,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.36 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_defence", @@ -821,7 +821,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -974,7 +974,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -1130,7 +1130,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -1283,7 +1283,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -1430,7 +1430,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -1571,7 +1571,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -1720,7 +1720,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -1874,7 +1874,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -2026,7 +2026,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -2174,7 +2174,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -2332,7 +2332,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "Consolidated_Fund_India", @@ -2652,8 +2652,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_of_power", @@ -2776,7 +2776,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "State_Consolidated_Fund", @@ -2942,7 +2942,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", @@ -3079,8 +3079,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.56 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -3173,8 +3173,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_personnel_dopt", @@ -3542,7 +3542,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.32 + "structural_health_score": 0.53 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_corporate_affairs", @@ -3769,7 +3769,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": null, @@ -3898,8 +3898,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_of_finance", @@ -4044,7 +4044,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -4200,7 +4200,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -4357,7 +4357,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -4520,7 +4520,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -4684,7 +4684,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -4841,7 +4841,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -5011,7 +5011,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -5181,7 +5181,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -5347,7 +5347,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -5498,7 +5498,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -5648,7 +5648,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -5787,7 +5787,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Consolidated_Fund_India", @@ -5922,7 +5922,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Consolidated_Fund_India", @@ -6052,7 +6052,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Consolidated_Fund_India", @@ -6187,7 +6187,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Consolidated_Fund_India", @@ -6390,7 +6390,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "Consolidated_Fund_India", @@ -6665,7 +6665,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -6753,8 +6753,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "critical", - "structural_health_score": 0.24 + "structural_health_level": "at_risk", + "structural_health_score": 0.45 }, "funding_source": null, "funding_ministry": null, @@ -6967,7 +6967,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "Consolidated_Fund_India", @@ -7067,7 +7067,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.68 }, "funding_source": "Consolidated_Fund_India", @@ -7204,7 +7204,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "Consolidated_Fund_India", @@ -7465,7 +7465,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.64 + "structural_health_score": 0.76 }, "funding_source": "Mixed", "funding_ministry": null, @@ -7598,8 +7598,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.52 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -7687,7 +7687,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.68 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -7806,7 +7806,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.3 + "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_of_finance", @@ -7951,7 +7951,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", @@ -8084,7 +8084,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", @@ -8221,7 +8221,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", @@ -8358,7 +8358,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", @@ -8503,7 +8503,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", @@ -8623,7 +8623,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.68 }, "funding_source": "Ministry_Budget", @@ -8750,7 +8750,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.3 + "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_of_finance", @@ -8910,7 +8910,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -9062,7 +9062,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -9208,7 +9208,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -9357,7 +9357,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -9521,7 +9521,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -9694,7 +9694,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -9842,7 +9842,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -9987,7 +9987,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -10138,7 +10138,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -10297,7 +10297,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -10450,7 +10450,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -10606,7 +10606,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -10773,7 +10773,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -10944,7 +10944,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -11098,7 +11098,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -11248,7 +11248,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -11388,7 +11388,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -11528,7 +11528,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -11680,7 +11680,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -11828,7 +11828,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -11968,7 +11968,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -12113,7 +12113,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -12258,7 +12258,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -12398,7 +12398,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -12546,7 +12546,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -12682,7 +12682,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "Consolidated_Fund_India", @@ -12783,7 +12783,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "Consolidated_Fund_India", @@ -12892,7 +12892,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Consolidated_Fund_India", @@ -13148,7 +13148,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.44 }, "funding_source": "State_Consolidated_Fund", @@ -13282,7 +13282,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.53 }, "funding_source": "Consolidated_Fund_India", @@ -13412,7 +13412,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": null, @@ -13862,8 +13862,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.56 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -13950,7 +13950,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.36 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -14046,7 +14046,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", @@ -14184,8 +14184,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Statutory_Fund", "funding_ministry": "ministry_law_justice", @@ -14312,8 +14312,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.56 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -14398,7 +14398,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "Mixed", @@ -14667,7 +14667,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": "Statutory_Fund", "funding_ministry": "ministry_of_finance", @@ -14804,8 +14804,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_of_finance", @@ -14945,7 +14945,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -15073,7 +15073,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -15201,7 +15201,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -15329,7 +15329,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -15457,7 +15457,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -15585,7 +15585,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -15716,7 +15716,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -15847,7 +15847,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -15975,7 +15975,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -16103,7 +16103,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -16234,7 +16234,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -16365,7 +16365,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -16493,7 +16493,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -16621,7 +16621,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -16749,7 +16749,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -16877,7 +16877,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -17005,7 +17005,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -17133,7 +17133,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -17261,7 +17261,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -17389,7 +17389,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -17517,7 +17517,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -17645,7 +17645,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -17773,7 +17773,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -17903,7 +17903,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -18033,7 +18033,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", @@ -18286,7 +18286,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.68 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -18562,7 +18562,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.62 + "structural_health_score": 0.76 }, "funding_source": "Mixed", "funding_ministry": null, @@ -18684,7 +18684,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "Party_Fees", "funding_ministry": null, @@ -18819,7 +18819,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.68 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -20272,8 +20272,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.46 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_law_justice", @@ -20395,8 +20395,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.56 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -20578,8 +20578,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.46 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_consumer_affairs", @@ -20719,8 +20719,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.36 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_corporate_affairs", @@ -20871,8 +20871,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_corporate_affairs", @@ -21013,8 +21013,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_environment", @@ -21147,7 +21147,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_law_justice", @@ -21274,7 +21274,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "Consolidated_Fund_India", @@ -21375,7 +21375,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "Consolidated_Fund_India", @@ -21559,7 +21559,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Consolidated_Fund_India", @@ -21701,7 +21701,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.32 + "structural_health_score": 0.53 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_of_finance", @@ -21913,7 +21913,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.53 }, "funding_source": "Consolidated_Fund_India", @@ -22137,7 +22137,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.3 + "structural_health_score": 0.52 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_railways", @@ -22270,7 +22270,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -22358,7 +22358,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -22447,8 +22447,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.42 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_of_finance", @@ -22589,7 +22589,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": "Statutory_Fund", "funding_ministry": "ministry_of_finance", @@ -22725,7 +22725,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -22825,7 +22825,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -22913,7 +22913,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.44 + "structural_health_score": 0.53 }, "funding_source": null, "funding_ministry": null, @@ -22995,7 +22995,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "Consolidated_Fund_India", @@ -23165,7 +23165,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -23287,7 +23287,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.53 }, "funding_source": "State_Consolidated_Fund", @@ -23427,7 +23427,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "State_Consolidated_Fund", @@ -23542,7 +23542,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "State_Consolidated_Fund", @@ -23696,7 +23696,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "State_Consolidated_Fund", @@ -23787,7 +23787,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "State_Consolidated_Fund", @@ -23897,7 +23897,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "Consolidated_Fund_India", @@ -23988,8 +23988,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.56 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -24071,7 +24071,7 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.61 }, "funding_source": "State_Consolidated_Fund", @@ -24188,7 +24188,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "State_Consolidated_Fund", @@ -24352,8 +24352,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.52 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": null, "funding_ministry": null, @@ -24441,8 +24441,8 @@ "independence_risk_penalty": 0.55, "operational_status_modifier": 1.0 }, - "structural_health_level": "at_risk", - "structural_health_score": 0.36 + "structural_health_level": "watch", + "structural_health_score": 0.61 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_communications", @@ -24581,7 +24581,7 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "concerning", + "structural_health_level": "at_risk", "structural_health_score": 0.52 }, "funding_source": "Consolidated_Fund_India", @@ -24710,7 +24710,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.32 + "structural_health_score": 0.53 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_communications", @@ -27488,7 +27488,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Lucknow; parent hc_allahabad. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Lucknow; parent hc_allahabad. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -27519,7 +27520,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27666,7 +27667,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Aurangabad; parent hc_bombay. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Aurangabad; parent hc_bombay. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -27697,7 +27699,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -27848,7 +27850,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Nagpur; parent hc_bombay. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Nagpur; parent hc_bombay. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -27879,7 +27882,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28030,7 +28033,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Panaji; parent hc_bombay. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Panaji; parent hc_bombay. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -28061,7 +28065,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28210,7 +28214,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Jalpaiguri; parent hc_calcutta. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Jalpaiguri; parent hc_calcutta. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG. VOLUNTEER_TODO: Add bench-wise appointed judge count from the official roster/posting orders (not just the CJ-and-Judges list). Suggested starting point: https://www.calcuttahighcourt.gov.in/Notices/roster. Submit via GitHub issue with TSV row (entity_id, roster_as_of, appointed, source_url).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -28241,7 +28246,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28386,7 +28391,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Port Blair; parent hc_calcutta. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Port Blair; parent hc_calcutta. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG. VOLUNTEER_TODO: Add bench-wise appointed judge count from the official roster/posting orders (Port Blair circuit/bench), not the general CJ-and-Judges list. Suggested starting point: https://www.calcuttahighcourt.gov.in/Notices/roster. Submit via GitHub issue with TSV row (entity_id, roster_as_of, appointed, source_url).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -28417,7 +28423,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28563,7 +28569,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Aizawl; parent hc_gauhati. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Aizawl; parent hc_gauhati. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -28594,7 +28601,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28743,7 +28750,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Itanagar; parent hc_gauhati. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Itanagar; parent hc_gauhati. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -28774,7 +28782,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -28923,7 +28931,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Kohima; parent hc_gauhati. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Kohima; parent hc_gauhati. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -28954,7 +28963,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29100,7 +29109,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Dharwad; parent hc_karnataka. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Dharwad; parent hc_karnataka. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG. VOLUNTEER_TODO: Add bench-wise appointed judge count from the official Karnataka HC site (bench roster / sitting arrangement for Dharwad Bench). Starting point: https://judiciary.karnataka.gov.in/. Submit via GitHub issue with TSV row (entity_id, roster_as_of, appointed, source_url).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -29131,7 +29141,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29272,7 +29282,8 @@ "constitutional_basis": "Constitution of India, Article 214", "statutory_basis": "Madras High Court (Establishment of a Permanent Bench at Madurai) Order, 2004, issued under States Re-organisation Act, 1956, s.51(2); notified 06.07.2004, brought into force 24.07.2004. Inaugurated 24 Jul 2004 by CJI R.C. Lahoti, presided by CJ B. Subashan Reddy. Original jurisdiction: 14 districts (Nagapattinam and Perambalur restored to principal seat by Madras HC Permanent Bench Madurai Amendment Order, 2009).", "data_quality": "verified", - "data_quality_notes": "Stub year 1948 referred to pre-independence circuit sittings — corrected to 2004 (permanent bench). Presidential Order notified 06 Jul 2004; bench operational from 24 Jul 2004. allotted null by design (parent HC pool).", + "data_quality_notes": "Stub year 1948 referred to pre-independence circuit sittings — corrected to 2004 (permanent bench). Presidential Order notified 06 Jul 2004; bench operational from 24 Jul 2004. allotted null by design (parent HC pool). complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -29303,7 +29314,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29456,7 +29467,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Shimla; parent hc_punjab_haryana. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Shimla; parent hc_punjab_haryana. Populate complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). judge_strength and case_volume from HC website / DoJ / NJDG. VOLUNTEER_TODO: ENTITY ANOMALY — Punjab & Haryana High Court does not have a Shimla bench (Shimla is seat of Himachal Pradesh High Court). Needs maintainer review (likely delete/replace/retag). Please open GitHub issue tagging co-maintainer Prajna with sources from official HC sites.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -29487,7 +29499,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29631,7 +29643,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Permanent bench at Jaipur; parent hc_rajasthan. Populate judge_strength and case_volume from HC website / DoJ / NJDG.", + "data_quality_notes": "Permanent bench at Jaipur; parent hc_rajasthan. Populate judge_strength complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges). and case_volume from HC website / DoJ / NJDG. VOLUNTEER_TODO: Add Jaipur bench-wise appointed judge count from official roster/judges page (may be image-PDF). Starting point: https://hcraj.nic.in/hcraj/. Submit via GitHub issue with TSV row (entity_id, roster_as_of, appointed, source_url).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type HighCourtBench": 4, @@ -29662,7 +29675,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29803,7 +29816,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -29834,7 +29848,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -29996,7 +30010,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -30027,7 +30042,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30191,7 +30206,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -30222,7 +30238,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30388,7 +30404,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -30419,7 +30436,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30581,7 +30598,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -30612,7 +30630,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30772,7 +30790,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -30803,7 +30822,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -30966,7 +30985,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).\nP1-G NE quality pass Jun 2026: DoJ HC listing source added.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -30997,7 +31017,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31166,7 +31186,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -31197,7 +31218,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31357,7 +31378,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -31388,7 +31410,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31550,7 +31572,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -31581,7 +31604,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31743,7 +31766,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -31774,7 +31798,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -31934,7 +31958,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -31965,7 +31990,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32127,7 +32152,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -32158,7 +32184,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32320,7 +32346,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -32351,7 +32378,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32513,7 +32540,8 @@ "constitutional_basis": "Constitution of India, Article 214", "statutory_basis": "High Courts Act 1861; Letters Patent 1865 (Madras)", "data_quality": "partial", - "data_quality_notes": "statutory_basis added (Letters Patent 1865 + High Courts Act 1861). judge_strength block structured; allotted/appointed null pending DoJ/NJDG lookup. funding.ministry_responsible null — HC funded from State Consolidated Fund; no single ministry entity applicable.\n NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -32544,7 +32572,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32718,7 +32746,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).\nP1-G NE quality pass Jun 2026: DoJ HC listing source added.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -32749,7 +32778,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -32915,7 +32944,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).\nP1-G NE quality pass Jun 2026: DoJ HC listing source added.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -32946,7 +32976,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33112,7 +33142,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -33143,7 +33174,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33303,7 +33334,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -33334,7 +33366,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33497,7 +33529,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -33528,7 +33561,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33691,7 +33724,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -33722,7 +33756,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -33882,7 +33916,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).\nP1-G NE quality pass Jun 2026: DoJ HC listing source added.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -33913,7 +33948,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34079,7 +34114,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -34110,7 +34146,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34270,7 +34306,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).\nP1-G NE quality pass Jun 2026: DoJ HC listing source added.", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -34301,7 +34338,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34467,7 +34504,8 @@ "constitutional_basis": "Constitution of India, Chapter VI — High Courts in the States", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged", + "data_quality_notes": "Pending NJDG-backed pendency and judge_strength fields per bench. NJDG snapshot case_volume merged complaint_mechanism populated from SC In-House Procedure 1999 and SC Stay Order Feb 2025 (suo moto). criminal_prosecution.requires_sanction_from set to governor_state per Veeraswami (1991) for HC judges. lokpal_jurisdiction No per operative Feb 2025 stay; revisit if SC decides finally. audit.conduct_oversight_body set to in_house_procedure_sc (same procedure governs HC judges).", + "unverified_fields": [], "derived": { "discretionary_power_breakdown": { "Base discretionary power for type ConstitutionalCourt": 4, @@ -34498,7 +34536,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "at_risk", - "structural_health_score": 0.4 + "structural_health_score": 0.6 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34678,7 +34716,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34779,7 +34817,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34880,7 +34918,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -34981,7 +35019,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35082,7 +35120,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35183,7 +35221,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35284,7 +35322,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35385,7 +35423,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35486,7 +35524,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35587,7 +35625,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35688,7 +35726,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35789,7 +35827,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35890,7 +35928,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -35991,7 +36029,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36092,7 +36130,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36193,7 +36231,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36294,7 +36332,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36395,7 +36433,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36496,7 +36534,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36597,7 +36635,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36698,7 +36736,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36799,7 +36837,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -36900,7 +36938,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37001,7 +37039,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37102,7 +37140,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37203,7 +37241,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37304,7 +37342,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37405,7 +37443,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37506,7 +37544,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37607,7 +37645,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37708,7 +37746,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37809,7 +37847,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -37910,7 +37948,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38011,7 +38049,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38112,7 +38150,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38213,7 +38251,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38314,7 +38352,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38415,7 +38453,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38516,7 +38554,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38617,7 +38655,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38718,7 +38756,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38819,7 +38857,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -38920,7 +38958,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39021,7 +39059,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39122,7 +39160,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39223,7 +39261,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39324,7 +39362,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39425,7 +39463,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39526,7 +39564,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39627,7 +39665,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39728,7 +39766,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39829,7 +39867,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -39930,7 +39968,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40031,7 +40069,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40132,7 +40170,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40233,7 +40271,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40334,7 +40372,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40435,7 +40473,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40536,7 +40574,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40637,7 +40675,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -40738,7 +40776,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41056,7 +41094,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41153,7 +41191,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41580,7 +41618,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41677,7 +41715,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -41994,7 +42032,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42091,7 +42129,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42518,7 +42556,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -42615,7 +42653,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43042,7 +43080,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43139,7 +43177,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43456,7 +43494,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43553,7 +43591,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43870,7 +43908,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -43967,7 +44005,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44069,7 +44107,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44297,7 +44335,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44391,7 +44429,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44485,7 +44523,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44579,7 +44617,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44673,7 +44711,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -44767,7 +44805,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -45931,7 +45969,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46037,7 +46075,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46140,7 +46178,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46367,7 +46405,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46697,7 +46735,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -46794,7 +46832,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47221,7 +47259,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47318,7 +47356,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47635,7 +47673,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -47732,7 +47770,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48049,7 +48087,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48146,7 +48184,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48463,7 +48501,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48560,7 +48598,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48877,7 +48915,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -48974,7 +49012,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49291,7 +49329,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49397,7 +49435,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49491,7 +49529,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -49585,7 +49623,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -53295,7 +53333,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -53409,7 +53447,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -53512,7 +53550,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -53739,7 +53777,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -53854,7 +53892,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -54202,7 +54240,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -54299,7 +54337,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -54616,7 +54654,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -54713,7 +54751,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -55030,7 +55068,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -55127,7 +55165,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -55356,7 +55394,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -55581,7 +55619,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "Party_Fees", "funding_ministry": null, @@ -55681,7 +55719,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -55775,7 +55813,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -55881,7 +55919,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -55987,7 +56025,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -60531,7 +60569,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -60645,7 +60683,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -60748,7 +60786,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -60975,7 +61013,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -61305,7 +61343,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -61402,7 +61440,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -61719,7 +61757,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -61816,7 +61854,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -62243,7 +62281,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -62340,7 +62378,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -62657,7 +62695,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -62754,7 +62792,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -63071,7 +63109,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -63168,7 +63206,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -63485,7 +63523,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -63582,7 +63620,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -63899,7 +63937,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -63996,7 +64034,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -64187,7 +64225,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -64603,7 +64641,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -64795,7 +64833,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -65822,7 +65860,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -65916,7 +65954,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -66010,7 +66048,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -66105,7 +66143,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -66202,7 +66240,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -66519,7 +66557,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -66616,7 +66654,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -66810,7 +66848,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "Party_Fees", "funding_ministry": null, @@ -66910,7 +66948,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -71432,7 +71470,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -71538,7 +71576,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -71646,7 +71684,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.7 + "structural_health_score": 0.76 }, "funding_source": "Mixed", "funding_ministry": null, @@ -71895,7 +71933,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -72004,7 +72042,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.66 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -72121,7 +72159,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -72438,7 +72476,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -72535,7 +72573,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -72962,7 +73000,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -73059,7 +73097,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -73376,7 +73414,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -73473,7 +73511,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -73657,7 +73695,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -74890,7 +74928,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -74984,7 +75022,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -75078,7 +75116,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -75173,7 +75211,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -75270,191 +75308,6 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 - }, - "funding_source": "State_Consolidated_Fund", - "funding_ministry": null, - "audited_by": "cag_india", - "audit_report_public": true, - "complaint_external_exists": false, - "appointment_criteria_public": null, - "reappointment_possible": null, - "sources": [ - { - "label": "India Code — Constitution & Acts", - "url": "https://india-code.nic.in/", - "type": "GoIWebsite", - "accessed_date": "2026-05-13" - } - ], - "_detail": { - "appointment": null, - "funding": { - "primary_source": "State_Consolidated_Fund" - }, - "audit": { - "audited_by": "cag_india", - "audit_type": "CAG_Statutory", - "audit_report_public": true - }, - "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" - }, - "training": null, - "digital_infrastructure": null, - "structural_variations": [], - "unverified_fields": [], - "jurisdiction_scope": { - "states_covered": [ - "WB" - ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil" - ] - }, - "case_volume": null, - "judge_strength": null, - "parent_hc": null - }, - "position": { - "x": 426, - "y": 480 - } - }, - { - "id": "wb_advocate_general", - "name": "Advocate General — WB", - "aliases": [], - "jurisdiction_scope": { - "states_covered": [ - "WB" - ], - "is_all_india": false - }, - "name_hindi": null, - "abbreviation": null, - "type": "ExecutiveBody", - "cluster": "executive_interface", - "level_of_government": "State", - "created_year": 1961, - "abolished_year": null, - "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": "Constitution of India Article 165", - "data_quality": "partial", - "data_quality_notes": null, - "unverified_fields": [], - "derived": { - "discretionary_power_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 - }, - "discretionary_power_score": 0, - "independence_risk_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 - }, - "independence_risk_level": "low", - "independence_risk_score": 0, - "scores_validated": false, - "structural_health_breakdown": { - "Scores excluded: governance officeholder or administrative body": 0 - }, - "structural_health_level": null, - "structural_health_score": null - }, - "funding_source": "State_Consolidated_Fund", - "funding_ministry": null, - "audited_by": "cag_india", - "audit_report_public": true, - "complaint_external_exists": false, - "appointment_criteria_public": null, - "reappointment_possible": null, - "sources": [ - { - "label": "India Code — Constitution & Acts", - "url": "https://india-code.nic.in/", - "type": "GoIWebsite", - "accessed_date": "2026-06-12" - } - ], - "_detail": { - "appointment": null, - "funding": { - "primary_source": "State_Consolidated_Fund" - }, - "audit": { - "audited_by": "cag_india", - "audit_type": "CAG_Statutory", - "audit_report_public": true - }, - "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" - }, - "training": null, - "digital_infrastructure": null, - "structural_variations": [], - "unverified_fields": [], - "jurisdiction_scope": { - "states_covered": [ - "WB" - ], - "is_all_india": false - }, - "case_volume": null, - "judge_strength": null, - "parent_hc": null - }, - "position": { - "x": 831, - "y": 768 - } - }, - { - "id": "wb_bar_council", - "name": "Bar Council of WB", - "aliases": [], - "jurisdiction_scope": { - "states_covered": [ - "WB" - ], - "is_all_india": false - }, - "name_hindi": null, - "abbreviation": null, - "type": "ProfessionalBody", - "cluster": "training_professional", - "level_of_government": "State", - "created_year": 1961, - "abolished_year": null, - "operational_status": "Active", - "constitutional_basis": null, - "statutory_basis": "Advocates Act 1961", - "data_quality": "partial", - "data_quality_notes": null, - "unverified_fields": [], - "derived": { - "discretionary_power_breakdown": { - "Base discretionary power for type ProfessionalBody": 1, - "No universal mandatory timeline for all decisions": 1 - }, - "discretionary_power_score": 2, - "independence_risk_breakdown": { - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1 - }, - "independence_risk_level": "moderate", - "independence_risk_score": 3, - "scores_validated": false, - "structural_health_breakdown": { - "base_health_from_ir_dp": 0.76, - "discretionary_power_penalty": 0.15, - "final_structural_health": 0.76, - "independence_risk_penalty": 0.3, - "operational_status_modifier": 1.0 - }, - "structural_health_level": "moderate", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -75464,105 +75317,6 @@ "complaint_external_exists": false, "appointment_criteria_public": null, "reappointment_possible": null, - "sources": [ - { - "label": "India Code — Constitution & Acts", - "url": "https://india-code.nic.in/", - "type": "GoIWebsite", - "accessed_date": "2026-06-12" - } - ], - "_detail": { - "appointment": null, - "funding": { - "primary_source": "State_Consolidated_Fund" - }, - "audit": { - "audited_by": "cag_india", - "audit_type": "CAG_Statutory", - "audit_report_public": true - }, - "complaint_mechanism": { - "bias_complaint_to": [], - "lokpal_jurisdiction": "Not_Applicable" - }, - "training": null, - "digital_infrastructure": null, - "structural_variations": [], - "unverified_fields": [], - "jurisdiction_scope": { - "states_covered": [ - "WB" - ], - "is_all_india": false - }, - "case_volume": null, - "judge_strength": null, - "parent_hc": null - }, - "position": { - "x": 377, - "y": 1020 - } - }, - { - "id": "wb_district_court_asansol", - "name": "District Court — Asansol", - "aliases": [], - "jurisdiction_scope": { - "states_covered": [ - "WB" - ], - "is_all_india": false, - "jurisdiction_types": [ - "Civil", - "Criminal" - ] - }, - "name_hindi": null, - "abbreviation": null, - "type": "SubordinateCivilCourt", - "cluster": "subordinate_courts", - "level_of_government": "State", - "created_year": 1860, - "abolished_year": null, - "operational_status": "Active", - "constitutional_basis": "Constitution of India, Articles 233–237", - "statutory_basis": null, - "data_quality": "partial", - "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", - "unverified_fields": [], - "derived": { - "discretionary_power_breakdown": { - "Base discretionary power for type SubordinateCivilCourt": 2, - "No universal mandatory timeline for all decisions": 1 - }, - "discretionary_power_score": 3, - "independence_risk_breakdown": { - "Constitutional basis (harder to politicise) (deduction)": -2, - "No bias complaint mechanism exists": 2, - "No independent conduct oversight body": 1 - }, - "independence_risk_level": "low", - "independence_risk_score": 1, - "scores_validated": false, - "structural_health_breakdown": { - "base_health_from_ir_dp": 0.85, - "discretionary_power_penalty": 0.15, - "final_structural_health": 0.85, - "independence_risk_penalty": 0.15, - "operational_status_modifier": 1.0 - }, - "structural_health_level": "healthy", - "structural_health_score": 0.85 - }, - "funding_source": "State_Consolidated_Fund", - "funding_ministry": null, - "audited_by": "cag_india", - "audit_report_public": true, - "complaint_external_exists": false, - "appointment_criteria_public": null, - "reappointment_possible": null, "sources": [ { "label": "India Code — Constitution & Acts", @@ -75595,29 +75349,203 @@ ], "is_all_india": false, "jurisdiction_types": [ - "Civil", - "Criminal" + "Civil" ] }, "case_volume": null, - "judge_strength": { - "data_as_of": null, - "allotted": null, - "appointed": null, - "source_type": "DoJ_Report", - "source_url": "https://doj.gov.in/", - "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + "judge_strength": null, + "parent_hc": null + }, + "position": { + "x": 426, + "y": 480 + } + }, + { + "id": "wb_advocate_general", + "name": "Advocate General — WB", + "aliases": [], + "jurisdiction_scope": { + "states_covered": [ + "WB" + ], + "is_all_india": false + }, + "name_hindi": null, + "abbreviation": null, + "type": "ExecutiveBody", + "cluster": "executive_interface", + "level_of_government": "State", + "created_year": 1961, + "abolished_year": null, + "operational_status": "Active", + "constitutional_basis": null, + "statutory_basis": "Constitution of India Article 165", + "data_quality": "partial", + "data_quality_notes": null, + "unverified_fields": [], + "derived": { + "discretionary_power_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "discretionary_power_score": 0, + "independence_risk_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 + }, + "independence_risk_level": "low", + "independence_risk_score": 0, + "scores_validated": false, + "structural_health_breakdown": { + "Scores excluded: governance officeholder or administrative body": 0 }, + "structural_health_level": null, + "structural_health_score": null + }, + "funding_source": "State_Consolidated_Fund", + "funding_ministry": null, + "audited_by": "cag_india", + "audit_report_public": true, + "complaint_external_exists": false, + "appointment_criteria_public": null, + "reappointment_possible": null, + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ], + "_detail": { + "appointment": null, + "funding": { + "primary_source": "State_Consolidated_Fund" + }, + "audit": { + "audited_by": "cag_india", + "audit_type": "CAG_Statutory", + "audit_report_public": true + }, + "complaint_mechanism": { + "bias_complaint_to": [], + "lokpal_jurisdiction": "Not_Applicable" + }, + "training": null, + "digital_infrastructure": null, + "structural_variations": [], + "unverified_fields": [], + "jurisdiction_scope": { + "states_covered": [ + "WB" + ], + "is_all_india": false + }, + "case_volume": null, + "judge_strength": null, "parent_hc": null }, "position": { - "x": 414, - "y": 732 + "x": 831, + "y": 768 } }, { - "id": "wb_district_court_darjeeling", - "name": "District & Sessions Court — Darjeeling", + "id": "wb_bar_council", + "name": "Bar Council of WB", + "aliases": [], + "jurisdiction_scope": { + "states_covered": [ + "WB" + ], + "is_all_india": false + }, + "name_hindi": null, + "abbreviation": null, + "type": "ProfessionalBody", + "cluster": "training_professional", + "level_of_government": "State", + "created_year": 1961, + "abolished_year": null, + "operational_status": "Active", + "constitutional_basis": null, + "statutory_basis": "Advocates Act 1961", + "data_quality": "partial", + "data_quality_notes": null, + "unverified_fields": [], + "derived": { + "discretionary_power_breakdown": { + "Base discretionary power for type ProfessionalBody": 1, + "No universal mandatory timeline for all decisions": 1 + }, + "discretionary_power_score": 2, + "independence_risk_breakdown": { + "No bias complaint mechanism exists": 2, + "No independent conduct oversight body": 1 + }, + "independence_risk_level": "moderate", + "independence_risk_score": 3, + "scores_validated": false, + "structural_health_breakdown": { + "base_health_from_ir_dp": 0.76, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.76, + "independence_risk_penalty": 0.3, + "operational_status_modifier": 1.0 + }, + "structural_health_level": "watch", + "structural_health_score": 0.76 + }, + "funding_source": "State_Consolidated_Fund", + "funding_ministry": null, + "audited_by": "cag_india", + "audit_report_public": true, + "complaint_external_exists": false, + "appointment_criteria_public": null, + "reappointment_possible": null, + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ], + "_detail": { + "appointment": null, + "funding": { + "primary_source": "State_Consolidated_Fund" + }, + "audit": { + "audited_by": "cag_india", + "audit_type": "CAG_Statutory", + "audit_report_public": true + }, + "complaint_mechanism": { + "bias_complaint_to": [], + "lokpal_jurisdiction": "Not_Applicable" + }, + "training": null, + "digital_infrastructure": null, + "structural_variations": [], + "unverified_fields": [], + "jurisdiction_scope": { + "states_covered": [ + "WB" + ], + "is_all_india": false + }, + "case_volume": null, + "judge_strength": null, + "parent_hc": null + }, + "position": { + "x": 377, + "y": 1020 + } + }, + { + "id": "wb_district_court_asansol", + "name": "District Court — Asansol", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -75640,7 +75568,7 @@ "constitutional_basis": "Constitution of India, Articles 233–237", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": null, + "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", "unverified_fields": [], "derived": { "discretionary_power_breakdown": { @@ -75678,7 +75606,7 @@ "label": "India Code — Constitution & Acts", "url": "https://india-code.nic.in/", "type": "GoIWebsite", - "accessed_date": "2026-06-12" + "accessed_date": "2026-05-13" } ], "_detail": { @@ -75710,17 +75638,24 @@ ] }, "case_volume": null, - "judge_strength": null, + "judge_strength": { + "data_as_of": null, + "allotted": null, + "appointed": null, + "source_type": "DoJ_Report", + "source_url": "https://doj.gov.in/", + "notes": "Allotted = sanctioned posts; appointed = working judges in post. Populate from DoJ quarterly vacancy report or NJDG bench strength." + }, "parent_hc": null }, "position": { - "x": 416, - "y": 768 + "x": 414, + "y": 732 } }, { - "id": "wb_district_court_howrah", - "name": "District & Sessions Court — Howrah", + "id": "wb_district_court_darjeeling", + "name": "District & Sessions Court — Darjeeling", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -75817,13 +75752,13 @@ "parent_hc": null }, "position": { - "x": 418, - "y": 732 + "x": 416, + "y": 768 } }, { - "id": "wb_district_court_kolkata", - "name": "District & Sessions Court — Kolkata", + "id": "wb_district_court_howrah", + "name": "District & Sessions Court — Howrah", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -75920,13 +75855,13 @@ "parent_hc": null }, "position": { - "x": 419, - "y": 768 + "x": 418, + "y": 732 } }, { - "id": "wb_district_court_murshidabad", - "name": "District & Sessions Court — Murshidabad", + "id": "wb_district_court_kolkata", + "name": "District & Sessions Court — Kolkata", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -76023,13 +75958,13 @@ "parent_hc": null }, "position": { - "x": 421, - "y": 732 + "x": 419, + "y": 768 } }, { - "id": "wb_district_court_nadia", - "name": "District & Sessions Court — Nadia", + "id": "wb_district_court_murshidabad", + "name": "District & Sessions Court — Murshidabad", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -76126,13 +76061,13 @@ "parent_hc": null }, "position": { - "x": 423, - "y": 768 + "x": 421, + "y": 732 } }, { - "id": "wb_district_court_principal", - "name": "District & Sessions Court — WB (principal bench)", + "id": "wb_district_court_nadia", + "name": "District & Sessions Court — Nadia", "aliases": [], "jurisdiction_scope": { "states_covered": [ @@ -76155,7 +76090,7 @@ "constitutional_basis": "Constitution of India, Articles 233–237", "statutory_basis": null, "data_quality": "partial", - "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", + "data_quality_notes": null, "unverified_fields": [], "derived": { "discretionary_power_breakdown": { @@ -76193,7 +76128,110 @@ "label": "India Code — Constitution & Acts", "url": "https://india-code.nic.in/", "type": "GoIWebsite", - "accessed_date": "2026-05-13" + "accessed_date": "2026-06-12" + } + ], + "_detail": { + "appointment": null, + "funding": { + "primary_source": "State_Consolidated_Fund" + }, + "audit": { + "audited_by": "cag_india", + "audit_type": "CAG_Statutory", + "audit_report_public": true + }, + "complaint_mechanism": { + "bias_complaint_to": [], + "lokpal_jurisdiction": "Not_Applicable" + }, + "training": null, + "digital_infrastructure": null, + "structural_variations": [], + "unverified_fields": [], + "jurisdiction_scope": { + "states_covered": [ + "WB" + ], + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] + }, + "case_volume": null, + "judge_strength": null, + "parent_hc": null + }, + "position": { + "x": 423, + "y": 768 + } + }, + { + "id": "wb_district_court_principal", + "name": "District & Sessions Court — WB (principal bench)", + "aliases": [], + "jurisdiction_scope": { + "states_covered": [ + "WB" + ], + "is_all_india": false, + "jurisdiction_types": [ + "Civil", + "Criminal" + ] + }, + "name_hindi": null, + "abbreviation": null, + "type": "SubordinateCivilCourt", + "cluster": "subordinate_courts", + "level_of_government": "State", + "created_year": 1860, + "abolished_year": null, + "operational_status": "Active", + "constitutional_basis": "Constitution of India, Articles 233–237", + "statutory_basis": null, + "data_quality": "partial", + "data_quality_notes": "Pendency and judge_strength TBD from NJDG district dashboard.", + "unverified_fields": [], + "derived": { + "discretionary_power_breakdown": { + "Base discretionary power for type SubordinateCivilCourt": 2, + "No universal mandatory timeline for all decisions": 1 + }, + "discretionary_power_score": 3, + "independence_risk_breakdown": { + "Constitutional basis (harder to politicise) (deduction)": -2, + "No bias complaint mechanism exists": 2, + "No independent conduct oversight body": 1 + }, + "independence_risk_level": "low", + "independence_risk_score": 1, + "scores_validated": false, + "structural_health_breakdown": { + "base_health_from_ir_dp": 0.85, + "discretionary_power_penalty": 0.15, + "final_structural_health": 0.85, + "independence_risk_penalty": 0.15, + "operational_status_modifier": 1.0 + }, + "structural_health_level": "healthy", + "structural_health_score": 0.85 + }, + "funding_source": "State_Consolidated_Fund", + "funding_ministry": null, + "audited_by": "cag_india", + "audit_report_public": true, + "complaint_external_exists": false, + "appointment_criteria_public": null, + "reappointment_possible": null, + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-05-13" } ], "_detail": { @@ -76481,7 +76519,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -76575,7 +76613,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -76669,7 +76707,7 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "moderate", + "structural_health_level": "watch", "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", @@ -76764,7 +76802,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.74 + "structural_health_score": 0.76 }, "funding_source": "State_Consolidated_Fund", "funding_ministry": null, @@ -77018,8 +77056,8 @@ "independence_risk_penalty": 0.3, "operational_status_modifier": 1.0 }, - "structural_health_level": "critical", - "structural_health_score": 0.24 + "structural_health_level": "at_risk", + "structural_health_score": 0.54 }, "funding_source": "Consolidated_Fund_India", "funding_ministry": "ministry_of_finance", @@ -77210,7 +77248,7 @@ "operational_status_modifier": 1.0 }, "structural_health_level": "watch", - "structural_health_score": 0.6 + "structural_health_score": 0.76 }, "funding_source": "Ministry_Budget", "funding_ministry": "department_of_justice", @@ -77379,8 +77417,8 @@ "independence_risk_penalty": 0.7, "operational_status_modifier": 1.0 }, - "structural_health_level": "critical", - "structural_health_score": 0.16 + "structural_health_level": "at_risk", + "structural_health_score": 0.44 }, "funding_source": "Ministry_Budget", "funding_ministry": "ministry_personnel_dopt", @@ -92855,6 +92893,2870 @@ "accessed_date": "2026-05-13" } ] + }, + { + "id": "rel_drat_chennai_benchof_drat", + "source": "drat_chennai", + "target": "drat", + "relationship_type": "BenchOf", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": 1993, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "RDDBFI Act 1993 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1993/1993_51.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_drat_mumbai_benchof_drat", + "source": "drat_mumbai", + "target": "drat", + "relationship_type": "BenchOf", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": 1993, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "RDDBFI Act 1993 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1993/1993_51.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_drat_delhi_benchof_drat", + "source": "drat_delhi", + "target": "drat", + "relationship_type": "BenchOf", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": 1993, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "RDDBFI Act 1993 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1993/1993_51.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_drat_kolkata_benchof_drat", + "source": "drat_kolkata", + "target": "drat", + "relationship_type": "BenchOf", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": 1993, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "RDDBFI Act 1993 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1993/1993_51.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_drat_allahabad_benchof_drat", + "source": "drat_allahabad", + "target": "drat", + "relationship_type": "BenchOf", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": 1993, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "RDDBFI Act 1993 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1993/1993_51.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_jcit_appeals_to_itat", + "source": "jcit_appeals_generic", + "target": "itat", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 2023, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Income Tax Act 1961 s.253 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1961/1961_43.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_drp_to_itat", + "source": "drp_income_tax", + "target": "itat", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 2009, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Income Tax Act 1961 s.144C — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1961/1961_43.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_aar_income_tax_to_high_courts_all", + "source": "aar_income_tax", + "target": "high_courts_all", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": false, + "is_constitutional": true, + "year_established": 1993, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "Writ jurisdiction; not a statutory appeal. Aggregate edge pending per-HC wiring.", + "sources": [ + { + "label": "Income Tax Act 1961 s.245W — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1961/1961_43.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_caar_customs_to_cestat", + "source": "caar_customs", + "target": "cestat", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 2021, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Customs Act 1962 s.28F — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1962/1962_52.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cgit_delhi_benchof_cgit", + "source": "cgit_delhi", + "target": "cgit_principal", + "relationship_type": "BenchOf", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": 1947, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Industrial Disputes Act 1947 s.7A — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1947/1947_14.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cgit_mumbai_benchof_cgit", + "source": "cgit_mumbai", + "target": "cgit_principal", + "relationship_type": "BenchOf", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": 1947, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Industrial Disputes Act 1947 s.7A — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1947/1947_14.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cgit_kolkata_benchof_cgit", + "source": "cgit_kolkata", + "target": "cgit_principal", + "relationship_type": "BenchOf", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": 1947, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Industrial Disputes Act 1947 s.7A — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1947/1947_14.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cgit_chennai_benchof_cgit", + "source": "cgit_chennai", + "target": "cgit_principal", + "relationship_type": "BenchOf", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": 1947, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Industrial Disputes Act 1947 s.7A — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1947/1947_14.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cgit_chandigarh_1_benchof_cgit", + "source": "cgit_chandigarh_1", + "target": "cgit_principal", + "relationship_type": "BenchOf", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": 1947, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Industrial Disputes Act 1947 s.7A — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1947/1947_14.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cgit_chandigarh_2_benchof_cgit", + "source": "cgit_chandigarh_2", + "target": "cgit_principal", + "relationship_type": "BenchOf", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": 1947, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Industrial Disputes Act 1947 s.7A — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1947/1947_14.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cestat_chennai_to_hc_madras", + "source": "cestat_chennai", + "target": "hc_madras", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 1982, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "Appeal on substantial question of law; factual findings of CESTAT are final", + "sources": [ + { + "label": "Customs Act 1962 s.130 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1962/1962_52.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cestat_bangalore_to_hc_karnataka", + "source": "cestat_bangalore", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 1982, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Customs Act 1962 s.130 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1962/1962_52.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cestat_mumbai_to_hc_bombay", + "source": "cestat_mumbai", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 1982, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Customs Act 1962 s.130 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1962/1962_52.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cestat_ahmedabad_to_hc_gujarat", + "source": "cestat_ahmedabad", + "target": "hc_gujarat", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 1982, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Customs Act 1962 s.130 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1962/1962_52.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cestat_kolkata_to_hc_calcutta", + "source": "cestat_kolkata", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 1982, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Customs Act 1962 s.130 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1962/1962_52.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cestat_allahabad_to_hc_allahabad", + "source": "cestat_allahabad", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 1982, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Customs Act 1962 s.130 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1962/1962_52.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cestat_chandigarh_to_hc_punjab_haryana", + "source": "cestat_chandigarh", + "target": "hc_punjab_haryana", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 1982, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": null, + "sources": [ + { + "label": "Customs Act 1962 s.130 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1962/1962_52.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cestat_hyderabad_to_hc_telangana", + "source": "cestat_hyderabad", + "target": "hc_telangana", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 2019, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "Post-bifurcation (2014), Hyderabad bench covers TS and AP territory. TS matters → hc_telangana; AP matters → hc_andhra_pradesh.\n", + "sources": [ + { + "label": "Customs Act 1962 s.130 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1962/1962_52.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "rel_cestat_hyderabad_to_hc_andhra_pradesh", + "source": "cestat_hyderabad", + "target": "hc_andhra_pradesh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": 2019, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "AP-portion of CESTAT Hyderabad bench jurisdiction post-2014 bifurcation.", + "sources": [ + { + "label": "Customs Act 1962 s.130 — India Code", + "url": "https://www.india-code.nic.in/CodeofActs/1962/1962_52.pdf", + "type": "CentralAct", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_cdrc_ncdrc", + "source": "up_state_cdrc", + "target": "ncdrc", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP SCDRC to NCDRC", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_slsa_lok", + "source": "slsa_up", + "target": "lok_adalat_generic", + "relationship_type": "Designates", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP SLSA lok adalat", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_fund_rera", + "source": "government_up", + "target": "up_rera", + "relationship_type": "PrimaryFunder", + "relationship_category": "funding", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP RERA funding", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_dist_principal_hc", + "source": "up_district_court_principal", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP principal district to HC", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_hc_super_principal", + "source": "hc_allahabad", + "target": "up_district_court_principal", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision UP principal", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_lucknow_hc", + "source": "up_district_court_lucknow", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP lucknow district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_hc_super_lucknow", + "source": "hc_allahabad", + "target": "up_district_court_lucknow", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision lucknow", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_prayagraj_hc", + "source": "up_district_court_prayagraj", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP prayagraj district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_hc_super_prayagraj", + "source": "hc_allahabad", + "target": "up_district_court_prayagraj", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision prayagraj", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_ghaziabad_hc", + "source": "up_district_court_ghaziabad", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP ghaziabad district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_hc_super_ghaziabad", + "source": "hc_allahabad", + "target": "up_district_court_ghaziabad", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision ghaziabad", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_agra_hc", + "source": "up_district_court_agra", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP agra district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_hc_super_agra", + "source": "hc_allahabad", + "target": "up_district_court_agra", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision agra", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_meerut_hc", + "source": "up_district_court_meerut", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP meerut district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_hc_super_meerut", + "source": "hc_allahabad", + "target": "up_district_court_meerut", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision meerut", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_gorakhpur_hc", + "source": "up_district_court_gorakhpur", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP gorakhpur district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_hc_super_gorakhpur", + "source": "hc_allahabad", + "target": "up_district_court_gorakhpur", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision gorakhpur", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_bareilly_hc", + "source": "up_district_court_bareilly", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP bareilly district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_hc_super_bareilly", + "source": "hc_allahabad", + "target": "up_district_court_bareilly", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision bareilly", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_up_district_court_varanasi_hc", + "source": "up_district_court_varanasi", + "target": "hc_allahabad_bench_lucknow", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "UP bench routing", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "up_hc_super_up_district_court_varanasi", + "source": "hc_allahabad", + "target": "up_district_court_varanasi", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision up_district_court_varanasi", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_cdrc_ncdrc", + "source": "wb_state_cdrc", + "target": "ncdrc", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "WB SCDRC to NCDRC", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_slsa_lok", + "source": "slsa_wb", + "target": "lok_adalat_generic", + "relationship_type": "Designates", + "relationship_category": "statutory_ref", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "WB SLSA lok adalat", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_fund_rera", + "source": "government_wb", + "target": "wb_rera", + "relationship_type": "PrimaryFunder", + "relationship_category": "funding", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "WB RERA funding", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_dist_principal_hc", + "source": "wb_district_court_principal", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "WB principal district to HC", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_hc_super_principal", + "source": "hc_calcutta", + "target": "wb_district_court_principal", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision WB principal", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_kolkata_hc", + "source": "wb_district_court_kolkata", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "WB kolkata district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_hc_super_kolkata", + "source": "hc_calcutta", + "target": "wb_district_court_kolkata", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision kolkata", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_howrah_hc", + "source": "wb_district_court_howrah", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "WB howrah district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_hc_super_howrah", + "source": "hc_calcutta", + "target": "wb_district_court_howrah", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision howrah", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_darjeeling_hc", + "source": "wb_district_court_darjeeling", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "WB darjeeling district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_hc_super_darjeeling", + "source": "hc_calcutta", + "target": "wb_district_court_darjeeling", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision darjeeling", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_murshidabad_hc", + "source": "wb_district_court_murshidabad", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "WB murshidabad district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_hc_super_murshidabad", + "source": "hc_calcutta", + "target": "wb_district_court_murshidabad", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision murshidabad", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_nadia_hc", + "source": "wb_district_court_nadia", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "WB nadia district appellate", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_hc_super_nadia", + "source": "hc_calcutta", + "target": "wb_district_court_nadia", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision nadia", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_wb_district_court_asansol_hc", + "source": "wb_district_court_asansol", + "target": "hc_calcutta_bench_jalpaiguri", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "WB bench routing", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "wb_hc_super_wb_district_court_asansol", + "source": "hc_calcutta", + "target": "wb_district_court_asansol", + "relationship_type": "AdministrativeSupervision", + "relationship_category": "supervisory", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "partial", + "contested_note": null, + "notes": "HC supervision wb_district_court_asansol", + "sources": [ + { + "label": "India Code — Constitution & Acts", + "url": "https://india-code.nic.in/", + "type": "GoIWebsite", + "accessed_date": "2026-06-12" + } + ] + }, + { + "id": "inferred_appellate_an_district_courts_generic", + "source": "an_district_courts_generic", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ap_district_courts_generic", + "source": "ap_district_courts_generic", + "target": "hc_andhra_pradesh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ar_district_courts_generic", + "source": "ar_district_courts_generic", + "target": "hc_gauhati", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_as_district_courts_generic", + "source": "as_district_courts_generic", + "target": "hc_gauhati", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_br_district_courts_generic", + "source": "br_district_courts_generic", + "target": "hc_patna", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_cg_district_courts_generic", + "source": "cg_district_courts_generic", + "target": "hc_chhattisgarh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ch_district_courts_generic", + "source": "ch_district_courts_generic", + "target": "hc_punjab_haryana", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_court_dwarka", + "source": "dl_district_court_dwarka", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_court_karkardooma", + "source": "dl_district_court_karkardooma", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_court_patiala_house", + "source": "dl_district_court_patiala_house", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_court_rohini", + "source": "dl_district_court_rohini", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_court_tis_hazari", + "source": "dl_district_court_tis_hazari", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_district_courts_generic", + "source": "dl_district_courts_generic", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_dl_special_courts", + "source": "dl_special_courts", + "target": "hc_delhi", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ga_district_courts_generic", + "source": "ga_district_courts_generic", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_gj_district_courts_generic", + "source": "gj_district_courts_generic", + "target": "hc_gujarat", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_hp_district_courts_generic", + "source": "hp_district_courts_generic", + "target": "hc_himachal_pradesh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_hr_district_courts_generic", + "source": "hr_district_courts_generic", + "target": "hc_punjab_haryana", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_jh_district_courts_generic", + "source": "jh_district_courts_generic", + "target": "hc_jharkhand", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_jk_district_courts_generic", + "source": "jk_district_courts_generic", + "target": "hc_jammu_kashmir_ladakh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_bagalkot", + "source": "ka_district_court_bagalkot", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_ballari", + "source": "ka_district_court_ballari", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_bengaluru_rural", + "source": "ka_district_court_bengaluru_rural", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_bidar", + "source": "ka_district_court_bidar", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_chamarajanagar", + "source": "ka_district_court_chamarajanagar", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_chikkaballapur", + "source": "ka_district_court_chikkaballapur", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_chikkamagaluru", + "source": "ka_district_court_chikkamagaluru", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_chitradurga", + "source": "ka_district_court_chitradurga", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_davangere", + "source": "ka_district_court_davangere", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_gadag", + "source": "ka_district_court_gadag", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_hassan", + "source": "ka_district_court_hassan", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_haveri", + "source": "ka_district_court_haveri", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_kalaburagi", + "source": "ka_district_court_kalaburagi", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_kodagu", + "source": "ka_district_court_kodagu", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_kolar", + "source": "ka_district_court_kolar", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_mandya", + "source": "ka_district_court_mandya", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_mangaluru", + "source": "ka_district_court_mangaluru", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_mysuru", + "source": "ka_district_court_mysuru", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_raichur", + "source": "ka_district_court_raichur", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_ramanagara", + "source": "ka_district_court_ramanagara", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_shivamogga", + "source": "ka_district_court_shivamogga", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_tumkuru", + "source": "ka_district_court_tumkuru", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_udupi", + "source": "ka_district_court_udupi", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_uttara_kannada", + "source": "ka_district_court_uttara_kannada", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_vijayapura", + "source": "ka_district_court_vijayapura", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_court_yadgir", + "source": "ka_district_court_yadgir", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_district_courts_generic", + "source": "ka_district_courts_generic", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ka_special_courts", + "source": "ka_special_courts", + "target": "hc_karnataka", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_kl_district_courts_generic", + "source": "kl_district_courts_generic", + "target": "hc_kerala", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_la_district_courts_generic", + "source": "la_district_courts_generic", + "target": "hc_jammu_kashmir_ladakh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ld_district_courts_generic", + "source": "ld_district_courts_generic", + "target": "hc_kerala", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_ahmednagar", + "source": "mh_district_court_ahmednagar", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_akola", + "source": "mh_district_court_akola", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_beed", + "source": "mh_district_court_beed", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_bhandara", + "source": "mh_district_court_bhandara", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_buldhana", + "source": "mh_district_court_buldhana", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_chandrapur", + "source": "mh_district_court_chandrapur", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_dhule", + "source": "mh_district_court_dhule", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_gadchiroli", + "source": "mh_district_court_gadchiroli", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_gondia", + "source": "mh_district_court_gondia", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_hingoli", + "source": "mh_district_court_hingoli", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_jalgaon", + "source": "mh_district_court_jalgaon", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_jalna", + "source": "mh_district_court_jalna", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_kolhapur", + "source": "mh_district_court_kolhapur", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_latur", + "source": "mh_district_court_latur", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_mumbai_suburban", + "source": "mh_district_court_mumbai_suburban", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_nandurbar", + "source": "mh_district_court_nandurbar", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_osmanabad", + "source": "mh_district_court_osmanabad", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_palghar", + "source": "mh_district_court_palghar", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_parbhani", + "source": "mh_district_court_parbhani", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_pune", + "source": "mh_district_court_pune", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_raigad", + "source": "mh_district_court_raigad", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_ratnagiri", + "source": "mh_district_court_ratnagiri", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_sangli", + "source": "mh_district_court_sangli", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_satara", + "source": "mh_district_court_satara", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_sindhudurg", + "source": "mh_district_court_sindhudurg", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_thane", + "source": "mh_district_court_thane", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_wardha", + "source": "mh_district_court_wardha", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_washim", + "source": "mh_district_court_washim", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_court_yavatmal", + "source": "mh_district_court_yavatmal", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_district_courts_generic", + "source": "mh_district_courts_generic", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mh_special_courts", + "source": "mh_special_courts", + "target": "hc_bombay", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ml_district_courts_generic", + "source": "ml_district_courts_generic", + "target": "hc_meghalaya", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mn_district_courts_generic", + "source": "mn_district_courts_generic", + "target": "hc_manipur", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mp_district_courts_generic", + "source": "mp_district_courts_generic", + "target": "hc_madhya_pradesh", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_mz_district_courts_generic", + "source": "mz_district_courts_generic", + "target": "hc_gauhati", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_nl_district_courts_generic", + "source": "nl_district_courts_generic", + "target": "hc_gauhati", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_od_district_courts_generic", + "source": "od_district_courts_generic", + "target": "hc_orissa", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_pb_district_courts_generic", + "source": "pb_district_courts_generic", + "target": "hc_punjab_haryana", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_rj_district_courts_generic", + "source": "rj_district_courts_generic", + "target": "hc_rajasthan", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_rj_special_courts", + "source": "rj_special_courts", + "target": "hc_rajasthan", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_sk_district_courts_generic", + "source": "sk_district_courts_generic", + "target": "hc_sikkim", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_tn_special_courts", + "source": "tn_special_courts", + "target": "hc_madras", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_tr_district_courts_generic", + "source": "tr_district_courts_generic", + "target": "hc_tripura", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_ts_district_courts_generic", + "source": "ts_district_courts_generic", + "target": "hc_telangana", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_uk_district_courts_generic", + "source": "uk_district_courts_generic", + "target": "hc_uttarakhand", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_up_district_courts_generic", + "source": "up_district_courts_generic", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_up_special_courts", + "source": "up_special_courts", + "target": "hc_allahabad", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_wb_district_courts_generic", + "source": "wb_district_courts_generic", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] + }, + { + "id": "inferred_appellate_wb_special_courts", + "source": "wb_special_courts", + "target": "hc_calcutta", + "relationship_type": "AppealableTo", + "relationship_category": "appellate_chain", + "is_binding": true, + "is_constitutional": false, + "year_established": null, + "year_abolished": null, + "data_quality": "inferred", + "contested_note": null, + "notes": "Edge inferred at build time from entity id / state code; not present in relationships YAML", + "sources": [] } ], "browse_index": { diff --git a/jem/web/src/detailView.js b/jem/web/src/detailView.js index da995e0..da552ba 100644 --- a/jem/web/src/detailView.js +++ b/jem/web/src/detailView.js @@ -3,6 +3,7 @@ import { State } from './state.js'; import { buildPanelHTML } from './panel.js'; +import { getAppellateUpstream, getAppellateDownstream } from './entityConnections.js'; const RISK_COLORS = { low: '#16a34a', @@ -103,6 +104,16 @@ function statusPill(e) { return ''; } +// Convert snake_case / Title_Case identifiers into human-readable labels for UI. +function humanize(str) { + if (str == null) return ''; + return String(str) + .replace(/_/g, ' ') + .replace(/\s+/g, ' ') + .trim() + .replace(/\b\w/g, c => c.toUpperCase()); +} + function clogColor(severity) { const map = { critical: '#a32d2d', high: '#c2722b', moderate: '#8a7a2b', low: '#1d7a5a', unknown: '#888' }; return map[severity] || '#888'; @@ -125,7 +136,7 @@ function renderBreakdown(breakdown, label, maxScore) { .map(([factor, pts]) => { const isPos = pts > 0; return ` - ${factor} + ${humanize(factor)} ${isPos ? '+' : ''}${pts} `; }).join(''); @@ -136,8 +147,81 @@ function renderBreakdown(breakdown, label, maxScore) { `; } +// Fused IR + DP breakdown — single table with a source tag column so each factor +// is still traceable to its scoring stream. +function renderFusedBreakdown(irBd, dpBd, irColor) { + const entries = []; + if (irBd) for (const [k, v] of Object.entries(irBd)) if (v !== 0) entries.push({ source: 'IR', factor: k, pts: v, color: irColor }); + if (dpBd) for (const [k, v] of Object.entries(dpBd)) if (v !== 0) entries.push({ source: 'DP', factor: k, pts: v, color: '#6366f1' }); + if (!entries.length) return '
No contributing factors recorded.
'; + + entries.sort((a, b) => b.pts - a.pts); + const rows = entries.map(e => { + const isPos = e.pts > 0; + return ` + ${e.source} + ${humanize(e.factor)} + ${isPos ? '+' : ''}${e.pts} + `; + }).join(''); + + return `${rows}
`; +} + // ── Case volume ─────────────────────────────────────────────────────────────── +// ── "Where this fits" — appellate chain strip ──────────────────────────────── +// Renders 2-hop upstream + 2-hop downstream from the focal entity as a horizontal +// breadcrumb. Each node is clickable → opens its detail. Hidden when the focal +// entity has no appellate edges. +function renderAppellateChainStrip(entity) { + const upstream = getAppellateUpstream(entity.id, 3); // higher courts + const downstream = getAppellateDownstream(entity.id, 3); // lower courts + if (!upstream.length && !downstream.length) return ''; + + const nodeChip = (id, focal = false) => { + const e = State.getEntityById(id); + if (!e) return ''; + const label = e.abbreviation || e.name; + return ``; + }; + + const tierGroup = (tier) => `${tier.map(id => nodeChip(id)).join('·')}`; + + // Render highest tier first (so upstream chain reads left → right going DOWN to focal). + const upChain = [...upstream].reverse().map(tierGroup); + const downChain = downstream.map(tierGroup); + + const arrow = ''; + const parts = [ + ...upChain, + nodeChip(entity.id, true), + ...downChain, + ]; + + return ` +
+
+ Appellate chain — where this fits + higher courts ← → lower courts +
+
+ ${parts.join(arrow)} +
+
+ `; +} + +// Inline summary stats shown in the collapsed `` line of the Case Volume section. +function renderCaseVolumeSummary(cv) { + if (!cv) return ''; + const parts = []; + if (cv.clog_severity) parts.push(`${cv.clog_severity.toUpperCase()}`); + if (cv.pending_cases != null) parts.push(`${fmtNum(cv.pending_cases)} pending`); + if (cv.disposal_rate != null) parts.push(`${cv.disposal_rate.toFixed(2)} disposal`); + return parts.join(' · '); +} + function renderCaseVolume(cv) { if (!cv) return ''; const stats = []; @@ -898,6 +982,13 @@ export function renderDetailView(entityId, fromEntityId = null) { ${CLUSTER_LABELS[entity.cluster] || entity.cluster || ''}
+
@@ -920,11 +1011,12 @@ export function renderDetailView(entityId, fromEntityId = null) { ${isScoreExcluded ? `
Structural scores not computed for this entity type (governance anchor).
` : ` -
+ +
${healthScore != null ? healthScore.toFixed(2) : '—'}
-
STRUCTURAL HEALTH
+
STRUCTURAL HEALTH INDICATOR
${healthLabel ? `
${healthLabel.toUpperCase()}
` : ''}
@@ -933,42 +1025,63 @@ export function renderDetailView(entityId, fromEntityId = null) { ${isNotValidated ? '
⚐ Scores pending community review
' : ''}
-
-
Constituents
- - ${score != null ? ` -
-
- ↳ Independence Risk - ${score} · ${(level || '').toUpperCase()} -
-
${RISK_EXPLAIN[level] || ''}
- ${renderBreakdown(derived.independence_risk_breakdown, 'Independence risk', 15)} -
- ` : ''} - - ${dpScore != null ? ` -
-
- ↳ Discretionary Power - ${dpScore} -
-
- ${renderBreakdown(derived.discretionary_power_breakdown, 'Discretionary power', 15)} + ${(score != null || dpScore != null) ? ` + +
+ Constituent score breakdown +
+ ${score != null ? ` +
+
+ Independence Risk + ${score} · ${(level || '').toUpperCase()} +
+
+
${RISK_EXPLAIN[level] || ''}
+
+ Factor breakdown + ${renderBreakdown(derived.independence_risk_breakdown, 'Independence risk', 15)} +
+
+ ` : ''} + ${dpScore != null ? ` +
+
+ Discretionary Power + ${dpScore} +
+
+
+ Factor breakdown + ${renderBreakdown(derived.discretionary_power_breakdown, 'Discretionary power', 15)} +
+
+ ` : ''}
- ` : ''} -
+ + ` : ''} `} - ${renderCaseVolume(detail.case_volume)} - -
-
- Full structural profile - appointment · funding · audit · complaint · sources + ${renderAppellateChainStrip(entity)} + + ${renderCaseVolume(detail.case_volume) ? ` + +
+ + Case volume & clog + ${renderCaseVolumeSummary(detail.case_volume)} + +
${renderCaseVolume(detail.case_volume)}
+
+ ` : ''} + + +
+ Profile +
+
-
-
+
@@ -990,7 +1103,7 @@ export function renderDetailView(entityId, fromEntityId = null) { // Auto-render the full structural profile (open by default) const _profileBody = container.querySelector('#dv-profile-body'); if (_profileBody) { - _profileBody.innerHTML = buildPanelHTML(entity); + _profileBody.innerHTML = buildPanelHTML(entity, { omitRiskIndicators: true }); _profileBody.dataset.rendered = '1'; _profileBody.addEventListener('click', ev => { const lnk = ev.target.closest('.detail-connection-row'); @@ -1016,6 +1129,51 @@ export function renderDetailView(entityId, fromEntityId = null) { downloadEntityXLSX(entity); }); + // ── Wire "Where this fits" chips → navigate to that entity ───────────────── + container.querySelector('.wtf-card')?.addEventListener('click', (ev) => { + const btn = ev.target.closest('.wtf-node'); + if (!btn) return; + const id = btn.dataset.entityId; + if (id && id !== entity.id) State.emit('navigateToDetail', id); + }); + + // ── Wire Copy-link ───────────────────────────────────────────────────────── + // Builds a fresh URL from window.location so it works regardless of how the + // user arrived (deep-link, search, navigation history). + container.querySelector('#dv-copy-link')?.addEventListener('click', async (ev) => { + const btn = ev.currentTarget; + const labelEl = btn.querySelector('.dv-action-label'); + const shareUrl = `${location.origin}${location.pathname}${location.search}#/entity/${encodeURIComponent(entity.id)}`; + const flash = (label, cls) => { + const prev = labelEl ? labelEl.textContent : btn.textContent; + if (labelEl) labelEl.textContent = label; else btn.textContent = label; + btn.classList.add(cls); + setTimeout(() => { + if (labelEl) labelEl.textContent = prev; else btn.textContent = prev; + btn.classList.remove(cls); + }, 1500); + }; + try { + if (navigator.clipboard?.writeText) { + await navigator.clipboard.writeText(shareUrl); + } else { + // Fallback for non-secure contexts (file://, http://) where Clipboard API is gated. + const ta = document.createElement('textarea'); + ta.value = shareUrl; + ta.style.position = 'fixed'; + ta.style.opacity = '0'; + document.body.appendChild(ta); + ta.select(); + document.execCommand('copy'); + ta.remove(); + } + flash('Copied ✓', 'dv-copy-ok'); + } catch (err) { + console.error('Copy link failed:', err); + flash('Copy failed', 'dv-copy-err'); + } + }); + // ── Wire lens toggles ─────────────────────────────────────────────────────── container.querySelector('#nb-lens-group')?.addEventListener('click', e => { const btn = e.target.closest('.nb-lens-btn'); diff --git a/jem/web/src/entityConnections.js b/jem/web/src/entityConnections.js index a2bc830..95f326e 100644 --- a/jem/web/src/entityConnections.js +++ b/jem/web/src/entityConnections.js @@ -108,3 +108,119 @@ export function buildEntityConnectionSummary(entityId) { export function formatCategoryLabel(cat) { return (cat || 'other').replace(/_/g, ' '); } + +// ── Appellate chain walkers ────────────────────────────────────────────────── +// Edge direction: source appeals → target (lower court → higher court). +// "Upstream" = follow edges in the direction of target (lower → higher) +// "Downstream" = follow edges in reverse (higher ← lower) + +function _appellateAdjacency() { + const out = new Map(); // node → [target] (where node appeals to) + const incoming = new Map(); // node → [source] (who appeals to node) + for (const rel of State.graph?.relationships || []) { + if (rel.relationship_category !== 'appellate_chain') continue; + if (!out.has(rel.source)) out.set(rel.source, []); + out.get(rel.source).push(rel.target); + if (!incoming.has(rel.target)) incoming.set(rel.target, []); + incoming.get(rel.target).push(rel.source); + } + return { out, incoming }; +} + +/** + * Walk up the appellate chain from `entityId` (toward higher courts) up to `maxHops`. + * Returns an array of tiers, each tier being the unique node ids at that hop distance. + * Tier 0 is the immediate parent(s). Stops when a tier has no nodes. + */ +export function getAppellateUpstream(entityId, maxHops = 3) { + const { out } = _appellateAdjacency(); + const tiers = []; + let frontier = new Set([entityId]); + const seen = new Set([entityId]); + for (let h = 0; h < maxHops; h++) { + const next = new Set(); + for (const id of frontier) { + for (const t of out.get(id) || []) { + if (!seen.has(t)) { next.add(t); seen.add(t); } + } + } + if (!next.size) break; + tiers.push([...next]); + frontier = next; + } + return tiers; +} + +/** + * Walk down the appellate chain from `entityId` (toward lower courts) up to `maxHops`. + * Returns tiers in the same shape as getAppellateUpstream. + */ +export function getAppellateDownstream(entityId, maxHops = 3) { + const { incoming } = _appellateAdjacency(); + const tiers = []; + let frontier = new Set([entityId]); + const seen = new Set([entityId]); + for (let h = 0; h < maxHops; h++) { + const next = new Set(); + for (const id of frontier) { + for (const s of incoming.get(id) || []) { + if (!seen.has(s)) { next.add(s); seen.add(s); } + } + } + if (!next.size) break; + tiers.push([...next]); + frontier = next; + } + return tiers; +} + +/** + * Build the full appellate hierarchy as ordered tiers, where tier 0 are roots + * (no outgoing appellate edges = top of chain, e.g. Supreme Court). + * Uses longest-path layering so leaves sit at the bottom regardless of DAG shape. + * Returns { tiers, edges, orphans }. + */ +export function buildAppellateHierarchy() { + const { out, incoming } = _appellateAdjacency(); + const allNodes = new Set(); + const edges = []; + for (const rel of State.graph?.relationships || []) { + if (rel.relationship_category !== 'appellate_chain') continue; + allNodes.add(rel.source); + allNodes.add(rel.target); + edges.push({ src: rel.source, tgt: rel.target }); + } + // Roots = nodes with no outgoing appellate edges (nothing higher to appeal to). + const roots = [...allNodes].filter(id => !(out.get(id)?.length)); + + // Longest-path layer assignment: layer(n) = max(layer(parent)) + 1, roots = 0. + // We follow incoming-edge ancestors via memoization (DAG assumed). + const layer = new Map(); + const computeLayer = (id, stack = new Set()) => { + if (layer.has(id)) return layer.get(id); + if (stack.has(id)) { layer.set(id, 0); return 0; } // cycle guard + stack.add(id); + const parents = out.get(id) || []; // "higher than me" → my layer = parent+1 + if (!parents.length) { layer.set(id, 0); stack.delete(id); return 0; } + let lv = 0; + for (const p of parents) lv = Math.max(lv, computeLayer(p, stack) + 1); + layer.set(id, lv); + stack.delete(id); + return lv; + }; + for (const id of allNodes) computeLayer(id); + + const tierMap = new Map(); + for (const [id, lv] of layer) { + if (!tierMap.has(lv)) tierMap.set(lv, []); + tierMap.get(lv).push(id); + } + const maxLayer = Math.max(0, ...tierMap.keys()); + const tiers = []; + for (let i = 0; i <= maxLayer; i++) tiers.push((tierMap.get(i) || []).slice().sort()); + + // Orphan entities are court-like entities with no appellate edges at all. + // We don't enumerate them here (would need entity-type filtering); caller + // can compute separately if it wants to surface them. + return { tiers, edges, roots }; +} diff --git a/jem/web/src/main.js b/jem/web/src/main.js index 6d8da53..94a8b90 100644 --- a/jem/web/src/main.js +++ b/jem/web/src/main.js @@ -34,6 +34,72 @@ function _updateBackBtn() { } } +// ── URL hash routing ────────────────────────────────────────────────────────── +// Shareable deep-links via fragment: '#/entity/' opens the detail view, +// '#/map' opens the map. Empty/absent hash = summary. +// Hash-only (not pathname) so static hosts need no rewrites. + +function _entityIdFromHash() { + const m = (location.hash || '').match(/^#\/entity\/(.+)$/); + return m ? decodeURIComponent(m[1]) : null; +} + +function _hashViewFromHash() { + if (/^#\/entity\/.+/.test(location.hash)) return 'detail'; + if (location.hash === '#/map') return 'map'; + return 'summary'; +} + +let _suppressHashSync = false; + +function _syncHashForView(view, entityId) { + if (_suppressHashSync) return; + let target = ''; + if (view === 'detail' && entityId) target = `#/entity/${encodeURIComponent(entityId)}`; + else if (view === 'map') target = '#/map'; + // Empty hash for summary. + if (location.hash === target) return; + const url = target ? `${location.pathname}${location.search}${target}` : `${location.pathname}${location.search}`; + history.pushState(null, '', url); +} + +function _showMissingEntityToast(id) { + const el = document.createElement('div'); + el.className = 'jem-toast jem-toast-warn'; + el.textContent = `Entity “${id}” not found — showing overview.`; + document.body.appendChild(el); + requestAnimationFrame(() => el.classList.add('jem-toast-in')); + setTimeout(() => { + el.classList.remove('jem-toast-in'); + setTimeout(() => el.remove(), 300); + }, 3200); +} + +function _applyHashRoute() { + const view = _hashViewFromHash(); + _suppressHashSync = true; + try { + if (view === 'detail') { + const id = _entityIdFromHash(); + const e = id ? State.getEntityById(id) : null; + if (e) { + switchView('detail', id); + } else { + if (id) _showMissingEntityToast(id); + // Clear the bad hash so refresh doesn't re-toast. + history.replaceState(null, '', `${location.pathname}${location.search}`); + switchView('summary'); + } + } else if (view === 'map') { + switchView('map'); + } else { + switchView('summary'); + } + } finally { + _suppressHashSync = false; + } +} + function switchView(view, entityId = null) { const prevView = document.body.dataset.appView; @@ -110,6 +176,8 @@ function switchView(view, entityId = null) { requestAnimationFrame(() => fitFocusToView({ animate: false })); }); } + + _syncHashForView(view, entityId); } function wireNavigationEvents() { @@ -362,7 +430,18 @@ async function boot() { render(); initSummaryView(); - switchView('summary'); + + // Hash deep-link: open the entity / view encoded in location.hash if any, + // otherwise default to summary. Browser back/forward and pasted URLs + // re-route via the popstate/hashchange listeners below. + if (location.hash) { + _applyHashRoute(); + } else { + switchView('summary'); + } + + window.addEventListener('popstate', _applyHashRoute); + window.addEventListener('hashchange', _applyHashRoute); } catch (err) { console.error('JEM boot error:', err); diff --git a/jem/web/src/panel.js b/jem/web/src/panel.js index d79e67a..da97ac4 100644 --- a/jem/web/src/panel.js +++ b/jem/web/src/panel.js @@ -37,7 +37,7 @@ export function openDetailPanel(entity) { nameEl.innerHTML = `${entity.name} ${entity.name_hindi}`; } - typeEl.textContent = `${formatType(entity.type)} · ${entity.level_of_government} · ${entity.operational_status}`; + typeEl.textContent = `${formatType(entity.type)} · ${humanize(entity.level_of_government)} · ${humanize(entity.operational_status)}`; typeEl.className = `detail-type status-${entity.operational_status.toLowerCase().replace('_','-')}`; body.innerHTML = buildPanelHTML(entity); @@ -64,7 +64,7 @@ export function closeDetailPanel() { State.clearEntity(); } -function buildPanelHTML(e) { +function buildPanelHTML(e, opts = {}) { const d = e._detail || {}; const derived = e.derived || {}; const irColors = State.graph ? State.getIndependenceRiskColors() : {}; @@ -99,7 +99,7 @@ function buildPanelHTML(e) { html += section('Lifecycle', `
Established${e.created_year}
${e.abolished_year ? `
Abolished${e.abolished_year}
` : ''} -
Status${e.operational_status}
+
Status${humanize(e.operational_status)}
${e.constitutional_basis ? `
Constitutional basis${e.constitutional_basis}
` : ''} ${e.statutory_basis ? `
Statutory basis${e.statutory_basis}
` : ''} `); @@ -238,7 +238,11 @@ function buildPanelHTML(e) { html += buildStructuralGapsSectionHTML(e); // ── Derived Scores ───────────────────────────────────── - if (State.viewMode === 'risk' && irScore === undefined && dpScore === undefined && healthScore == null) { + // Suppressed in detail view (omitRiskIndicators) since the Indicator card + // and Constituent breakdown widgets already render this information. + if (opts.omitRiskIndicators) { + // skip block + } else if (State.viewMode === 'risk' && irScore === undefined && dpScore === undefined && healthScore == null) { html += section('Structural Risk Indicators', `

Structural-health, independence-risk and discretionary-power scores are not computed for this entity yet.

`); @@ -441,7 +445,7 @@ function buildBreakdown(breakdown) { const cls = pts > 0 ? 'breakdown-positive' : 'breakdown-negative'; html += `
${sign}${pts} - ${reason} + ${humanize(reason)}
`; }); html += '
'; @@ -507,6 +511,15 @@ function formatType(type) { return (type || '').replace(/([A-Z])/g, ' $1').trim(); } +function humanize(str) { + if (str == null) return ''; + return String(str) + .replace(/_/g, ' ') + .replace(/\s+/g, ' ') + .trim() + .replace(/\b\w/g, c => c.toUpperCase()); +} + // ── Event Binding (called after DOM ready) ──────────────────────────────────── // Exported so detailView.js can embed the full structural profile inline. diff --git a/jem/web/src/summaryView.js b/jem/web/src/summaryView.js index 4797ff1..9e66b74 100644 --- a/jem/web/src/summaryView.js +++ b/jem/web/src/summaryView.js @@ -2,6 +2,7 @@ // Landing page: stat band, risk-distribution small multiples, high-risk registry, all-entities table. import { State } from './state.js'; +import { buildAppellateHierarchy } from './entityConnections.js'; const RISK_COLORS = { low: '#16a34a', @@ -641,6 +642,713 @@ function renderEntitiesTab(members) { return `
${rows}
`; } +// ── Temporal structure (decade mirror chart + slider) ──────────────────────── +// Births up, deaths down. Constitutional events overlaid as vertical markers. +// A draggable year scrubber focuses a year — chart highlights the decade, and +// an inline list shows entities created or abolished within a window. + +const TEMPORAL_DECADE_START = 1950; +const TEMPORAL_DECADE_END = Math.floor(new Date().getFullYear() / 10) * 10; // current decade start +const FOCUS_WINDOW_YEARS = 3; // ±3 yr window when scrubbing + +// Pick bucket size based on visible span: decade > 40yr, 5yr 15–40, yearly < 15. +function _pickBucketSize(span) { + if (span > 40) return 10; + if (span > 15) return 5; + return 1; +} + +function _bucketLabel(start, size) { + if (size === 10) return `${String(start).slice(2)}s`; + if (size === 5) return `${start}`; + return String(start); +} + +function _buildBuckets(entities, rangeStart, rangeEnd) { + const size = _pickBucketSize(rangeEnd - rangeStart); + const aligned = Math.floor(rangeStart / size) * size; + const buckets = []; + for (let y = aligned; y < rangeEnd; y += size) { + buckets.push({ start: y, size, label: _bucketLabel(y, size), births: [], deaths: [] }); + } + const bucketOf = (yr) => { + if (yr == null) return null; + const idx = Math.floor((yr - aligned) / size); + if (idx < 0 || idx >= buckets.length) return null; + return buckets[idx]; + }; + for (const e of entities) { + const b1 = bucketOf(e.created_year); + if (b1) b1.births.push(e); + const b2 = bucketOf(e.abolished_year); + if (b2) b2.deaths.push(e); + } + return { buckets, size }; +} + +function _eventTypeColor(type) { + return { + constitutional: '#7c3aed', + institutional: '#0891b2', + reform: '#16a34a', + judgment: '#dc2626', + }[type] || '#6b7280'; +} + +function renderTemporalStructure(opts = {}) { + const entities = State.graph?.entities || []; + const events = (State.graph?.timeline_events || []).slice().sort((a, b) => a.year - b.year); + const fullStart = TEMPORAL_DECADE_START; + const fullEnd = TEMPORAL_DECADE_END + 10; + const rangeStart = opts.rangeStart ?? fullStart; + const rangeEnd = opts.rangeEnd ?? fullEnd; + const brushMode = !!opts.brushMode; + const isZoomed = rangeStart !== fullStart || rangeEnd !== fullEnd; + const { buckets, size: bucketSize } = _buildBuckets(entities, rangeStart, rangeEnd); + + const maxBirths = Math.max(1, ...buckets.map(b => b.births.length)); + const maxDeaths = Math.max(1, ...buckets.map(b => b.deaths.length)); + const yMax = Math.max(maxBirths, maxDeaths); + + // Layout + const W = 760, H = 300, PAD_L = 64, PAD_R = 20, PAD_T = 36, PAD_B = 64; + const plotW = W - PAD_L - PAD_R; + const plotH = H - PAD_T - PAD_B; + const midY = PAD_T + plotH / 2; + const halfH = plotH / 2; + const barW = plotW / buckets.length; + const barGap = Math.max(4, barW * 0.18); + const usableBarW = barW - barGap; + + const yearToX = (yr) => PAD_L + ((yr - rangeStart) / (rangeEnd - rangeStart)) * plotW; + + // Bars — labels thin out when bucketSize=1 to avoid label collisions. + const labelEvery = bucketSize === 1 ? Math.max(1, Math.ceil(buckets.length / 12)) : 1; + const barsSVG = buckets.map((b, i) => { + const x = PAD_L + i * barW + barGap / 2; + const bH = (b.births.length / yMax) * halfH; + const dH = (b.deaths.length / yMax) * halfH; + const showLabel = i % labelEvery === 0; + return ` + + ${bH > 0 ? `${b.births.length} created in ${b.label}${b.size > 1 ? ` (${b.start}–${b.start + b.size - 1})` : ''}` : ''} + ${dH > 0 ? `${b.deaths.length} abolished in ${b.label}${b.size > 1 ? ` (${b.start}–${b.start + b.size - 1})` : ''}` : ''} + ${showLabel ? `${b.label}` : ''} + ${b.births.length ? `${b.births.length}` : ''} + ${b.deaths.length ? `${b.deaths.length}` : ''} + + `; + }).join(''); + + // Constitutional event markers (only those in visible range) + const eventsSVG = events.map((ev, i) => { + if (ev.year < rangeStart || ev.year > rangeEnd) return ''; + const x = yearToX(ev.year); + const color = _eventTypeColor(ev.type); + return ` + + + + ${ev.year} — ${ev.label} + + `; + }).join(''); + + // Mid axis (zero baseline) + const midAxis = ``; + + // Y labels — direction header + max-count ticks. + // Direction labels sit at the SVG's very left edge (anchor start at x=2), + // so they stay confined to the left gutter and never collide with bars. + const yLabels = ` + ↑ Created + ↓ Abolished + ${yMax} + 0 + ${yMax} + + `; + + // Range rail at the bottom — two handles for zoom + one thumb for focus. + const scrubY = H - PAD_B + 30; + const scrubX1 = PAD_L; + const scrubX2 = W - PAD_R; + const proposedFocus = opts.focusYear ?? Math.round(rangeStart + (rangeEnd - rangeStart) * 0.5); + const initialFocusYear = Math.max(rangeStart, Math.min(rangeEnd, proposedFocus)); + + // ALL three rail elements (handles + focus thumb) share the SAME coordinate + // system: the full-rail axis (1950 → fullEnd). This is what makes them + // visually consistent — the focus thumb always sits between the handles. + const fullRailYearToX = (yr) => + PAD_L + ((yr - fullStart) / (fullEnd - fullStart)) * plotW; + const leftHandleX = fullRailYearToX(rangeStart); + const rightHandleX = fullRailYearToX(rangeEnd); + const focusX = fullRailYearToX(initialFocusYear); + + const railSVG = ` + + + + ${fullStart} + ${fullEnd} + + + + ${initialFocusYear} + + + `; + + const eventLegend = ['constitutional', 'institutional', 'reform', 'judgment'].map(t => + `${t}` + ).join(''); + + const bucketLabel = bucketSize === 10 ? 'decade' : bucketSize === 5 ? '5-yr' : 'year'; + const span = rangeEnd - rangeStart; + + // Preset eras — policy-researcher language. Each renders as a clickable pill. + const currentYear = new Date().getFullYear(); + const presets = [ + { label: 'All', s: fullStart, e: fullEnd }, + { label: 'Pre-tribunalisation 1950–85', s: 1950, e: 1985 }, + { label: 'Liberalisation 1991–2010', s: 1991, e: 2010 }, + { label: 'Tribunals Reforms era 2017+', s: 2017, e: fullEnd }, + { label: 'Last 25 yr', s: currentYear - 25, e: fullEnd }, + ]; + const presetsHTML = presets.map(p => { + const active = p.s === rangeStart && p.e === rangeEnd; + return ``; + }).join(''); + + return ` +
+
+ ${entities.filter(e => e.created_year).length} entities with creation year · + ${entities.filter(e => e.abolished_year).length} with abolition year · + ${events.length} constitutional moments + + ${buckets.length} ${bucketLabel} bucket${buckets.length === 1 ? '' : 's'} · ${span} yr span + +
+
${presetsHTML}
+
+ + ${midAxis} + ${yLabels} + ${barsSVG} + ${eventsSVG} + ${railSVG} + +
+
${eventLegend}click event = focus · double-click = zoom ±15 yr
+
+
+ `; +} +// "Spine + anomalies" — researcher-grade overview rather than a 600-node graph. +// Left: the canonical 5-tier appellate structure with curated reference +// entities at each tier (the rest is available via the catalog drawer +// and per-entity profiles). +// Right: structural anomalies in the appellate chain — entities flagged as +// Not Constituted, Partial Operational, or carrying documented +// structural gaps. These are the editorial story. +// +// Why this shape: a policy researcher already knows there is a Supreme Court +// and 25 High Courts; the value of an "appellate hierarchy" overview is to +// surface *what is structurally broken*, not enumerate names already familiar. + +const TIER_DEFS = [ + { key: 0, name: 'Constitutional apex', note: 'Final appellate jurisdiction under Article 136 (SLP).' }, + { key: 1, name: 'Constitutional courts & central tribunals', note: 'High Courts under Article 214; central tribunals under their parent statutes.' }, + { key: 2, name: 'Permanent benches & state tribunals', note: 'Permanent HC benches; state-level appellate tribunals.' }, + { key: 3, name: 'Subordinate appellate & regional', note: 'District & sessions courts; regional tribunal benches.' }, + { key: 4, name: 'First-instance & quasi-judicial', note: 'Trial-level courts and original-jurisdiction quasi-judicial bodies.' }, +]; + +function _entitiesInAppellateGraph() { + const set = new Set(); + for (const r of State.graph?.relationships || []) { + if (r.relationship_category === 'appellate_chain') { + set.add(r.source); set.add(r.target); + } + } + return set; +} + +// Structural anomaly register — every category a legal-policy researcher would +// consider materially anomalous. Project-wide, not restricted to the appellate +// graph (Not Constituted entities by definition have no edges). +// +// Severity order (informs default-open state + colour): +// critical → Not Constituted, De Facto Blocked, Abolished +// high → Suspended, Partial Operational, Merged +// moderate → Structural exception, Contested data, Structural gaps +function _appellateAnomalyGroups() { + const entities = State.graph?.entities || []; + const now = new Date().getFullYear(); + + // Per-row fact: the single most relevant datum for a researcher (year + context). + const fact = (e, cat) => { + if (cat === 'Not Constituted' && e.created_year) { + return `${e.created_year} · ${now - e.created_year} yr pending`; + } + if (cat === 'Abolished' && e.abolished_year) { + return `Abolished ${e.abolished_year}`; + } + if (cat === 'Suspended' && e.suspended_year) return `Suspended ${e.suspended_year}`; + if (cat === 'Merged') { + const into = e.merged_into || e._detail?.merged_into; + return into ? `→ ${into}` : 'Merged'; + } + if (cat === 'De Facto Blocked') return 'Non-operational in practice'; + if (cat === 'Partial Operational') return 'Partial coverage'; + if (cat === 'Structural exception') return 'Deviates from statutory template'; + if (cat === 'Contested data') return e.data_quality_notes ? 'Sources disagree' : 'Data contested'; + if (cat === 'Structural gaps') { + const n = Number(e.gap_count) || (e.gaps?.length || 0); + return `${n} gap${n === 1 ? '' : 's'}`; + } + return ''; + }; + + const groups = { + 'Not Constituted': { severity: 'critical', entities: [] }, + 'Abolished': { severity: 'abolished', entities: [] }, + 'De Facto Blocked': { severity: 'critical', entities: [] }, + 'Suspended': { severity: 'high', entities: [] }, + 'Partial Operational': { severity: 'high', entities: [] }, + 'Merged': { severity: 'high', entities: [] }, + 'Structural exception': { severity: 'moderate', entities: [] }, + 'Contested data': { severity: 'moderate', entities: [] }, + 'Structural gaps': { severity: 'moderate', entities: [] }, + }; + + // First pass: assign by primary operational_status. An entity sits in exactly + // one status bucket so the count tallies cleanly with the stat band. + for (const e of entities) { + const status = e.operational_status; + const row = { id: e.id, name: e.name, abbr: e.abbreviation }; + let placed = null; + if (status === 'Not_Constituted') placed = 'Not Constituted'; + else if (status === 'Abolished') placed = 'Abolished'; + else if (status === 'De_Facto_Blocked') placed = 'De Facto Blocked'; + else if (status === 'Suspended') placed = 'Suspended'; + else if (status === 'Partial_Operational') placed = 'Partial Operational'; + else if (status === 'Merged') placed = 'Merged'; + if (placed) { + row.fact = fact(e, placed); + groups[placed].entities.push(row); + } + } + + // Second pass: structural-exception, contested data quality, and documented + // gaps for *active* entities only (we don't want to double-count an Abolished + // entity into a gaps bucket — the abolition IS the anomaly). + for (const e of entities) { + if (['Not_Constituted', 'Abolished', 'De_Facto_Blocked', 'Suspended', 'Partial_Operational', 'Merged'] + .includes(e.operational_status)) continue; + const row = { id: e.id, name: e.name, abbr: e.abbreviation }; + if (e.structural_exception) { + row.fact = fact(e, 'Structural exception'); + groups['Structural exception'].entities.push(row); + continue; + } + if (e.data_quality === 'contested') { + row.fact = fact(e, 'Contested data'); + groups['Contested data'].entities.push(row); + continue; + } + const gapCount = Number(e.gap_count) || (e.gaps?.length || 0); + if (gapCount > 0) { + row.fact = fact({ ...e, gap_count: gapCount }, 'Structural gaps'); + groups['Structural gaps'].entities.push(row); + } + } + + // Sort within group: by name (researcher scan-pattern). + for (const k of Object.keys(groups)) { + groups[k].entities.sort((a, b) => (a.name || '').localeCompare(b.name || '')); + } + + return Object.entries(groups) + .filter(([, g]) => g.entities.length) + .map(([tag, g]) => ({ tag, severity: g.severity, entities: g.entities })); +} + +function _wireTemporalStructure(tsWrap, entities) { + const events = (State.graph?.timeline_events || []).slice().sort((a, b) => a.year - b.year); + const W = 760, PAD_L = 64, PAD_R = 20; + const plotW = W - PAD_L - PAD_R; + const fullStart = TEMPORAL_DECADE_START; + const fullEnd = TEMPORAL_DECADE_END + 10; + const MIN_SPAN = 5; // smallest zoom span in years + + const getState = () => { + const wrap = tsWrap.querySelector('.ts-wrap'); + return { + wrap, + svg: tsWrap.querySelector('.ts-svg'), + focusPanel: tsWrap.querySelector('#ts-focus-panel'), + tip: tsWrap.querySelector('.ts-tip'), + tipBg: tsWrap.querySelector('.ts-tip-bg'), + tipText: tsWrap.querySelector('.ts-tip-text'), + handleL: tsWrap.querySelector('.ts-handle-left'), + handleR: tsWrap.querySelector('.ts-handle-right'), + railRange: tsWrap.querySelector('.ts-rail-range'), + thumb: tsWrap.querySelector('.ts-scrub-thumb'), + focusLine: tsWrap.querySelector('.ts-scrub-focus-line'), + yearText: tsWrap.querySelector('.ts-scrub-year'), + rangeStart: parseInt(wrap.dataset.rangeStart, 10), + rangeEnd: parseInt(wrap.dataset.rangeEnd, 10), + focusYear: parseInt(wrap.dataset.focusYear, 10), + }; + }; + + const rerender = (overrides = {}) => { + const s = getState(); + tsWrap.innerHTML = renderTemporalStructure({ + rangeStart: overrides.rangeStart ?? s.rangeStart, + rangeEnd: overrides.rangeEnd ?? s.rangeEnd, + focusYear: overrides.focusYear ?? s.focusYear, + }); + refreshFocusPanel(); + }; + + // Coordinate helpers + // Visible-range x ↔ year (for the focus thumb / chart plot). + const visibleXToYear = (clientX) => { + const { svg, rangeStart, rangeEnd } = getState(); + const rect = svg.getBoundingClientRect(); + const scale = rect.width / W; + const localX = (clientX - rect.left) / scale; + const px = Math.max(PAD_L, Math.min(W - PAD_R, localX)); + const yr = rangeStart + ((px - PAD_L) / plotW) * (rangeEnd - rangeStart); + return Math.round(yr); + }; + const yearToVisibleLocalX = (yr, rangeStart, rangeEnd) => + PAD_L + ((yr - rangeStart) / (rangeEnd - rangeStart)) * plotW; + // Full-rail x ↔ year (for the range handles, which span the entire timeline regardless of zoom). + const fullRailXToYear = (clientX) => { + const { svg } = getState(); + const rect = svg.getBoundingClientRect(); + const scale = rect.width / W; + const localX = (clientX - rect.left) / scale; + const px = Math.max(PAD_L, Math.min(W - PAD_R, localX)); + const yr = fullStart + ((px - PAD_L) / plotW) * (fullEnd - fullStart); + return Math.round(yr); + }; + const yearToFullRailX = (yr) => + PAD_L + ((yr - fullStart) / (fullEnd - fullStart)) * plotW; + + const refreshFocusPanel = () => { + const { wrap, focusPanel } = getState(); + const year = parseInt(wrap.dataset.focusYear, 10); + const lo = year - FOCUS_WINDOW_YEARS; + const hi = year + FOCUS_WINDOW_YEARS; + const created = entities.filter(e => e.created_year != null && e.created_year >= lo && e.created_year <= hi); + const abolished = entities.filter(e => e.abolished_year != null && e.abolished_year >= lo && e.abolished_year <= hi); + const nearEvents = events.filter(ev => ev.year >= lo && ev.year <= hi); + const chip = (e, kind) => ``; + const eventRow = nearEvents.length ? ` +
+ ${nearEvents.map(ev => `${ev.year} · ${ev.label}`).join('')} +
` : ''; + if (!created.length && !abolished.length && !nearEvents.length) { + focusPanel.innerHTML = `

Nothing within ±${FOCUS_WINDOW_YEARS} years of ${year}.

`; + return; + } + focusPanel.innerHTML = ` +
+ ${year} + within ±${FOCUS_WINDOW_YEARS} yr + + ${created.length} created + ${abolished.length} abolished + +
+ ${eventRow} + ${created.length ? `
Born
${created.map(e => chip(e, 'birth')).join('')}
` : ''} + ${abolished.length ? `
Abolished
${abolished.map(e => chip(e, 'death')).join('')}
` : ''} + `; + }; + + refreshFocusPanel(); + + // ── Move focus thumb (always at full-rail x for consistency with handles) ─ + const moveScrubberTo = (year) => { + const { wrap, rangeStart, rangeEnd, thumb, yearText } = getState(); + year = Math.max(rangeStart, Math.min(rangeEnd, year)); + wrap.dataset.focusYear = year; + const x = yearToFullRailX(year); + thumb?.setAttribute('cx', x); + if (yearText) { yearText.setAttribute('x', x); yearText.textContent = year; } + refreshFocusPanel(); + }; + // Visual-only thumb update (no panel refresh — used during handle drag). + const syncThumbVisual = () => { + const { wrap, thumb, yearText } = getState(); + const yr = parseInt(wrap.dataset.focusYear, 10); + const x = yearToFullRailX(yr); + thumb?.setAttribute('cx', x); + if (yearText) { yearText.setAttribute('x', x); yearText.textContent = yr; } + }; + + // ── Tooltip ─────────────────────────────────────────────────── + const showTip = (anchorX, anchorY, text) => { + const { tip, tipBg, tipText } = getState(); + if (!tip) return; + // Measure: monospace text — estimate width by char count. + const w = Math.max(80, text.length * 7 + 16); + tipBg.setAttribute('width', w); + tip.setAttribute('transform', `translate(${anchorX - w / 2}, ${anchorY - 42})`); + tipText.setAttribute('x', w / 2); + tipText.textContent = text; + tip.style.display = ''; + }; + const hideTip = () => { + const { tip } = getState(); + if (tip) tip.style.display = 'none'; + }; + + // ── Drag dispatcher ─────────────────────────────────────────── + // dragRole: 'handle-left' | 'handle-right' | 'thumb' | 'plot' | null + let dragRole = null; + let pendingRangeStart = null; + let pendingRangeEnd = null; + + const startDrag = (target, clientX) => { + const role = target.closest('[data-role]')?.dataset.role; + if (role === 'handle-left' || role === 'handle-right' || role === 'thumb') { + dragRole = role; + const s = getState(); + pendingRangeStart = s.rangeStart; + pendingRangeEnd = s.rangeEnd; + updateDrag(clientX); + return true; + } + if (target.closest('.ts-svg') && !target.closest('.ts-bar, .ts-event circle, .ts-rail')) { + // Clicking on the chart plot area scrubs focus along the visible axis. + dragRole = 'plot'; + moveScrubberTo(visibleXToYear(clientX)); + return true; + } + return false; + }; + + const updateDrag = (clientX) => { + const s = getState(); + if (dragRole === 'handle-left') { + // Use the THUMB radius as the floor so the handle can never overlap the focus thumb + // visually — focus year auto-clamps in lockstep. + const yr = fullRailXToYear(clientX); + const clamped = Math.max(fullStart, Math.min(pendingRangeEnd - MIN_SPAN, yr)); + pendingRangeStart = clamped; + const x = yearToFullRailX(clamped); + s.handleL?.setAttribute('cx', x); + s.railRange?.setAttribute('x1', x); + showTip(x, parseFloat(s.handleL?.getAttribute('cy') || 0), + `From ${clamped} · span ${pendingRangeEnd - clamped}`); + // Live-clamp focus year if it now falls outside pending range. + const curFocus = parseInt(s.wrap.dataset.focusYear, 10); + if (curFocus < pendingRangeStart) { + s.wrap.dataset.focusYear = pendingRangeStart; + syncThumbVisual(); + } + } else if (dragRole === 'handle-right') { + const yr = fullRailXToYear(clientX); + const clamped = Math.max(pendingRangeStart + MIN_SPAN, Math.min(fullEnd, yr)); + pendingRangeEnd = clamped; + const x = yearToFullRailX(clamped); + s.handleR?.setAttribute('cx', x); + s.railRange?.setAttribute('x2', x); + showTip(x, parseFloat(s.handleR?.getAttribute('cy') || 0), + `To ${clamped} · span ${clamped - pendingRangeStart}`); + const curFocus = parseInt(s.wrap.dataset.focusYear, 10); + if (curFocus > pendingRangeEnd) { + s.wrap.dataset.focusYear = pendingRangeEnd; + syncThumbVisual(); + } + } else if (dragRole === 'thumb') { + // Thumb is on the full-rail axis — use the same conversion. + moveScrubberTo(fullRailXToYear(clientX)); + } else if (dragRole === 'plot') { + // Plot-area drag uses the visible (zoomed) axis. + moveScrubberTo(visibleXToYear(clientX)); + } + }; + + const endDrag = () => { + if (!dragRole) return; + if (dragRole === 'handle-left' || dragRole === 'handle-right') { + hideTip(); + const s = getState(); + if (pendingRangeStart !== s.rangeStart || pendingRangeEnd !== s.rangeEnd) { + const curFocus = parseInt(s.wrap.dataset.focusYear, 10); + const newFocus = Math.max(pendingRangeStart, Math.min(pendingRangeEnd, curFocus)); + rerender({ rangeStart: pendingRangeStart, rangeEnd: pendingRangeEnd, focusYear: newFocus }); + } + } + dragRole = null; + pendingRangeStart = null; + pendingRangeEnd = null; + }; + + tsWrap.addEventListener('mousedown', (ev) => { + if (ev.target.closest('.ts-preset, .ts-chip, .ts-bar, .ts-event circle')) return; + if (startDrag(ev.target, ev.clientX)) ev.preventDefault(); + }); + document.addEventListener('mousemove', (ev) => { if (dragRole) updateDrag(ev.clientX); }); + document.addEventListener('mouseup', endDrag); + + tsWrap.addEventListener('touchstart', (ev) => { + if (ev.target.closest('.ts-preset, .ts-chip, .ts-bar, .ts-event circle')) return; + if (ev.touches[0]) startDrag(ev.target, ev.touches[0].clientX); + }, { passive: true }); + document.addEventListener('touchmove', (ev) => { if (dragRole && ev.touches[0]) updateDrag(ev.touches[0].clientX); }, { passive: true }); + document.addEventListener('touchend', endDrag); + + // ── Click delegation (presets, bars, event single-click, chips) ────── + tsWrap.addEventListener('click', (ev) => { + const preset = ev.target.closest('.ts-preset'); + if (preset) { + const s = parseInt(preset.dataset.start, 10); + const e = parseInt(preset.dataset.end, 10); + rerender({ rangeStart: s, rangeEnd: e, focusYear: Math.round((s + e) / 2) }); + return; + } + const bar = ev.target.closest('.ts-bar'); + if (bar) { + const start = parseInt(bar.dataset.bucketStart, 10); + const size = parseInt(bar.dataset.bucketSize, 10); + moveScrubberTo(start + Math.floor(size / 2)); + return; + } + const evt = ev.target.closest('.ts-event'); + if (evt) { + const idx = parseInt(evt.dataset.eventIndex, 10); + const e = events[idx]; + if (e) moveScrubberTo(e.year); + return; + } + const chipBtn = ev.target.closest('.ts-chip'); + if (chipBtn) State.emit('navigateToDetail', chipBtn.dataset.entityId); + }); + + // ── Double-click an event marker → zoom ±15 yr around it ───── + tsWrap.addEventListener('dblclick', (ev) => { + const evt = ev.target.closest('.ts-event'); + if (!evt) return; + const idx = parseInt(evt.dataset.eventIndex, 10); + const e = events[idx]; + if (!e) return; + const s = Math.max(fullStart, e.year - 15); + const ee = Math.min(fullEnd, e.year + 15); + rerender({ rangeStart: s, rangeEnd: ee, focusYear: e.year }); + }); +} + +function renderAppellateHierarchy() { + const { tiers } = buildAppellateHierarchy(); + if (!tiers.length || tiers.every(t => !t.length)) { + return '

No appellate-chain relationships in the dataset yet.

'; + } + + // Curate each tier: surface 4 reference entities. Sort by structural salience — + // anomaly status first (so a Not Constituted entity at tier 1 is visible), + // then by entity name length (shorter ≈ more canonical) as a stable secondary. + const inGraph = _entitiesInAppellateGraph(); + const salience = (id) => { + const e = State.getEntityById(id); + if (!e) return 99; + if (e.operational_status === 'Not_Constituted') return 0; + if (e.operational_status === 'De_Facto_Blocked') return 1; + if (e.operational_status === 'Partial_Operational') return 2; + return 10; + }; + + const referenceChip = (id) => { + const e = State.getEntityById(id); + if (!e) return ''; + const label = e.abbreviation || e.name; + const full = (e.name || id).replace(/"/g, '"'); + const flag = e.operational_status === 'Not_Constituted' ? 'NOT CONSTITUTED' + : e.operational_status === 'De_Facto_Blocked' ? 'DE FACTO BLOCKED' + : e.operational_status === 'Abolished' ? `ABOLISHED${e.abolished_year ? ' ' + e.abolished_year : ''}` + : ''; + const chipClass = e.operational_status === 'Abolished' ? 'ah-chip ah-chip-abolished' : 'ah-chip'; + return ``; + }; + + const tierRow = (tier, ti) => { + const def = TIER_DEFS[ti] || { name: `Tier ${ti + 1}`, note: '' }; + const sorted = [...tier].sort((a, b) => salience(a) - salience(b) || (State.getEntityById(a)?.name || a).length - (State.getEntityById(b)?.name || b).length); + const refs = sorted.slice(0, 4).map(referenceChip).join(''); + const moreCount = tier.length - 4; + const rest = sorted.slice(4).map(referenceChip).join(''); + return ` +
+
${ti + 1}
+
+
+ ${def.name} + ${tier.length} ${tier.length === 1 ? 'entity' : 'entities'} +
+ ${def.note ? `
${def.note}
` : ''} +
+ ${refs} + ${moreCount > 0 ? `
+ ${moreCount} more
${rest}
` : ''} +
+
+
+ `; + }; + + const anomalyGroups = _appellateAnomalyGroups(); + const anomalyTotal = anomalyGroups.reduce((acc, g) => acc + g.entities.length, 0); + const anomalyHTML = anomalyGroups.length ? anomalyGroups.map(g => ` +
+ + ${g.tag} + ${g.entities.length} + +
+ ${g.entities.map(a => ` + + `).join('')} +
+
+ `).join('') : '

No structural anomalies flagged in appellate graph.

'; + + const totalEntities = tiers.reduce((acc, t) => acc + t.length, 0); + + return ` +
+
+ ${totalEntities} entities across + ${tiers.length} appellate tiers · + ${anomalyTotal} structural anomalies +
+
+
+
The spine
+ ${tiers.map(tierRow).join('')} +
+ +
+
+ `; +} + function buildClusterDrillHTML(clusterId, entities, filterIds = null) { const label = CLUSTER_LABELS[clusterId] || clusterId; const idSet = filterIds ? new Set(filterIds) : null; @@ -741,6 +1449,209 @@ function showClusterDrill(clusterId, entities, container, filterIds = null) { // ── Main render ─────────────────────────────────────────────────────────────── +// ── Stat-band detail panels (researcher hat: dense, sourced, one-line-per-row) ─ +const CURRENT_YEAR = new Date().getFullYear(); + +function _statPanelEntities(stat, entities) { + if (stat === 'risk') { + return entities + .filter(e => ['high', 'severe'].includes(e.derived?.independence_risk_level)) + .sort((a, b) => (b.derived?.independence_risk_score ?? 0) - (a.derived?.independence_risk_score ?? 0)); + } + if (stat === 'nc') { + return entities + .filter(e => e.operational_status === 'Not_Constituted') + .sort((a, b) => (a.created_year ?? 9999) - (b.created_year ?? 9999)); + } + if (stat === 'abolished') { + return entities + .filter(e => e.operational_status === 'Abolished') + .sort((a, b) => (b.abolished_year ?? 0) - (a.abolished_year ?? 0)); + } + if (stat === 'disposal') { + return entities + .filter(e => e._detail?.case_volume?.disposal_rate != null) + .sort((a, b) => (a._detail.case_volume.disposal_rate) - (b._detail.case_volume.disposal_rate)); + } + return entities; +} + +function _statPanelMeta(stat, list, totalEntities) { + if (stat === 'coverage') return { + title: 'Coverage', + blurb: `${totalEntities} entities mapped against the ~1,500-entity universe (Constitution + central + state + UT). Coverage is sparse for state-level subordinate courts; central and constitutional layers are substantially complete.`, + column: 'By govt level · count · share', + }; + if (stat === 'risk') return { + title: 'High or severe independence risk', + blurb: 'Algorithmic indicator of structural design — not findings of conduct. Drivers include appointer-litigant conflict, executive removal authority without judicial concurrence, opaque appointment criteria, and reappointment dependency.', + column: 'IR score · level', + }; + if (stat === 'nc') return { + title: 'Legislated but not constituted', + blurb: 'Entities created by statute but not yet operationalised — appellate vacuums where the legislated remedy does not exist in practice. Litigants typically route through writ jurisdiction (HC under Article 226) instead.', + column: 'Legislated · years pending', + }; + if (stat === 'abolished') return { + title: 'Abolished', + blurb: 'Entities formally dissolved by statute, gazette notification, or judicial order. Their dissolution typically routed caseload to successor courts (e.g. IPAB → HCs after 2021 Tribunals Reforms Act). Transitional provisions are often the structural research question.', + column: 'Abolished · years since', + }; + if (stat === 'disposal') return { + title: 'Case-volume tracked entities · worst disposal first', + blurb: 'Ratio of cases disposed to cases filed in the most recent NJDG snapshot. Below 1.0 means backlog is growing. Coverage limited to entities with NJDG data published in this build.', + column: 'Disposal · pending', + }; + return { title: '', blurb: '', column: '' }; +} + +function _statRow(stat, e) { + const meta = []; + if (stat === 'risk') { + const lvl = e.derived?.independence_risk_level || '—'; + const sc = e.derived?.independence_risk_score ?? '—'; + meta.push(`${sc}${lvl.toUpperCase()}`); + } else if (stat === 'nc') { + const yr = e.created_year; + const yrsPending = yr ? (CURRENT_YEAR - yr) : null; + meta.push(`${yr || '—'}${yrsPending != null ? `${yrsPending} yr unconstituted` : ''}`); + } else if (stat === 'abolished') { + const yr = e.abolished_year; + const yrsSince = yr ? (CURRENT_YEAR - yr) : null; + meta.push(`${yr || '—'}${yrsSince != null ? `${yrsSince} yr ago` : ''}`); + } else if (stat === 'disposal') { + const cv = e._detail?.case_volume || {}; + const rate = cv.disposal_rate != null ? cv.disposal_rate.toFixed(2) : '—'; + const pending = cv.pending_cases != null ? cv.pending_cases.toLocaleString() : '—'; + meta.push(`${rate}${pending} pending`); + } else if (stat === 'coverage') { + meta.push(`${(e.cluster || '').replace(/_/g, ' ')}${(e.level_of_government || '').replace(/_/g, ' ')}`); + } + return ``; +} + +// Govt-level segmentation for the coverage panel. Order matters: it drives +// stack order in the segmented bar and the legend. +const GOV_LEVELS = [ + { key: 'Central', short: 'C', label: 'Central' }, + { key: 'Shared_CentralState', short: 'C/S', label: 'Shared' }, + { key: 'Shared_MultiState', short: 'M/S', label: 'Multi-state' }, + { key: 'State', short: 'S', label: 'State' }, + { key: 'UT', short: 'UT', label: 'UT' }, +]; + +// Coverage filter state — set of selected govt-level keys, or null for "all". +// Lives on the DOM (data-filter-levels) so it survives focus across re-renders +// without needing global state. +function _coverageActiveSet(scope) { + const raw = scope?.dataset?.filterLevels; + if (raw == null || raw === '') return null; + return new Set(raw.split(',').filter(Boolean)); +} + +function _renderCoveragePanel(entities, selected) { + // If `selected` is null we treat all levels as active. + const isActive = (key) => !selected || selected.has(key); + const filtered = entities.filter(e => isActive(e.level_of_government || 'unknown')); + const filteredTotal = filtered.length || 1; // avoid /0 in pct + + // Group filtered entities by cluster. + const byCluster = new Map(); + for (const e of filtered) { + const c = e.cluster || 'unknown'; + if (!byCluster.has(c)) byCluster.set(c, []); + byCluster.get(c).push(e); + } + + const rows = [...byCluster.entries()] + .sort((a, b) => b[1].length - a[1].length) + .map(([clusterId, list]) => { + const total = list.length; + const pct = ((total / filteredTotal) * 100).toFixed(1); + const label = CLUSTER_LABELS[clusterId] || clusterId.replace(/_/g, ' '); + + const counts = {}; + for (const e of list) { + const lv = e.level_of_government || 'unknown'; + counts[lv] = (counts[lv] || 0) + 1; + } + const orderedLevels = GOV_LEVELS.filter(l => counts[l.key]); + const otherCount = total - orderedLevels.reduce((s, l) => s + counts[l.key], 0); + const segments = orderedLevels.map(l => { + const w = (counts[l.key] / total) * 100; + return ``; + }).join('') + (otherCount > 0 + ? `` + : ''); + + const breakdown = orderedLevels.map(l => + `${l.short} ${counts[l.key]}` + ).join(''); + + return ``; + }).join(''); + + // Legend doubles as filter UI. Inactive levels are visibly muted. + const legend = GOV_LEVELS.map(l => { + const active = isActive(l.key); + return ``; + }).join(''); + + // Filter summary: count of entities in current selection vs total. + const filterNote = selected + ? `${filtered.length} of ${entities.length} shown · ` + : `Click a level to filter`; + + return `
+
${legend}
+ ${filterNote} +
${rows || '

No entities match the current filter.

'}`; +} + +function renderStatPanel(stat, entities, opts = {}) { + const meta = _statPanelMeta(stat, null, entities.length); + let body; + if (stat === 'coverage') { + body = _renderCoveragePanel(entities, opts.coverageFilter || null); + } else { + const list = _statPanelEntities(stat, entities); + if (!list.length) { + body = '

No matching entities in the current dataset.

'; + } else { + body = list.map(e => _statRow(stat, e)).join(''); + } + } + return ` +
+
+
+

${meta.title}

+

${meta.blurb}

+
+ +
+
+ Entity + ${meta.column} +
+
${body}
+
+ `; +} + export function initSummaryView() { const graph = State.graph; if (!graph) return; @@ -756,6 +1667,8 @@ export function initSummaryView() { ?? entities.filter(e => e.operational_status === 'Not_Constituted').length; const highRiskCount = metrics.high_independence_risk_count ?? entities.filter(e => ['high', 'severe'].includes(e.derived?.independence_risk_level)).length; + const abolishedCount = metrics.abolished_count + ?? entities.filter(e => e.operational_status === 'Abolished').length; container.innerHTML = `
@@ -765,24 +1678,29 @@ export function initSummaryView() {

Structural map of appointment chains, funding flows, independence risk, and systemic gaps across India's judicial ecosystem.

-
-
+
+
-
+ +
-
+ +
- ${avgDisposal ? `
+ + + ${avgDisposal ? `
` : ''} + Avg disposal rate (NJDG-tracked entities) + ` : ''}
+
@@ -792,6 +1710,14 @@ export function initSummaryView() { ${renderSpotlightCarousel(spotlightSet(entities), entities.length)}
+
+
+ Appellate hierarchy +
+

The five-tier appellate spine on the left; a project-wide structural anomaly register on the right — every entity flagged by operational status, structural exception, contested data, or documented gap. Click any reference entity or anomaly to open its structural profile.

+
+
+
Structural health distribution @@ -803,10 +1729,39 @@ export function initSummaryView() {
+
+
+ Timeline · how we got here +
+

Three quarters of a century of judicial institution-building, decade by decade. Creations rise above the line, abolitions fall below; constitutional moments are dotted in. Drag the focus year to see what was born or dissolved near any moment — or jump to a policy era.

+
+
`; + // ── Render temporal structure ───────────────────────────────────────────── + requestAnimationFrame(() => { + const tsWrap = container.querySelector('#temporal-structure-wrap'); + if (!tsWrap) return; + tsWrap.innerHTML = renderTemporalStructure(); + _wireTemporalStructure(tsWrap, entities); + }); + + // ── Render appellate hierarchy ───────────────────────────────────────────── + requestAnimationFrame(() => { + const ahWrap = container.querySelector('#appellate-hierarchy-wrap'); + if (ahWrap) { + ahWrap.innerHTML = renderAppellateHierarchy(); + ahWrap.addEventListener('click', ev => { + const target = ev.target.closest('.ah-chip, .ah-anom'); + if (!target) return; + const id = target.dataset.entityId; + if (id) State.emit('navigateToDetail', id); + }); + } + }); + // ── Render strip plot (sized to container after DOM paint) ─────────────── requestAnimationFrame(() => { const wrap = container.querySelector('#strip-plot-wrap'); @@ -878,6 +1833,111 @@ export function initSummaryView() { const featured = spotlightSet(entities); wireSpotlightCarousel(container, featured); + // ── Wire stat-band tiles → toggle detail panel ───────────────────────────── + const statBand = container.querySelector('#stat-band'); + const statPanel = container.querySelector('#stat-panel'); + let openStat = null; + const closeStatPanel = () => { + statPanel.hidden = true; + statPanel.innerHTML = ''; + statBand?.querySelectorAll('.stat-item').forEach(b => { + b.setAttribute('aria-expanded', 'false'); + b.classList.remove('stat-item-active'); + }); + openStat = null; + }; + statBand?.addEventListener('click', e => { + const btn = e.target.closest('.stat-item'); + if (!btn) return; + const stat = btn.dataset.stat; + if (stat === openStat) { closeStatPanel(); return; } + statPanel.innerHTML = renderStatPanel(stat, entities); + statPanel.hidden = false; + statBand.querySelectorAll('.stat-item').forEach(b => { + const isActive = b === btn; + b.setAttribute('aria-expanded', isActive ? 'true' : 'false'); + b.classList.toggle('stat-item-active', isActive); + }); + openStat = stat; + // Scroll the panel into view if it ends up offscreen. + requestAnimationFrame(() => { + const r = statPanel.getBoundingClientRect(); + if (r.bottom > window.innerHeight) { + statPanel.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); + } + }); + }); + // Coverage-panel-local filter state, kept on the .sp-card dataset for resilience. + const _rerenderCoverage = (card) => { + const selectedRaw = card.dataset.coverageFilter || ''; + const selected = selectedRaw ? new Set(selectedRaw.split(',')) : null; + const fresh = renderStatPanel('coverage', entities, { coverageFilter: selected }); + statPanel.innerHTML = fresh; + // Re-apply dataset to the new card (innerHTML wipes prior dataset). + const newCard = statPanel.querySelector('.sp-card'); + if (newCard) newCard.dataset.coverageFilter = selectedRaw; + }; + + statPanel.addEventListener('click', e => { + if (e.target.closest('.sp-close')) { closeStatPanel(); return; } + + const card = e.target.closest('.sp-card'); + const isCoverage = card?.dataset.stat === 'coverage'; + + // Legend filter toggle + const legendBtn = e.target.closest('.sp-legend-item'); + if (legendBtn && isCoverage) { + e.preventDefault(); + e.stopPropagation(); + const key = legendBtn.dataset.levelKey; + const currentRaw = card.dataset.coverageFilter || ''; + const all = GOV_LEVELS.map(l => l.key); + let selected; + if (!currentRaw) { + // First click: deselect the one clicked = keep all others. + selected = new Set(all.filter(k => k !== key)); + } else { + selected = new Set(currentRaw.split(',')); + if (selected.has(key)) selected.delete(key); else selected.add(key); + } + // If everything is back in: clear filter (null state). If nothing: keep empty set but show empty. + if (selected.size === all.length) { + card.dataset.coverageFilter = ''; + } else { + card.dataset.coverageFilter = [...selected].join(','); + } + _rerenderCoverage(card); + return; + } + + // Reset filter + if (e.target.closest('.sp-filter-reset') && isCoverage) { + e.preventDefault(); + e.stopPropagation(); + card.dataset.coverageFilter = ''; + _rerenderCoverage(card); + return; + } + + // Cluster row → drill overlay, respecting active filter when set + const clusterRow = e.target.closest('.sp-row-cluster-bar'); + if (clusterRow) { + e.preventDefault(); + e.stopPropagation(); + const cid = clusterRow.dataset.clusterId; + const selectedRaw = isCoverage ? (card.dataset.coverageFilter || '') : ''; + if (selectedRaw) { + const sel = new Set(selectedRaw.split(',')); + const ids = entities + .filter(en => en.cluster === cid && sel.has(en.level_of_government || 'unknown')) + .map(en => en.id); + showClusterDrill(cid, entities, container, ids); + } else { + showClusterDrill(cid, entities, container); + } + } + }); + // ── Wire card actions, browse-all, generic entity links ─────────────────── container.addEventListener('click', e => { const reportBtn = e.target.closest('.sp-report'); diff --git a/jem/web/styles/main.css b/jem/web/styles/main.css index b820748..7f797a2 100644 --- a/jem/web/styles/main.css +++ b/jem/web/styles/main.css @@ -2514,11 +2514,271 @@ body.jem-resizing-inspector * { .stat-item { flex: 1; - padding: 0 24px; + padding: 4px 24px; border-right: 1px solid var(--jem-faint); + /* Reset button defaults so it behaves like the previous div */ + background: transparent; + text-align: left; + font-family: inherit; + cursor: pointer; + border-top: none; + border-bottom: none; + border-left: none; + position: relative; + transition: background 0.12s; } .stat-item:last-child { border-right: none; padding-right: 0; } .stat-item:first-child { padding-left: 0; } +.stat-item:hover { background: rgba(0,0,0,0.02); } +.stat-item::after { + content: '↗'; + position: absolute; + top: 6px; + right: 12px; + font-size: 11px; + color: var(--jem-mute); + opacity: 0; + transition: opacity 0.12s, transform 0.12s; +} +.stat-item:hover::after { opacity: 0.6; } +.stat-item-active { + background: rgba(17, 24, 39, 0.04); +} +.stat-item-active::after { content: '−'; opacity: 1; color: var(--jem-ink); } + +/* ── Stat detail panel (researcher-grade list) ───────────────────────────── */ +/* Scoped under .stat-panel so .sp-card here does NOT collide with the + spotlight carousel's .sp-card (which lives at line ~1221). */ +.stat-panel { + margin: -16px 0 24px; +} +.stat-panel .sp-card { + border: 1px solid var(--jem-faint); + border-top: 2px solid var(--jem-ink); + border-radius: 0 0 8px 8px; + background: #fff; + padding: 16px 18px 12px; +} +.sp-head { + display: flex; + align-items: flex-start; + gap: 16px; + margin-bottom: 10px; +} +.sp-head > div:first-child { flex: 1; } +.sp-title { + font-family: Georgia, serif; + font-size: 16px; + font-weight: 600; + color: #111827; + margin: 0 0 4px; +} +.sp-blurb { + font-size: 12px; + color: #4b5563; + line-height: 1.5; + margin: 0; + max-width: 78ch; +} +.sp-close { + background: transparent; + border: 1px solid var(--jem-faint); + border-radius: 50%; + width: 24px; + height: 24px; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + font-size: 11px; + color: var(--jem-mute); + flex-shrink: 0; +} +.sp-close:hover { color: var(--jem-ink); border-color: var(--jem-ink); } +.sp-col-head { + display: flex; + gap: 12px; + font-family: var(--font-mono, monospace); + font-size: 9px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.08em; + color: var(--jem-mute); + padding: 6px 10px; + border-top: 1px solid var(--jem-faint); + border-bottom: 1px solid var(--jem-faint); + margin-bottom: 2px; +} +.sp-col-name { flex: 1; } +.sp-col-meta { flex-shrink: 0; min-width: 200px; text-align: right; } +.sp-list { + max-height: 420px; + overflow-y: auto; + display: flex; + flex-direction: column; +} +.sp-row { + display: flex; + align-items: center; + gap: 12px; + padding: 7px 10px; + background: transparent; + border: none; + border-bottom: 1px solid #f1f5f9; + cursor: pointer; + font-family: var(--font-main); + font-size: 12px; + text-align: left; + color: #1f2937; + transition: background 0.1s; +} +.sp-row:last-child { border-bottom: none; } +.sp-row:hover { background: #f9fafb; } +.sp-row-name { flex: 1; font-weight: 500; } +.sp-row-abbr { color: var(--jem-mute); font-weight: 400; } +.sp-row-meta { + flex-shrink: 0; + min-width: 200px; + display: flex; + justify-content: flex-end; + align-items: center; + gap: 8px; + font-family: var(--font-mono, monospace); + font-size: 11px; +} +.sp-row-score { + font-weight: 700; + color: #111827; +} +.sp-row-lvl { + font-size: 9px; + font-weight: 700; + letter-spacing: 0.04em; + padding: 1px 5px; + border-radius: 3px; + background: #f3f4f6; +} +.sp-lvl-severe { background: #ede9fe; color: #6d28d9; } +.sp-lvl-high { background: #fee2e2; color: #b91c1c; } +.sp-lvl-moderate { background: #fef3c7; color: #92400e; } +.sp-lvl-low { background: #d1fae5; color: #047857; } +.sp-row-yr { color: var(--jem-ink); font-weight: 600; } +.sp-row-pending, .sp-row-cluster, .sp-row-gov { color: var(--jem-mute); } +.sp-row-cluster { text-transform: capitalize; } +.sp-row-gov { font-size: 10px; text-transform: uppercase; letter-spacing: 0.04em; } +.sp-row-cluster-bar { gap: 16px; } +.sp-bar { + display: inline-block; + width: 90px; + height: 5px; + background: #f1f5f9; + border-radius: 3px; + overflow: hidden; +} +.sp-bar-fill { display: block; height: 100%; background: var(--jem-ink); } + +/* Stacked segmented bar (coverage panel — govt-level split) */ +.sp-bar-stacked { + display: inline-flex; + width: 110px; + height: 6px; + border-radius: 3px; + overflow: hidden; + background: #f1f5f9; +} +.sp-seg { display: inline-block; height: 100%; } +.sp-seg-central { background: #111827; } +.sp-seg-shared-centralstate { background: #6366f1; } +.sp-seg-shared-multistate { background: #0891b2; } +.sp-seg-state { background: #d97706; } +.sp-seg-ut { background: #16a34a; } +.sp-seg-unknown { background: #cbd5e1; } + +/* Govt-level inline count tags */ +.sp-gov-breakdown { + display: inline-flex; + gap: 4px; + flex-shrink: 0; +} +.sp-gov-tag { + font-family: var(--font-mono, monospace); + font-size: 9px; + font-weight: 700; + padding: 1px 5px; + border-radius: 2px; + letter-spacing: 0.02em; + color: #fff; +} +.sp-gov-central { background: #111827; } +.sp-gov-shared-centralstate { background: #6366f1; } +.sp-gov-shared-multistate { background: #0891b2; } +.sp-gov-state { background: #d97706; } +.sp-gov-ut { background: #16a34a; } + +/* Legend row above the cluster list — doubles as filter UI */ +.sp-legend-row { + display: flex; + justify-content: space-between; + align-items: center; + gap: 12px; + padding: 6px 10px 10px; + border-bottom: 1px dashed var(--jem-faint); + margin-bottom: 4px; + flex-wrap: wrap; +} +.sp-legend { + display: flex; + gap: 6px; + flex-wrap: wrap; + font-size: 10px; +} +.sp-legend-item { + display: inline-flex; + align-items: center; + gap: 5px; + background: transparent; + border: 1px solid var(--jem-faint); + border-radius: 4px; + padding: 3px 8px; + cursor: pointer; + font-family: var(--font-main); + color: var(--jem-ink); + transition: background 0.1s, border-color 0.1s, opacity 0.1s; +} +.sp-legend-item:hover { border-color: var(--jem-ink); } +.sp-legend-active { background: #f3f4f6; } +.sp-legend-inactive { opacity: 0.4; } +.sp-legend-inactive .sp-legend-swatch { filter: grayscale(0.6); } +.sp-legend-swatch { + display: inline-block; + width: 10px; + height: 10px; + border-radius: 2px; +} +.sp-filter-note { + font-size: 10px; + color: var(--jem-mute); + display: inline-flex; + align-items: center; + gap: 6px; + font-family: var(--font-mono, monospace); +} +.sp-filter-note-mute { color: #9ca3af; font-style: italic; font-family: var(--font-main); } +.sp-filter-reset { + background: transparent; + border: none; + color: var(--jem-signal); + cursor: pointer; + font: inherit; + text-decoration: underline; + padding: 0; +} +.sp-filter-reset:hover { color: var(--jem-ink); } + +/* Coverage rows get a wider meta column to fit the breakdown tags */ +.sp-row-cluster-bar .sp-row-meta { min-width: 320px; } +.sp-col-head:has(+ .sp-list .sp-row-cluster-bar) .sp-col-meta { min-width: 320px; } +.sp-empty { font-size: 12px; color: var(--jem-mute); font-style: italic; padding: 12px 10px; } .stat-num { display: block; @@ -2531,6 +2791,7 @@ body.jem-resizing-inspector * { .stat-denom { font-size: 16px; color: var(--jem-mute); font-weight: 400; } .stat-item-risk .stat-num { color: #dc2626; } .stat-item-nc .stat-num { color: #c2722b; } +.stat-item-abolished .stat-num { color: #6d28d9; } .stat-lbl { font-size: 11px; color: var(--jem-mute); margin-top: 2px; display: block; } /* ── Small multiples ──────────────────────────────────────────────────────── */ @@ -2991,14 +3252,168 @@ body.jem-resizing-inspector * { } .dv-action-btn.dv-export-pdf:hover { background: #000; } +/* Share button layout — icon + label */ +.dv-action-btn.dv-copy-link { + display: inline-flex; + align-items: center; + gap: 6px; +} +.dv-link-icon { display: block; flex-shrink: 0; } + +/* Copy-link button feedback states */ +.dv-action-btn.dv-copy-ok { + background: #ecfdf5; + border-color: #10b981; + color: #047857; +} +.dv-action-btn.dv-copy-err { + background: #fef2f2; + border-color: #ef4444; + color: #b91c1c; +} + +/* Lightweight toast (used for "entity not found" on stale shared links) */ +.jem-toast { + position: fixed; + bottom: 24px; + left: 50%; + transform: translate(-50%, 16px); + background: #111827; + color: #fff; + padding: 10px 16px; + border-radius: 8px; + font-size: 13px; + font-family: var(--font-main); + box-shadow: 0 8px 24px rgba(0,0,0,0.18); + opacity: 0; + transition: opacity 0.2s, transform 0.2s; + z-index: 9999; + pointer-events: none; + max-width: 80vw; +} +.jem-toast-in { opacity: 1; transform: translate(-50%, 0); } +.jem-toast-warn { background: #92400e; } + /* ── Structural health hero ─────────────────────────────────────────────── */ .health-hero { - background: linear-gradient(135deg, var(--h-color) 0%, #ffffff 65%); + background: #ffffff; border: 1px solid #e5e7eb; border-left: 4px solid var(--h-color); border-radius: 10px; padding: 18px 20px; margin-bottom: 14px; + position: sticky; + top: 16px; + z-index: 5; + box-shadow: 0 1px 2px rgba(0,0,0,0.04); +} + +/* ── 1. Summary score card (sticky, not collapsible) ───────────────────── */ +.summary-score-card { + background: #ffffff; + border: 2px solid #d1d5db; + border-left: 4px solid var(--h-color); + border-radius: 12px; + padding: 16px 18px 14px; + margin-bottom: 12px; + position: sticky; + top: 16px; + z-index: 5; + box-shadow: 0 0 0 4px color-mix(in srgb, var(--h-color) 12%, transparent), + 0 2px 6px rgba(0,0,0,0.05); +} + +/* ── 2. Constituent breakdown card ─────────────────────────────────────── */ +.dv-section-constituents .constituent-block { + padding: 10px 0; + border-top: 1px dashed #e5e7eb; +} +.dv-section-constituents .constituent-block:first-child { border-top: none; padding-top: 4px; } +.constituent-head { + display: flex; + align-items: baseline; + justify-content: space-between; + margin-bottom: 6px; + gap: 8px; +} +.constituent-name { + font-size: 12px; + font-weight: 700; + color: #374151; +} +.constituent-score { + font-family: var(--font-mono, monospace); + font-size: 12px; + font-weight: 700; +} +.constituent-bar { + height: 6px; + background: rgba(0,0,0,0.06); + border-radius: 3px; + overflow: hidden; + margin-bottom: 6px; +} +.constituent-fill { height: 100%; border-radius: 3px; } +.constituent-explain { + font-size: 11px; + color: #6b7280; + line-height: 1.4; + margin-bottom: 8px; +} +.constituent-bd { margin-top: 4px; } +.constituent-bd > summary { + list-style: none; + cursor: pointer; + font-size: 10px; + font-weight: 700; + letter-spacing: 0.06em; + text-transform: uppercase; + color: #6b7280; + display: flex; + align-items: center; + gap: 6px; + padding: 4px 0; +} +.constituent-bd > summary::-webkit-details-marker { display: none; } +.constituent-bd > summary::before { + content: '▸'; + font-size: 9px; + color: #9ca3af; + transition: transform 0.15s; +} +.constituent-bd[open] > summary::before { transform: rotate(90deg); } +.constituent-bd > summary:hover { color: #111827; } + +/* ── 3. Inline stats in collapsed summary lines (Case volume / clog) ───── */ +.dv-section > summary { justify-content: flex-start; } +.dv-section-summary-stats { + margin-left: auto; + display: inline-flex; + align-items: center; + gap: 8px; + font-weight: 500; + font-size: 11px; + text-transform: none; + letter-spacing: 0; +} +.dv-stat-chip { + display: inline-block; + font-family: var(--font-mono, monospace); + font-size: 10px; + font-weight: 700; + padding: 1px 6px; + border: 1px solid; + border-radius: 3px; + letter-spacing: 0.04em; +} +.dv-stat-mute { color: #6b7280; } + +@media print { + .summary-score-card { + position: static; + box-shadow: none; + border: 1px solid #d1d5db; + } } .health-hero-top { display: flex; align-items: center; gap: 18px; } .health-hero-num { @@ -3086,7 +3501,7 @@ body.jem-resizing-inspector * { .dv-layout { display: grid; - grid-template-columns: 380px 1fr; + grid-template-columns: minmax(420px, 1.05fr) 1.25fr; gap: 32px; align-items: start; } @@ -3094,16 +3509,80 @@ body.jem-resizing-inspector * { .dv-layout { grid-template-columns: 1fr; } } -/* ── Detail left column ───────────────────────────────────────────────────── */ - -.dv-header { - display: flex; - align-items: flex-start; - gap: 8px; - margin-bottom: 4px; - flex-wrap: wrap; -} -.dv-name { +/* ── Collapsible sections (Profile / Clog / Calculation) ───────────────── */ +.dv-section { + border: 1px solid #e5e7eb; + border-radius: 8px; + margin-bottom: 12px; + background: #fff; +} +.dv-section > summary { + list-style: none; + cursor: pointer; + padding: 10px 14px; + font-size: 12px; + font-weight: 700; + letter-spacing: 0.04em; + text-transform: uppercase; + color: #374151; + display: flex; + align-items: center; + gap: 8px; + user-select: none; +} +.dv-section > summary::-webkit-details-marker { display: none; } +.dv-section > summary::before { + content: '▸'; + font-size: 10px; + color: #9ca3af; + transition: transform 0.15s; +} +.dv-section[open] > summary::before { transform: rotate(90deg); } +.dv-section > summary:hover { background: #f9fafb; } +.dv-section-body { padding: 4px 14px 14px; } + +/* Nested constituent collapsibles (IR / DP) */ +.dv-const-block[open] > summary { color: #111827; } +details.dv-const-block { border-top: 1px solid #f1f5f9; padding: 6px 0; } +details.dv-const-block:first-of-type { border-top: none; } +details.dv-const-block > summary { + list-style: none; + cursor: pointer; + display: flex; + align-items: baseline; + justify-content: space-between; + padding: 6px 4px; + font-size: 12px; + font-weight: 600; + color: #374151; +} +details.dv-const-block > summary::-webkit-details-marker { display: none; } +details.dv-const-block > summary::after { + content: '▸'; + font-size: 9px; + color: #9ca3af; + margin-left: 6px; + transition: transform 0.15s; +} +details.dv-const-block[open] > summary::after { transform: rotate(90deg); } +@media print { + .dv-section, details.dv-const-block { border: none; } + .dv-section > summary::before, + details.dv-const-block > summary::after { display: none; } + details:not([open]) > *:not(summary) { display: revert !important; } + details { display: block; } +} + +/* ── Detail left column ───────────────────────────────────────────────────── */ + +.dv-header { + display: flex; + align-items: flex-start; + gap: 8px; + margin-bottom: 4px; + flex-wrap: wrap; +} +.dv-name { font-family: Georgia, serif; font-size: 20px; font-weight: 600; @@ -3659,6 +4138,689 @@ body[data-app-view="detail"] #zoom-controls { display: none !important; } .strip-bubble:hover { fill-opacity: 1 !important; } .strip-cluster-label:hover { fill: var(--jem-signal) !important; } +/* Timeline section — narrative epilogue: cross-sectional analysis above, + historical context below. Soft hairline separator and a serif title style + reinforce the chapter break. */ +.sm-section-timeline { + margin-top: 40px; + padding-top: 28px; + border-top: 1px solid #e5e7eb; + position: relative; +} +.sm-section-timeline::before { + content: ''; + position: absolute; + top: -1px; + left: 50%; + transform: translateX(-50%); + width: 60px; + height: 1px; + background: #111827; +} +.sm-section-timeline .sm-section-title { + font-family: Georgia, serif; + font-weight: 600; + font-size: 14px; +} + +/* ── Temporal structure ──────────────────────────────────────────────────── */ +.ts-wrap { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 10px; + padding: 14px 16px 12px; + width: max-content; + max-width: 100%; +} +.ts-meta { + display: flex; + justify-content: space-between; + gap: 12px; + font-size: 12px; + color: #4b5563; + padding-bottom: 8px; + flex-wrap: wrap; +} +.ts-meta-num { + font-family: var(--font-mono, monospace); + font-weight: 700; + color: #111827; +} +.ts-meta-hint { color: #9ca3af; font-size: 11px; } +.ts-status { + display: inline-flex; + align-items: center; + gap: 8px; + flex-shrink: 0; +} +.ts-bucket-info { + font-family: var(--font-mono, monospace); + font-size: 10px; + color: var(--jem-mute); + letter-spacing: 0.02em; +} +/* Preset era pills */ +.ts-presets { + display: flex; + gap: 6px; + flex-wrap: wrap; + padding: 8px 0 12px; + border-bottom: 1px dashed #e5e7eb; + margin-bottom: 6px; +} +.ts-preset { + background: #fff; + border: 1px solid #d1d5db; + border-radius: 999px; + padding: 3px 11px; + font-size: 11px; + font-weight: 600; + font-family: var(--font-main); + color: #374151; + cursor: pointer; + transition: all 0.1s; +} +.ts-preset:hover { border-color: #111827; color: #111827; } +.ts-preset-active { + background: #111827; + color: #fff; + border-color: #111827; +} +/* Range rail */ +.ts-rail-line { stroke-width: 3; stroke-linecap: round; } +.ts-rail-full { stroke: #e5e7eb; } +.ts-rail-range { stroke: #111827; } +.ts-rail-end { + font-family: var(--font-mono, monospace); + font-size: 9px; + fill: #9ca3af; +} +.ts-handle { + fill: #fff; + stroke: #111827; + stroke-width: 2; + cursor: ew-resize; + transition: r 0.1s; +} +.ts-handle:hover { r: 7; fill: #f3f4f6; } +.ts-scrub-focus-line { stroke: #111827; stroke-width: 1; stroke-dasharray: 2 3; pointer-events: none; } +/* Tooltip */ +.ts-tip-bg { + fill: #111827; + stroke: none; + height: 26px; +} +.ts-tip-text { + fill: #ffffff; + font-family: var(--font-mono, monospace); + font-size: 11px; + font-weight: 600; +} +.ts-legend-hint { + margin-left: auto; + font-style: italic; + color: #9ca3af; + font-size: 10px; +} +.ts-svg-wrap { + overflow: hidden; + width: 760px; + max-width: 100%; + padding: 4px 0; +} +.ts-svg { + display: block; + width: 760px; + max-width: 100%; + height: auto; + cursor: ew-resize; + overflow: visible; +} +.ts-axis-dir { + font-family: var(--font-main); + font-size: 10px; + font-weight: 700; + letter-spacing: 0.06em; + text-transform: uppercase; + fill: #6b7280; +} +.ts-axis-dir-up { fill: #475569; } +.ts-axis-dir-down { fill: #111827; } +.ts-axis-tick { + font-family: var(--font-mono, monospace); + font-size: 10px; + font-weight: 700; + fill: #6b7280; +} +.ts-axis-line { + stroke: #cbd5e1; + stroke-width: 1; +} +.ts-bar { cursor: pointer; transition: opacity 0.12s; } +.ts-bar-birth { fill: #94a3b8; } +.ts-bar-death { fill: #111827; } +.ts-bar:hover { opacity: 0.7; } +.ts-bar-label { + font-family: var(--font-mono, monospace); + font-size: 10px; + fill: #6b7280; + letter-spacing: 0.04em; + pointer-events: none; +} +.ts-bar-count { + font-family: var(--font-mono, monospace); + font-size: 9px; + font-weight: 700; + pointer-events: none; +} +.ts-bar-count-birth { fill: #475569; } +.ts-bar-count-death { fill: #111827; } +.ts-axis-label { + font-family: var(--font-mono, monospace); + font-size: 9px; + fill: #9ca3af; + letter-spacing: 0.04em; +} +.ts-event { cursor: pointer; } +.ts-event circle { transition: r 0.12s; } +.ts-event:hover circle { r: 6; } +.ts-scrub-thumb { cursor: ew-resize; } +.ts-scrub-focus-line { pointer-events: none; } +.ts-scrub-year { + font-family: var(--font-mono, monospace); + font-size: 11px; + font-weight: 700; + fill: #111827; + pointer-events: none; +} +.ts-legend { + display: flex; + gap: 12px; + flex-wrap: wrap; + align-items: center; + padding: 6px 0 10px; + border-top: 1px dashed #e5e7eb; + margin-top: 4px; + font-size: 10px; + color: var(--jem-mute); + letter-spacing: 0.02em; +} +.ts-evl { display: inline-flex; align-items: center; gap: 5px; text-transform: capitalize; } +.ts-evl-dot { + display: inline-block; + width: 8px; + height: 8px; + border-radius: 50%; +} + +/* Focus panel — surfaces entities born/abolished near the scrubbed year */ +.ts-focus-panel { + border-top: 1px solid var(--jem-faint); + padding-top: 10px; + margin-top: 4px; +} +.ts-focus-empty { + font-size: 12px; + color: var(--jem-mute); + font-style: italic; + padding: 6px 0; + margin: 0; +} +.ts-focus-head { + display: flex; + align-items: baseline; + gap: 10px; + margin-bottom: 8px; + flex-wrap: wrap; +} +.ts-focus-year { + font-family: Georgia, serif; + font-size: 22px; + font-weight: 700; + color: #111827; + line-height: 1; +} +.ts-focus-window { + font-size: 10px; + color: var(--jem-mute); + font-family: var(--font-mono, monospace); + letter-spacing: 0.04em; +} +.ts-focus-counts { + margin-left: auto; + display: inline-flex; + gap: 8px; +} +.ts-focus-count { + font-family: var(--font-mono, monospace); + font-size: 10px; + font-weight: 700; + padding: 2px 8px; + border-radius: 3px; +} +.ts-focus-count-birth { background: #e2e8f0; color: #1f2937; } +.ts-focus-count-death { background: #111827; color: #fff; } +.ts-focus-events { + display: flex; + flex-direction: column; + gap: 4px; + margin-bottom: 10px; +} +.ts-focus-event { + font-size: 11px; + padding: 4px 8px; + background: #f9fafb; + border-left: 3px solid #9ca3af; + color: #374151; + border-radius: 0 4px 4px 0; +} +.ts-focus-row { + display: flex; + gap: 10px; + align-items: flex-start; + margin-bottom: 6px; +} +.ts-focus-row-label { + font-family: var(--font-mono, monospace); + font-size: 9px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--jem-mute); + padding-top: 4px; + flex-shrink: 0; + min-width: 70px; +} +.ts-focus-chips { + display: flex; + flex-wrap: wrap; + gap: 4px; + flex: 1; +} +.ts-chip { + background: #fff; + border: 1px solid #d1d5db; + border-radius: 4px; + padding: 3px 8px; + font-size: 11px; + font-weight: 600; + font-family: var(--font-main); + color: #1f2937; + cursor: pointer; + display: inline-flex; + align-items: baseline; + gap: 5px; + white-space: nowrap; +} +.ts-chip:hover { border-color: var(--jem-signal); color: var(--jem-signal); } +.ts-chip-birth { border-left: 2px solid #94a3b8; } +.ts-chip-death { border-left: 2px solid #111827; } +.ts-chip-yr { + font-family: var(--font-mono, monospace); + font-size: 9px; + color: var(--jem-mute); + font-weight: 500; +} + +/* ── Appellate hierarchy (summary view) — spine + anomalies ──────────────── */ +.ah-wrap { + background: #ffffff; + border: 1px solid #e5e7eb; + border-radius: 10px; + padding: 16px 18px; +} +.ah-meta { + font-size: 12px; + color: #4b5563; + padding-bottom: 12px; + border-bottom: 1px solid #f1f5f9; + margin-bottom: 14px; +} +.ah-meta-num { + font-family: var(--font-mono, monospace); + font-weight: 700; + color: #111827; +} +.ah-grid { + display: grid; + grid-template-columns: 1.6fr 1fr; + gap: 24px; + align-items: start; +} +@media (max-width: 860px) { + .ah-grid { grid-template-columns: 1fr; } +} +.ah-col-head { + font-family: Georgia, serif; + font-size: 14px; + font-weight: 600; + color: #111827; + margin-bottom: 12px; + padding-bottom: 6px; + border-bottom: 1px solid #e5e7eb; + letter-spacing: 0.01em; +} +.ah-col-sub { + font-size: 11px; + color: #6b7280; + line-height: 1.45; + margin: -6px 0 12px; +} + +/* ── Spine ─────────────────────────────────────────────────────────────── */ +.ah-spine { position: relative; } +.ah-tier-row { + display: grid; + grid-template-columns: 32px 1fr; + gap: 12px; + padding: 12px 0; + position: relative; +} +.ah-tier-row::before { + content: ''; + position: absolute; + left: 15px; + top: 28px; + bottom: -8px; + width: 1px; + background: #e5e7eb; +} +.ah-tier-row:last-child::before { display: none; } +.ah-tier-num { + font-family: var(--font-mono, monospace); + font-size: 11px; + font-weight: 700; + color: #6b7280; + background: #fff; + border: 1px solid #d1d5db; + border-radius: 50%; + width: 28px; + height: 28px; + display: flex; + align-items: center; + justify-content: center; + position: relative; + z-index: 1; +} +.ah-tier-body { min-width: 0; } +.ah-tier-head { + display: flex; + align-items: baseline; + gap: 8px; + flex-wrap: wrap; +} +.ah-tier-name { + font-size: 13px; + font-weight: 700; + color: #111827; + font-family: Georgia, serif; +} +.ah-tier-count { + font-family: var(--font-mono, monospace); + font-size: 11px; + color: #6b7280; +} +.ah-tier-note { + font-size: 11px; + color: #6b7280; + line-height: 1.45; + margin: 4px 0 8px; + font-style: italic; +} +.ah-tier-refs { + display: flex; + flex-wrap: wrap; + gap: 6px; + align-items: center; +} +.ah-chip { + background: #fff; + border: 1px solid #d1d5db; + border-radius: 4px; + padding: 3px 9px; + font-size: 11px; + font-weight: 600; + color: #1f2937; + font-family: var(--font-main); + cursor: pointer; + white-space: nowrap; + display: inline-flex; + align-items: center; + gap: 4px; +} +.ah-chip:hover { + border-color: var(--jem-signal); + color: var(--jem-signal); +} +.ah-flag { + display: inline-block; + font-family: var(--font-mono, monospace); + font-size: 9px; + font-weight: 700; + background: #fef3c7; + color: #92400e; + padding: 2px 7px; + border-radius: 3px; + margin-left: 4px; + line-height: 1.2; + vertical-align: middle; + letter-spacing: 0.02em; +} +.ah-flag-blocked { background: #fee2e2; color: #991b1b; } +.ah-flag-abolished { background: #ede9fe; color: #5b21b6; } +.ah-chip-abolished { + background: #faf5ff; + border-color: #c4b5fd; + color: #5b21b6; +} +.ah-chip-abolished:hover { border-color: #6d28d9; color: #4c1d95; } +.ah-chip-abolished .ah-chip-label { + text-decoration: line-through; + text-decoration-color: #a78bfa; +} +.ah-tier-more-wrap { display: inline-block; } +.ah-tier-more { + font-size: 11px; + color: #6b7280; + cursor: pointer; + list-style: none; + padding: 3px 9px; + border: 1px dashed #d1d5db; + border-radius: 4px; + font-family: var(--font-main); + background: transparent; +} +.ah-tier-more::-webkit-details-marker { display: none; } +.ah-tier-more:hover { color: var(--jem-signal); border-color: var(--jem-signal); } +.ah-tier-rest { + display: flex; + flex-wrap: wrap; + gap: 6px; + margin-top: 6px; +} + +/* ── Anomalies sidebar — grouped, collapsible, scrollable ─────────────── */ +.ah-anomalies { + padding-top: 0; + max-height: 560px; + overflow-y: auto; + padding-right: 4px; +} +.ah-anom-group { + border: 1px solid #e5e7eb; + border-radius: 6px; + margin-bottom: 6px; + background: #fff; + border-left-width: 3px; + border-left-style: solid; +} +.ah-anom-sev-critical { border-left-color: #dc2626; } +.ah-anom-sev-abolished { border-left-color: #6d28d9; } +.ah-anom-sev-high { border-left-color: #f59e0b; } +.ah-anom-sev-moderate { border-left-color: #ca8a04; } +.ah-anom-group-head { + list-style: none; + cursor: pointer; + display: flex; + align-items: center; + gap: 10px; + padding: 8px 12px; + user-select: none; +} +.ah-anom-group-head::-webkit-details-marker { display: none; } +.ah-anom-group-head::before { + content: '▸'; + font-size: 10px; + color: #9ca3af; + transition: transform 0.15s; + flex-shrink: 0; +} +.ah-anom-group[open] .ah-anom-group-head::before { transform: rotate(90deg); } +.ah-anom-group-head:hover { background: #f9fafb; } +.ah-anom-group-tag { + font-family: var(--font-mono, monospace); + font-size: 10px; + font-weight: 700; + letter-spacing: 0.06em; + text-transform: uppercase; + color: #111827; + flex: 1; +} +.ah-anom-sev-critical .ah-anom-group-tag { color: #991b1b; } +.ah-anom-sev-abolished .ah-anom-group-tag { color: #5b21b6; } +.ah-anom-sev-high .ah-anom-group-tag { color: #92400e; } +.ah-anom-sev-moderate .ah-anom-group-tag { color: #854d0e; } + +/* Abolished anomaly rows — struck-through name to read as "dissolved" */ +.ah-anom-sev-abolished .ah-anom-name { + text-decoration: line-through; + text-decoration-color: #c4b5fd; +} +.ah-anom-sev-abolished .ah-anom { color: #4b5563; } +.ah-anom-sev-abolished .ah-anom:hover { background: #faf5ff; color: #5b21b6; } +.ah-anom-sev-abolished .ah-anom:hover .ah-anom-name { text-decoration-color: #6d28d9; } +.ah-anom-group-count { + font-family: var(--font-mono, monospace); + font-size: 11px; + font-weight: 700; + background: #f3f4f6; + color: #374151; + padding: 1px 7px; + border-radius: 10px; +} +.ah-anom-list { + padding: 2px 8px 8px; + display: flex; + flex-direction: column; + gap: 2px; +} +.ah-anom { + background: transparent; + border: none; + border-radius: 4px; + padding: 5px 8px; + cursor: pointer; + font-family: var(--font-main); + font-size: 12px; + color: #1f2937; + text-align: left; + display: inline-flex; + width: max-content; + max-width: 100%; + align-self: flex-start; + align-items: center; + gap: 8px; + transition: background 0.1s; +} +.ah-anom-name { flex: 0 1 auto; } +.ah-anom:hover { + background: #f3f4f6; + color: var(--jem-signal); +} +.ah-anom-name { + font-weight: 500; + line-height: 1.3; + flex: 1; +} +.ah-anom-fact { + font-family: var(--font-mono, monospace); + font-size: 10px; + font-weight: 500; + color: #6b7280; + flex-shrink: 0; + white-space: nowrap; +} +.ah-anom:hover .ah-anom-fact { color: #374151; } +.ah-anom-empty { + font-size: 11px; + color: #9ca3af; + font-style: italic; +} + +/* ── "Where this fits" appellate strip (detail view) ─────────────────────── */ +.wtf-card { + background: #f9fafb; + border: 1px solid #e5e7eb; + border-radius: 8px; + padding: 10px 12px; + margin-bottom: 12px; +} +.wtf-head { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 12px; + margin-bottom: 8px; +} +.wtf-label { + font-size: 11px; + font-weight: 700; + letter-spacing: 0.05em; + text-transform: uppercase; + color: #374151; +} +.wtf-hint { font-size: 10px; color: #9ca3af; } +.wtf-strip { + display: flex; + align-items: center; + gap: 4px; + overflow-x: auto; + padding-bottom: 4px; +} +.wtf-tier { + display: inline-flex; + align-items: center; + gap: 4px; +} +.wtf-sib-sep { color: #cbd5e1; margin: 0 2px; } +.wtf-node { + background: #fff; + border: 1px solid #d1d5db; + border-radius: 4px; + padding: 3px 8px; + font-size: 11px; + font-weight: 600; + color: #1f2937; + font-family: var(--font-main); + cursor: pointer; + white-space: nowrap; +} +.wtf-node:hover { border-color: var(--jem-signal); color: var(--jem-signal); } +.wtf-node-focal { + background: #111827; + color: #fff; + border-color: #111827; + cursor: default; +} +.wtf-node-focal:hover { background: #111827; color: #fff; } +.wtf-arrow { + color: #9ca3af; + font-size: 14px; + font-weight: 700; + padding: 0 2px; + flex-shrink: 0; +} + /* Hide the old sm-grid (no longer used) */ .sm-grid { display: none; }