Amethyst-Deceiver2001/Mariupol_Urbicide_2026

GitHub: Amethyst-Deceiver2001/Mariupol_Urbicide_2026

一个法证级证据管理流水线,系统记录并交叉验证马里乌波ol财产没收行为,用于支持国际赔偿索赔和刑事问责。

Stars: 1 | Forks: 0

# 马里乌波尔财产没收文档 用于记录俄罗斯占领当局没收马里乌波尔乌克兰人拥有财产的法证证据 pipeline,旨在支持 (1) 赔偿索赔(欧洲委员会乌克兰损害登记册)和 (2) 刑事问责。任务和规则位于 [`CLAUDE.md`](./CLAUDE.md);策略位于 [`docs/reconceptualization_2026.md`](./docs/reconceptualization_2026.md)。 ## 公开展览 从 [`docs/`](./docs/) (GitHub Pages) 发布了一组带有源哈希的独立视觉展览:一份[主档案](./docs/exhibits/mariupol-master-dossier.html),一份 [dispossession-pipeline 系统图](./docs/exhibits/dispossession-pipeline.html),一个将每个已记录案件与 geocode 后的 property spine 相对应的[交互式地图](./docs/exhibits/interactive-map.html),四个已记录的案例研究([Nakhimova 82](./docs/exhibits/nakhimova-82-exhibit.html) — 拆除→重建→转售 address-laundering,[registry-to-resale](./docs/exhibits/case-study-II-registry-resale.html) — 逐套公寓的 registry sweep,[Stroiteley 74–88](./docs/exhibits/case-study-III-stroiteley.html) — 街区级拆除至单一开发商,[法庭判决表](./docs/exhibits/case-study-IV-court-docket.html) — 28 名法官,2,666 项裁决,无具名地址),深度调查 [Lenina 104–110 展览](./docs/exhibits/lenina-104-106-108-110-exhibit.html),一个交互式的[利益相关者网络](./docs/exhibits/stakeholder-network.html),以及一个[关于/方法论页面](./docs/exhibits/about.html)。入口点:[`docs/index.html`](./docs/index.html)。展示规则见 [`docs/exhibits/STYLE_GUIDE.md`](./docs/exhibits/STYLE_GUIDE.md)。 ## 状态(2026 年 6 月) 多源证据 spine,均已进行法证捕获并加载至 PostgreSQL/PostGIS。完整审查:[`docs/progress_report_2026-06.md`](./docs/progress_report_2026-06.md)。 - **约 211,900** 份已登记的源文档 / 约 71 GB 原始存储(SHA-256 + chain of custody) - spine 上共 **6,084** 处房产 · **1,155** 处达到法律级别(≥2 个独立来源) · 全部已进行 RD4U 分类 - **11,521** 条印证记录(镜像源、UNOSAT 损害情况、流离失所索赔、市场房源、无主 registry 处置、生命周期媒体) - **2,666** 起占领区法庭案件(4 个马里乌波尔地区法院 — **已饱和**) · **12,948** 条记录的无主 registry · **968** 项无主法令 · **1,941** 栋建筑的联邦损害追踪器 · **51** 项 DNR 土地划拨令 · **5,822/1,889** 住房排队/分配记录 - 法律机制目录(梯级 [A]–[H],30+ 项工具) — [`docs/legal_mechanisms_review.md`](./docs/legal_mechanisms_review.md) - 利益相关者网络(111 个节点 / 138 条边;Пушилин→Иващенко→Моргун→Кольцов 指挥链已注明日期) — [`docs/stakeholder_network.md`](./docs/stakeholder_network.md) - 对 28 个建筑聊天 Telegram 语料库(约 14.5 万条消息)进行了深度挖掘,以提取跨建筑参与者/法令/流程事件,118 份一手源文档(法令、法庭裁决、注明日期的无主快照),一个时间序列无主 registry 差异(64 起占领当局承认的市政没收,1,610 起业主归还,207 栋建筑的无记录消失 gap register),以及一个媒体生命周期清单(22 栋建筑拥有已确认的拆除→重建视觉轨迹) — 如果使用 Claude Code,请参见 `memory/deep_chat_corpus_analysis_2026-06.md`,否则请参见 `scripts/148`–`151` - 案例研究:[`docs/case_studies/`](./docs/case_studies/) — 四种已记录的没收模式:拆除→重建→转售 address-laundering ([`nakhimova_82_chernomorsky_1b.md`](./docs/case_studies/nakhimova_82_chernomorsky_1b.md));逐套公寓的 registry sweep 进入活跃转售 ([`mass_registry_to_resale.md`](./docs/case_studies/mass_registry_to_resale.md));将五栋建筑进行街区级拆除至单一开发商 ([`death_sites_new_construction.md`](./docs/case_studies/death_sites_new_construction.md));以及修复但不归还,即建筑被勒令拆除但从未被推平,同时所有权仍通过 registry 被剥夺 ([`lenina_104_106_108_110_restoration_without_restitution.md`](./docs/case_studies/lenina_104_106_108_110_restoration_without_restitution.md)) - QGIS 调查结果图层 (`data/exports/qgis/session_2026-06_findings.geojson`) — gap-register、媒体轨迹及已印证的没收建筑,264/271 处已 geocode **下一步:** 2026 年 7 月 1 日的重新登记截止日期开启了新一轮的指定浪潮 — 目前的活跃前线已从(现已关闭的)法庭判决表转移到每周对无主 registry 的重新快照。请参阅进度报告中的 gap list。 ## Pipeline ``` [occupation court portals] ← geoblocked; VPS only │ scripts/01_crawl.py (capture before parse, SHA-256 + custody) ▼ data/raw/ (immutable raw store + .meta.json sidecars) │ scripts/02_parse.py (offline, re-runnable extraction) ▼ data/parsed_cases.jsonl │ scripts/03_load.py ▼ PostgreSQL + PostGIS (db/schema.sql — lifecycle spine) ``` 每个阶段都是独立且可重新运行的。解析过程不会重新访问法庭。 上述法庭判决表是 spine 的源头,但目前的证据基础已跨越多个独立的占领区/联邦数据流,每个数据流都有各自的 crawl→parse→load 脚本(在 `scripts/` 中编号):马里乌波尔无主 registry + 法令 (05/06/26/27),联邦损害追踪器 (07/32),拆除法令 + MinStroy registry (08/09/14/15),DNR 土地划拨令 (10/11),住房排队/分配 (16/29),ЕИСЖС 新建建筑 registry (17/18),DNR/联邦规范法案 (13/35/37/38/39),EGRUL 所有权信息 (20/41),以及利益相关者网络 (40)。RD4U 分类 (36) 和跨源印证 (33) 对已加载的 spine 以只读方式运行。 一个独立的建筑聊天 Telegram 数据流(爬虫 74-147)为一个深度分析程序(148 跨聊天情报,149 文档清单,150 无主时间差异,151 媒体生命周期清单)以及一个将这些调查结果导入 `corroboration` 的加载器 (152) 提供数据。脚本 153 通过结合视觉 + 文档 + 处置证据,对候选案例进行评估以撰写案例研究;154 导出 QGIS 调查结果图层;155 是针对其他脚本引用但 `geocoded_buildings.jsonl` 尚未覆盖的建筑进行的针对性 Nominatim 执行操作。 ## 设置 ``` cp .env.example .env # fill PROJECT_ROOT, COURT_PROXY, DATABASE_URL, RESULTS_TEMPLATE make setup # venv + editable install ([geo,dev]) createdb mariupol_seizures && psql "$DATABASE_URL" -f db/schema.sql make test ``` ## 运行 ``` # 1) CRAWL — 仅从你的 Russia-routed VPS 运行。首先填写 crawl/courts.py, # 并将真实的 ГАС «Правосудие» 结果 URL 粘贴到 RESULTS_TEMPLATE 中。 make crawl # 2) PARSE(离线)和 3) LOAD make parse make load # 完整性检查:根据 custody log 对 raw store 重新进行 hash make verify ``` ## 首次爬取前 — 需确认两个未知项 1. **法庭目录。** `src/mariupol_seizures/crawl/courts.py` 预置了已确认的 DNR 最高法院门户网站 (`supcourt-dpr.su`) 以及在 HRW 裁决中点名的马里乌波尔法院(Primorskyi、Pershotravnevyi、Telmanovskiy)。请枚举全部 25 个法院(23 个地区法院 + 2 个区域法院,DNR/LNR),并验证每个法院是否提供 `modules.php?name=sud_delo`。 2. **搜索表单字段。** ГАС «Правосудие» 的 GET 字段名称因构建版本而异。运行一次手动的“无主”搜索,从 DevTools 复制结果 URL,并将其粘贴到 `RESULTS_TEMPLATE` 中,使用 `{court} {date_from} {date_to} {page}` 占位符。 ## 护栏 - **捕获先于解析**;原始存储为 append-only;所有内容均已哈希处理。 - **业主 PII 已最小化**处理,在共享输出中被屏蔽并加入 gitignore。以官方身份行事的官员/法官/受益人属于问责范围。 - 占领区裁决仅作为*没收行为*的证据,绝非有效的合法所有权凭证。 - Claude 不运行爬虫 — 只有用户能从其 VPS 运行。 ## 联系与支持 如果您对该档案有专业方面的兴趣,可以通过 [kovalever@gmail.com](mailto:kovalever@gmail.com) 联系作者。您也可以进行捐赠,以帮助维持此项目的存活并定期更新,收款方为 [kovalever@googlemail.com](mailto:kovalever@googlemail.com) (PayPal);或者,如果您在美国,可以通过 [PayPal](https://www.paypal.com/donate/?hosted_button_id=TQ6VZ7CFSHTHW) 捐款给 Building Democracy Foundation,这是一家注册的 501(c)(3) 非政府组织。
标签:PostgreSQL, 地理信息系统, 数字取证, 数据流水线, 测试用例, 自动化脚本, 证据链, 逆向工具