{
  "archive": "GetNyay court archive — NJDG pendency and DoJ judge strength",
  "generatedAt": "2026-09-14T17:01:42.488Z",
  "readme": "data/court-archive/README.md",
  "schema": "data/court-archive/schema.md",
  "archiveStart": "2026-09",
  "coverage": {
    "njdgHc": "25 High Courts + national, monthly from 2026-09",
    "njdgDistrict": "36 States/UTs + national (district and subordinate courts, State level), monthly from 2026-09",
    "judgeStrength": "Supreme Court + 25 High Courts + printed High Court total, from the statement as on 01.09.2025",
    "notCovered": [
      "NJDG history before 2026-09 (NJDG keeps none)",
      "District judiciary sanctioned/working strength (not published as a public dataset)",
      "District-level (below State) NJDG figures",
      "DoJ statements for October 2025, November 2025 and January 2026 (not on the DoJ site)"
    ]
  },
  "months": [
    {
      "month": "2025-09",
      "complete": false,
      "incompleteReasons": [
        "NJDG was not archived before 2026-09; it keeps no history, so these months cannot be recovered"
      ],
      "sources": {
        "njdg-hc": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "njdg-district": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "judge-strength": {
          "status": "captured",
          "statements": [
            {
              "file": "judge-strength/2025-09.json",
              "period": "2025-09-01",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 0,
              "failedChecks": [],
              "dojMediaId": 11603,
              "uploadedAt": "2025-09-12T18:37:49",
              "reconciles": true,
              "sourceUrl": "https://doj.gov.in/static/uploads/2025/09/0945e51b33d4cc6025fbdf6d9b7216ed.pdf"
            }
          ]
        }
      },
      "runs": []
    },
    {
      "month": "2025-12",
      "complete": false,
      "incompleteReasons": [
        "NJDG was not archived before 2026-09; it keeps no history, so these months cannot be recovered"
      ],
      "sources": {
        "njdg-hc": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "njdg-district": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "judge-strength": {
          "status": "captured",
          "statements": [
            {
              "file": "judge-strength/2025-12-24.json",
              "period": "2025-12-24",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 5,
              "failedChecks": [
                "vacant=sanctioned−working: All High Courts permanent: 847 − 712 = 135, statement prints 134; High Court of Sikkim permanent: 3 − 2 = 1, statement prints 0",
                "permanent+additional=total: All High Courts vacant: 134 + 166 ≠ 301; High Court of Sikkim vacant: 0 + 0 ≠ 1",
                "month-over-month: sikkim: working judges moved -33.3% (3 → 2), beyond ±25%"
              ],
              "dojMediaId": 18598,
              "uploadedAt": "2026-01-09T16:46:03",
              "reconciles": false,
              "sourceUrl": "https://doj.gov.in/static/uploads/2025/09/df7cc0983aaa481e7712f907026522dc.pdf"
            },
            {
              "file": "judge-strength/2025-12.json",
              "period": "2025-12-01",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 1,
              "failedChecks": [
                "month-over-month: allahabad: working judges moved 31.0% (84 → 110), beyond ±25%"
              ],
              "dojMediaId": 17618,
              "uploadedAt": "2025-12-05T13:37:47",
              "reconciles": true,
              "sourceUrl": "https://doj.gov.in/static/uploads/2025/09/013daa75ae7e5430c4957f6d332d0cdb.pdf"
            }
          ]
        }
      },
      "runs": []
    },
    {
      "month": "2026-02",
      "complete": false,
      "incompleteReasons": [
        "NJDG was not archived before 2026-09; it keeps no history, so these months cannot be recovered"
      ],
      "sources": {
        "njdg-hc": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "njdg-district": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "judge-strength": {
          "status": "captured",
          "statements": [
            {
              "file": "judge-strength/2026-02.json",
              "period": "2026-02-01",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 1,
              "failedChecks": [
                "month-over-month: sikkim: working judges moved 50.0% (2 → 3), beyond ±25%"
              ],
              "dojMediaId": 18880,
              "uploadedAt": "2026-02-16T13:30:11",
              "reconciles": true,
              "sourceUrl": "https://doj.gov.in/static/uploads/2025/09/de8ab64d466c707dff505d0b71c44e54.pdf"
            }
          ]
        }
      },
      "runs": []
    },
    {
      "month": "2026-03",
      "complete": false,
      "incompleteReasons": [
        "NJDG was not archived before 2026-09; it keeps no history, so these months cannot be recovered"
      ],
      "sources": {
        "njdg-hc": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "njdg-district": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "judge-strength": {
          "status": "captured",
          "statements": [
            {
              "file": "judge-strength/2026-03-13.json",
              "period": "2026-03-13",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 0,
              "failedChecks": [],
              "dojMediaId": 19986,
              "uploadedAt": "2026-03-15T22:03:12",
              "reconciles": true,
              "sourceUrl": "https://doj.gov.in/static/uploads/2026/03/c49adb37530a309f62e8c0381d21de53.pdf"
            },
            {
              "file": "judge-strength/2026-03.json",
              "period": "2026-03-01",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 0,
              "failedChecks": [],
              "dojMediaId": 19755,
              "uploadedAt": "2026-03-03T12:59:02",
              "reconciles": true,
              "sourceUrl": "https://doj.gov.in/static/uploads/2026/03/6fb822fa37d40a417a0ff2d788b1734d.pdf"
            }
          ]
        }
      },
      "runs": []
    },
    {
      "month": "2026-04",
      "complete": false,
      "incompleteReasons": [
        "NJDG was not archived before 2026-09; it keeps no history, so these months cannot be recovered"
      ],
      "sources": {
        "njdg-hc": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "njdg-district": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "judge-strength": {
          "status": "captured",
          "statements": [
            {
              "file": "judge-strength/2026-04.json",
              "period": "2026-04-01",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 0,
              "failedChecks": [],
              "dojMediaId": 20517,
              "uploadedAt": "2026-04-02T11:05:46",
              "reconciles": true,
              "sourceUrl": "https://doj.gov.in/static/uploads/2026/04/ad1906d9c58fe106935b7210cd4e8a03.pdf"
            }
          ]
        }
      },
      "runs": []
    },
    {
      "month": "2026-05",
      "complete": false,
      "incompleteReasons": [
        "NJDG was not archived before 2026-09; it keeps no history, so these months cannot be recovered"
      ],
      "sources": {
        "njdg-hc": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "njdg-district": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "judge-strength": {
          "status": "captured",
          "statements": [
            {
              "file": "judge-strength/2026-05.json",
              "period": "2026-05-01",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 0,
              "failedChecks": [],
              "dojMediaId": 21248,
              "uploadedAt": "2026-05-04T17:28:57",
              "reconciles": true,
              "sourceUrl": "https://doj.gov.in/static/uploads/2026/05/c0f593db7c35d425c94883b9a4afb139.pdf"
            }
          ]
        }
      },
      "runs": []
    },
    {
      "month": "2026-06",
      "complete": false,
      "incompleteReasons": [
        "NJDG was not archived before 2026-09; it keeps no history, so these months cannot be recovered"
      ],
      "sources": {
        "njdg-hc": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "njdg-district": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "judge-strength": {
          "status": "captured",
          "statements": [
            {
              "file": "judge-strength/2026-06.json",
              "period": "2026-06-01",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 0,
              "failedChecks": [],
              "dojMediaId": 21989,
              "uploadedAt": "2026-06-02T12:43:30",
              "reconciles": true,
              "sourceUrl": "https://doj.gov.in/static/uploads/2026/06/b19c150a024b8d5a60890c5acb646c53.pdf"
            }
          ]
        }
      },
      "runs": []
    },
    {
      "month": "2026-07",
      "complete": false,
      "incompleteReasons": [
        "NJDG was not archived before 2026-09; it keeps no history, so these months cannot be recovered"
      ],
      "sources": {
        "njdg-hc": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "njdg-district": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "judge-strength": {
          "status": "captured",
          "statements": [
            {
              "file": "judge-strength/2026-07.json",
              "period": "2026-07-01",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 5,
              "failedChecks": [
                "vacant=sanctioned−working: All High Courts permanent: 847 − 687 = 160, statement prints 159; High Court of Sikkim permanent: 3 − 2 = 1, statement prints 0",
                "permanent+additional=total: All High Courts vacant: 159 + 181 ≠ 341; High Court of Sikkim vacant: 0 + 0 ≠ 1",
                "month-over-month: sikkim: working judges moved -33.3% (3 → 2), beyond ±25%"
              ],
              "dojMediaId": 22613,
              "uploadedAt": "2026-07-01T13:05:38",
              "reconciles": false,
              "sourceUrl": "https://doj.gov.in/static/uploads/2026/07/b18601168f894d13fdde14296d79e6b3.pdf"
            }
          ]
        }
      },
      "runs": []
    },
    {
      "month": "2026-08",
      "complete": false,
      "incompleteReasons": [
        "NJDG was not archived before 2026-09; it keeps no history, so these months cannot be recovered"
      ],
      "sources": {
        "njdg-hc": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "njdg-district": {
          "status": "before-archive",
          "captureAttempts": [],
          "snapshots": []
        },
        "judge-strength": {
          "status": "captured",
          "statements": [
            {
              "file": "judge-strength/2026-08.json",
              "period": "2026-08-01",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 4,
              "failedChecks": [
                "vacant=sanctioned−working: All High Courts permanent: 847 − 684 = 163, statement prints 162; High Court of Sikkim permanent: 3 − 2 = 1, statement prints 0",
                "permanent+additional=total: All High Courts vacant: 162 + 178 ≠ 341; High Court of Sikkim vacant: 0 + 0 ≠ 1"
              ],
              "dojMediaId": 23393,
              "uploadedAt": "2026-08-03T12:35:29",
              "reconciles": false,
              "sourceUrl": "https://doj.gov.in/static/uploads/2026/08/f35c20da37809c061dcd31c246d2bf0e.pdf"
            }
          ]
        }
      },
      "runs": []
    },
    {
      "month": "2026-09",
      "complete": true,
      "incompleteReasons": [],
      "sources": {
        "njdg-hc": {
          "status": "captured",
          "captureAttempts": [
            {
              "dir": "raw/2026-09/njdg-hc",
              "status": "complete",
              "startedAt": "2026-09-14T16:26:57.462Z",
              "files": 31,
              "failures": []
            }
          ],
          "snapshots": [
            {
              "file": "njdg-hc/2026-09.json",
              "period": "2026-09",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 25,
              "anomalies": 6,
              "failedChecks": [
                "age-brackets-sum: 4 failures"
              ],
              "capturedAt": "2026-09-14T16:26:57.462Z"
            }
          ]
        },
        "njdg-district": {
          "status": "captured",
          "captureAttempts": [
            {
              "dir": "raw/2026-09/njdg-district",
              "status": "complete",
              "startedAt": "2026-09-14T16:31:33.918Z",
              "files": 41,
              "failures": []
            }
          ],
          "snapshots": [
            {
              "file": "njdg-district/2026-09.json",
              "period": "2026-09",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 36,
              "anomalies": 0,
              "failedChecks": [],
              "capturedAt": "2026-09-14T16:31:33.918Z"
            }
          ]
        },
        "judge-strength": {
          "status": "captured",
          "statements": [
            {
              "file": "judge-strength/2026-09.json",
              "period": "2026-09-01",
              "parseVersion": 1,
              "current": false,
              "complete": true,
              "rows": 26,
              "anomalies": 5,
              "failedChecks": [
                "vacant=sanctioned−working: All High Courts permanent: 847 − 688 = 159, statement prints 158; High Court of Sikkim permanent: 3 − 2 = 1, statement prints 0",
                "permanent+additional=total: All High Courts vacant: 158 + 145 ≠ 304; High Court of Sikkim vacant: 0 + 0 ≠ 1",
                "month-over-month: madras: working judges moved 29.4% (51 → 66), beyond ±25%"
              ],
              "dojMediaId": 23950,
              "uploadedAt": "2026-09-01T16:30:57",
              "reconciles": false,
              "sourceUrl": "https://doj.gov.in/static/uploads/2026/09/028f6f83650bc38f5d0692315d93f0e7.pdf"
            },
            {
              "file": "judge-strength/2026-09.media-24025.json",
              "period": "2026-09-01",
              "parseVersion": 1,
              "current": true,
              "complete": true,
              "rows": 26,
              "anomalies": 1,
              "failedChecks": [
                "month-over-month: madras: working judges moved 29.4% (51 → 66), beyond ±25%"
              ],
              "dojMediaId": 24025,
              "uploadedAt": "2026-09-03T21:56:44",
              "reconciles": true,
              "sourceUrl": "https://doj.gov.in/static/uploads/2026/09/a552b7aacce6ac2add8c9a538e138acc.pdf"
            }
          ]
        }
      },
      "runs": [
        {
          "runId": "2026-09-14T16-50-46-950Z",
          "mode": "manual",
          "startedAt": "2026-09-14T16:50:46.950Z",
          "steps": [
            {
              "step": "njdg-hc capture",
              "status": "skipped",
              "detail": "already captured this month (NJDG is read once a month)"
            },
            {
              "step": "njdg-hc parse",
              "status": "ok",
              "detail": "njdg-hc/2026-09.json: 25 rows, complete=true, 6 anomalies, failed checks: age-brackets-sum"
            },
            {
              "step": "njdg-district capture",
              "status": "skipped",
              "detail": "already captured this month (NJDG is read once a month)"
            },
            {
              "step": "njdg-district parse",
              "status": "ok",
              "detail": "njdg-district/2026-09.json: 36 rows, complete=true, 0 anomalies"
            },
            {
              "step": "judge-strength",
              "status": "ok",
              "detail": "0 new upload(s), 13 parsed (2025-09-01, 2025-12-01, 2025-12-24 — does not reconcile, 2026-02-01, 2026-03-01, 2026-03-13, 2026-04-01, 2026-05-01, 2026-06-01, 2026-07-01 — does not reconcile, 2026-08-01 — does not reconcile, 2026-09-01 — does not reconcile, 2026-09-01); statement as on 2026-09-01 is in the archive"
            }
          ]
        },
        {
          "runId": "2026-09-14T17-00-49-501Z",
          "mode": "retry",
          "startedAt": "2026-09-14T17:00:49.501Z",
          "steps": [
            {
              "step": "njdg-hc capture",
              "status": "skipped",
              "detail": "already captured this month (NJDG is read once a month)"
            },
            {
              "step": "njdg-hc parse",
              "status": "skipped",
              "detail": "already parsed at v1"
            },
            {
              "step": "njdg-district capture",
              "status": "skipped",
              "detail": "already captured this month (NJDG is read once a month)"
            },
            {
              "step": "njdg-district parse",
              "status": "skipped",
              "detail": "already parsed at v1"
            },
            {
              "step": "judge-strength",
              "status": "ok",
              "detail": "0 new upload(s), 0 parsed; statement as on 2026-09-01 is in the archive"
            }
          ]
        }
      ]
    }
  ]
}
