❄ Ledger

Module: ledger

The store itself — one JSON dict keyed by IP address, plus the field specification that explains it and the two auxiliary ledgers that are deliberately not merged into it.

Responsibilities

Key Files

The row

A row is keyed by the IP itself, and every address in the store carries the same fields. A real example:

103.161.249.236
  country        BT            isp             SuperNet Infocomm
  provider       (empty)       endpoint        (empty)
  session_tag    (empty)       country_code    (empty)
  url_template   (empty)       cred_ref        (empty)
  projects       ["outlook-creator"]
  stage_reached  probe
  outcome        promising
  reason         HumanCaptcha x3 (px3 terbit tiap round)
  attempts       0
  first_seen     2026-09-19T17:45:29
  last_seen      2026-09-19T19:19:44+00:00
  history        [ 1 observation ]

Shape of the store today (21 Sep 2026)

MeasureValue
Rows37
Rows carrying history37 — every entry dated 22 Sep is a canonical reconstruction (source: pemulihan-22sep), see architecture.md
Projected splitoutlook-creator 31 · grok-register 6
Outcomes present (22 Sep)captcha_failed 12 · blocked 8 · promising 7 · transient 4 · failed 4 · success 2

Dependencies

Notable Patterns / Gotchas