docs: add enrichment reports and update manifest

Add enrichment reports from city resolution:
- Austrian, Belgian, Bulgarian, Czech, Swiss ISIL enrichment reports
- GeoNames update reports
- Custodian creation reports
- Entry-to-GHCID mapping file
This commit is contained in:
kempersc 2025-12-07 14:27:36 +01:00
parent e45c1a3c85
commit 9d15cce65c
27 changed files with 3284 additions and 1 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
{ {
"generated": "2025-12-07T12:41:26.252Z", "generated": "2025-12-07T13:27:28.747Z",
"version": "1.0.0", "version": "1.0.0",
"categories": [ "categories": [
{ {

View file

@ -3181,3 +3181,275 @@ body.resizing-row * {
background: linear-gradient(180deg, transparent 0%, #555 50%, transparent 100%); background: linear-gradient(180deg, transparent 0%, #555 50%, transparent 100%);
} }
} }
/* ========================================
Web Archive Viewer Styles
======================================== */
.web-archive-btn {
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
padding: 0;
margin-left: 0.5rem;
border: 1px solid #e0e0e0;
border-radius: 6px;
background: #f8f9fa;
cursor: pointer;
font-size: 1.1rem;
transition: all 0.2s ease;
}
.web-archive-btn:hover {
background: #e3f2fd;
border-color: #2196F3;
}
.web-archive-btn.active {
background: #2196F3;
border-color: #1976D2;
}
.web-archive-viewer {
background: #fafafa;
border: 1px solid #e0e0e0;
border-radius: 8px;
margin-bottom: 1rem;
overflow: hidden;
}
.web-archive-header {
display: flex;
align-items: center;
gap: 1rem;
padding: 0.75rem 1rem;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
}
.web-archive-header h5 {
margin: 0;
font-size: 0.95rem;
display: flex;
align-items: center;
gap: 0.5rem;
}
.web-archive-header .archive-icon {
font-size: 1.1rem;
}
.web-archive-header .original-url {
color: rgba(255, 255, 255, 0.9);
text-decoration: none;
font-size: 0.85rem;
margin-left: auto;
padding: 0.25rem 0.5rem;
background: rgba(255, 255, 255, 0.15);
border-radius: 4px;
transition: background 0.2s;
}
.web-archive-header .original-url:hover {
background: rgba(255, 255, 255, 0.25);
}
.web-archive-content {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
padding: 1rem;
max-height: 400px;
overflow-y: auto;
}
.archive-section {
background: white;
border: 1px solid #e8e8e8;
border-radius: 6px;
overflow: hidden;
}
.archive-section h6 {
margin: 0;
padding: 0.6rem 0.75rem;
background: #f5f5f5;
border-bottom: 1px solid #e8e8e8;
font-size: 0.85rem;
color: #444;
display: flex;
align-items: center;
gap: 0.5rem;
}
.pages-list,
.claims-list {
max-height: 300px;
overflow-y: auto;
}
.page-item {
padding: 0.5rem 0.75rem;
border-bottom: 1px solid #f0f0f0;
cursor: pointer;
transition: background 0.15s;
}
.page-item:last-child {
border-bottom: none;
}
.page-item:hover {
background: #f5f9ff;
}
.page-item.selected {
background: #e3f2fd;
border-left: 3px solid #2196F3;
}
.page-item .page-title {
display: block;
font-weight: 500;
color: #333;
font-size: 0.9rem;
margin-bottom: 0.15rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.page-item .page-path {
display: block;
font-size: 0.75rem;
color: #888;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.claim-item {
padding: 0.6rem 0.75rem;
border-bottom: 1px solid #f0f0f0;
}
.claim-item:last-child {
border-bottom: none;
}
.claim-header {
display: flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.35rem;
}
.claim-type {
font-size: 0.7rem;
font-weight: 600;
text-transform: uppercase;
padding: 0.15rem 0.4rem;
border-radius: 3px;
background: #e0e0e0;
color: #555;
}
.claim-type.full_name { background: #c8e6c9; color: #2e7d32; }
.claim-type.description { background: #bbdefb; color: #1565c0; }
.claim-type.email { background: #ffe0b2; color: #e65100; }
.claim-type.phone { background: #d1c4e9; color: #512da8; }
.claim-type.address { background: #f8bbd9; color: #c2185b; }
.claim-type.opening_hours { background: #b2dfdb; color: #00695c; }
.claim-hypernym {
font-size: 0.7rem;
padding: 0.1rem 0.35rem;
background: #fff3e0;
color: #e65100;
border-radius: 3px;
}
.claim-content {
font-size: 0.85rem;
color: #333;
line-height: 1.4;
}
.claim-xpath {
font-size: 0.7rem;
color: #999;
margin-top: 0.3rem;
font-family: monospace;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.web-archive-viewer .no-data {
padding: 1rem;
text-align: center;
color: #999;
font-style: italic;
font-size: 0.85rem;
}
/* Dark mode for Web Archive Viewer */
@media (prefers-color-scheme: dark) {
.web-archive-btn {
background: #2a2a3e;
border-color: #404050;
color: #ddd;
}
.web-archive-btn:hover {
background: #1e3a5f;
border-color: #2196F3;
}
.web-archive-viewer {
background: #1a1a2e;
border-color: #333;
}
.archive-section {
background: #222238;
border-color: #333;
}
.archive-section h6 {
background: #2a2a40;
border-color: #333;
color: #ccc;
}
.page-item {
border-color: #333;
}
.page-item:hover {
background: #252540;
}
.page-item.selected {
background: #1e3a5f;
border-left-color: #2196F3;
}
.page-item .page-title {
color: #eee;
}
.page-item .page-path {
color: #888;
}
.claim-item {
border-color: #333;
}
.claim-content {
color: #ddd;
}
}

View file

@ -0,0 +1,16 @@
# Austrian City Enrichment Report
**Date**: 2025-12-07T12:36:48.892678
**Dry Run**: True
## Summary
| Metric | Count |
|--------|-------|
| Total XXX files | 133 |
| Updated | 33 |
| By coordinates | 0 |
| By name extraction | 33 |
| No city found | 100 |
| Errors | 0 |
| Remaining XXX | 100 |

View file

@ -0,0 +1,16 @@
# Austrian City Enrichment Report
**Date**: 2025-12-07T12:36:59.924335
**Dry Run**: False
## Summary
| Metric | Count |
|--------|-------|
| Total XXX files | 133 |
| Updated | 33 |
| By coordinates | 0 |
| By name extraction | 33 |
| No city found | 100 |
| Errors | 0 |
| Remaining XXX | 100 |

View file

@ -0,0 +1,16 @@
# Austrian City Enrichment Report
**Date**: 2025-12-07T12:40:02.733532
**Dry Run**: False
## Summary
| Metric | Count |
|--------|-------|
| Total XXX files | 100 |
| Updated | 66 |
| By coordinates | 0 |
| By name extraction | 66 |
| No city found | 34 |
| Errors | 0 |
| Remaining XXX | 34 |

View file

@ -0,0 +1,16 @@
# Austrian City Enrichment Report
**Date**: 2025-12-07T12:40:13.224644
**Dry Run**: False
## Summary
| Metric | Count |
|--------|-------|
| Total XXX files | 34 |
| Updated | 0 |
| By coordinates | 0 |
| By name extraction | 0 |
| No city found | 34 |
| Errors | 0 |
| Remaining XXX | 34 |

View file

@ -0,0 +1,16 @@
# Austrian City Enrichment Report
**Date**: 2025-12-07T12:41:26.939454
**Dry Run**: False
## Summary
| Metric | Count |
|--------|-------|
| Total XXX files | 34 |
| Updated | 29 |
| By coordinates | 0 |
| By name extraction | 29 |
| No city found | 5 |
| Errors | 0 |
| Remaining XXX | 5 |

View file

@ -0,0 +1,16 @@
# Austrian City Enrichment Report
**Date**: 2025-12-07T12:42:30.609118
**Dry Run**: False
## Summary
| Metric | Count |
|--------|-------|
| Total XXX files | 5 |
| Updated | 5 |
| By coordinates | 0 |
| By name extraction | 5 |
| No city found | 0 |
| Errors | 0 |
| Remaining XXX | 0 |

View file

@ -0,0 +1,16 @@
# Belgian City Enrichment Report
**Date**: 2025-12-07T12:27:58.882010
**Dry Run**: True
## Summary
| Metric | Count |
|--------|-------|
| Total XXX files | 107 |
| Updated | 4 |
| No ISIL in file | 0 |
| No city in ISIL lookup | 71 |
| City not in GeoNames | 32 |
| Errors | 0 |
| Remaining XXX | 103 |

View file

@ -0,0 +1,52 @@
# Belgian City Enrichment Report
**Date**: 2025-12-07T12:33:00.817994
**Dry Run**: False
## Summary
| Metric | Count |
|--------|-------|
| Total XXX files | 107 |
| Updated | 77 |
| Scraped from website | 71 |
| No ISIL in file | 0 |
| No city found | 0 |
| City not in GeoNames | 30 |
| Errors | 0 |
| Remaining XXX | 30 |
## Cities Not Found in GeoNames
| File | ISIL | City |
|------|------|------|
| BE-XX-XXX-A-KGHBCG.yaml | BE-ANN15 | Campus |
| BE-XX-XXX-L-BLBL-bibliotheek_lokaal_bestuur_lint.yaml | BE-LNT01 | Lokaal |
| BE-XX-XXX-L-BK-bibliotheek_kluisbergen.yaml | BE-BCD01 | Kluisbergen |
| BE-XX-XXX-L-LL.yaml | BE-SWT01 | Sint-lambrechts-woluwe |
| BE-XX-XXX-A-UABEWUC.yaml | BE-ANN05 | Exacte |
| BE-XX-XXX-L-BLBL.yaml | BE-LNT01 | Lokaal |
| BE-XX-XXX-L-OBL-openbare_bibliotheek_lievegem.yaml | BE-LOM01 | Lievegem |
| BE-XX-XXX-A-UABHSWUC.yaml | BE-ANN03 | Humane |
| BE-XX-XXX-A-UABTTUC.yaml | BE-ANN13 | Toegepaste |
| BE-XX-XXX-L-RL.yaml | BE-HAT02 | Limburg |
| BE-XX-XXX-L-VIZV.yaml | BE-OTE01 | Oostende |
| BE-XX-XXX-L-BUHCD.yaml | BE-DIK01 | Universiteit |
| BE-XX-XXX-A-KKLK.yaml | BE-LVN03 | KADOC |
| BE-XX-XXX-L-BKLBO.yaml | BE-OTE00 | Kris |
| BE-XX-XXX-L-BPNHBH-bibliotheek_petrus_naghel_hernebibliotheek_herne.yaml | BE-HRE01 | Petrus |
| BE-XX-XXX-L-BUDUBDBUD.yaml | BE-EVE01 | Defensie |
| BE-XX-XXX-L-BTOBL.yaml | BE-LVN00 | Tweebronnen |
| BE-XX-XXX-L-GBCEBCG.yaml | BE-GIM01 | CLIM |
| BE-XX-XXX-L-POBOWMOBM.yaml | BE-EOE01 | Maarkedal |
| BE-XX-XXX-L-BHBC.yaml | BE-DAA01 | Canticleer |
| BE-XX-XXX-L-BTOBL-bibliotheek_tweebronnenopenbare_bibliotheek_leuven.yaml | BE-LVN00 | Tweebronnen |
| BE-XX-XXX-L-BK-bibliotheek_kruisem.yaml | BE-KUM02 | Kruisem |
| BE-XX-XXX-L-SUIS.yaml | BE-ONR01 | Sint-Ursula |
| BE-XX-XXX-L-BHBC-bibliotheek_de_haanbibliotheek_canticleer.yaml | BE-DAA01 | Canticleer |
| BE-XX-XXX-L-BKLBO-bibliotheek_kris_lambertbibliotheek_oostende.yaml | BE-OTE00 | Kris |
| BE-XX-XXX-A-UABWIUC.yaml | BE-ANN06 | Wiskunde |
| BE-XX-XXX-A-MPMP.yaml | BE-ANN00 | Plantin-Moretus |
| BE-XX-XXX-L-BPNHBH.yaml | BE-HRE01 | Petrus |
| BE-XX-XXX-L-SDO.yaml | BE-BRL05 | Studie |
| BE-XX-XXX-L-OBL-openbare_bibliotheek_lierde.yaml | BE-SJA02 | Lierde |

View file

@ -0,0 +1,31 @@
# Custodian File Creation Report
Generated: 2025-12-06T23:29:51.082831+00:00
## Summary
| Metric | Count |
|--------|-------|
| Institutions processed | 564 |
| Custodian files created | 0 |
| Skipped (already exist) | 57 |
| Errors | 507 |
## By Source File
| Source File | Processed | Created | Skipped | Errors |
|-------------|-----------|---------|---------|--------|
| argentina_complete_ch_annotator.yaml | 50 | 0 | 0 | 50 |
| austria_complete_ch_annotator.yaml | 50 | 0 | 1 | 49 |
| belarus_complete_ch_annotator.yaml | 50 | 0 | 0 | 50 |
| belgium_complete_ch_annotator.yaml | 50 | 0 | 0 | 50 |
| bulgaria_complete_ch_annotator.yaml | 50 | 0 | 1 | 49 |
| czech_unified_ch_annotator.yaml | 50 | 0 | 2 | 48 |
| egypt_institutions_ch_annotator.yaml | 29 | 0 | 1 | 28 |
| georgia_glam_institutions_enriched_ch_annotator.yaml | 14 | 0 | 2 | 12 |
| japan_complete_ch_annotator.yaml | 50 | 0 | 0 | 50 |
| latin_american_institutions_AUTHORITATIVE_ch_annotator.yaml | 50 | 0 | 1 | 49 |
| netherlands_complete_ch_annotator.yaml | 50 | 0 | 49 | 1 |
| palestinian_heritage_custodians_ch_annotator.yaml | 0 | 0 | 0 | 0 |
| switzerland_isil_ch_annotator.yaml | 50 | 0 | 0 | 50 |
| vietnamese_glam_institutions_ch_annotator.yaml | 21 | 0 | 0 | 21 |

View file

@ -0,0 +1,31 @@
# Custodian File Creation Report
Generated: 2025-12-06T23:35:59.073301+00:00
## Summary
| Metric | Count |
|--------|-------|
| Institutions processed | 1058 |
| Custodian files created | 918 |
| Skipped (already exist) | 140 |
| Errors | 0 |
## By Source File
| Source File | Processed | Created | Skipped | Errors |
|-------------|-----------|---------|---------|--------|
| argentina_complete_ch_annotator.yaml | 100 | 70 | 30 | 0 |
| austria_complete_ch_annotator.yaml | 100 | 99 | 1 | 0 |
| belarus_complete_ch_annotator.yaml | 100 | 100 | 0 | 0 |
| belgium_complete_ch_annotator.yaml | 100 | 100 | 0 | 0 |
| bulgaria_complete_ch_annotator.yaml | 94 | 93 | 1 | 0 |
| czech_unified_ch_annotator.yaml | 100 | 98 | 2 | 0 |
| egypt_institutions_ch_annotator.yaml | 29 | 28 | 1 | 0 |
| georgia_glam_institutions_enriched_ch_annotator.yaml | 14 | 12 | 2 | 0 |
| japan_complete_ch_annotator.yaml | 100 | 100 | 0 | 0 |
| latin_american_institutions_AUTHORITATIVE_ch_annotator.yaml | 100 | 96 | 4 | 0 |
| netherlands_complete_ch_annotator.yaml | 100 | 1 | 99 | 0 |
| palestinian_heritage_custodians_ch_annotator.yaml | 0 | 0 | 0 | 0 |
| switzerland_isil_ch_annotator.yaml | 100 | 100 | 0 | 0 |
| vietnamese_glam_institutions_ch_annotator.yaml | 21 | 21 | 0 | 0 |

View file

@ -0,0 +1,31 @@
# Custodian File Creation Report
Generated: 2025-12-06T23:39:13.958367+00:00
## Summary
| Metric | Count |
|--------|-------|
| Institutions processed | 24851 |
| Custodian files created | 23987 |
| Skipped (already exist) | 864 |
| Errors | 0 |
## By Source File
| Source File | Processed | Created | Skipped | Errors |
|-------------|-----------|---------|---------|--------|
| argentina_complete_ch_annotator.yaml | 288 | 152 | 136 | 0 |
| austria_complete_ch_annotator.yaml | 223 | 178 | 45 | 0 |
| belarus_complete_ch_annotator.yaml | 167 | 165 | 2 | 0 |
| belgium_complete_ch_annotator.yaml | 421 | 392 | 29 | 0 |
| bulgaria_complete_ch_annotator.yaml | 94 | 86 | 8 | 0 |
| czech_unified_ch_annotator.yaml | 8694 | 8372 | 322 | 0 |
| egypt_institutions_ch_annotator.yaml | 29 | 22 | 7 | 0 |
| georgia_glam_institutions_enriched_ch_annotator.yaml | 14 | 3 | 11 | 0 |
| japan_complete_ch_annotator.yaml | 12064 | 11985 | 79 | 0 |
| latin_american_institutions_AUTHORITATIVE_ch_annotator.yaml | 304 | 255 | 49 | 0 |
| netherlands_complete_ch_annotator.yaml | 153 | 1 | 152 | 0 |
| palestinian_heritage_custodians_ch_annotator.yaml | 0 | 0 | 0 | 0 |
| switzerland_isil_ch_annotator.yaml | 2379 | 2363 | 16 | 0 |
| vietnamese_glam_institutions_ch_annotator.yaml | 21 | 13 | 8 | 0 |

View file

@ -0,0 +1,9 @@
# Czech City Enrichment Report
**Date**: 2025-12-07T01:32:15.485807
**Mode**: Dry Run
## Summary
- Total files processed: 20
- no_city_found: 20

View file

@ -0,0 +1,9 @@
# Czech City Enrichment Report
**Date**: 2025-12-07T01:34:50.170675
**Mode**: Dry Run
## Summary
- Total files processed: 50
- no_city_found: 50

View file

@ -0,0 +1,14 @@
# Czech City Enrichment Report
**Date**: 2025-12-07T01:37:04.398702
**Mode**: Dry Run
## Summary
- Total files processed: 50
- no_city_found: 49
- would_update: 1
## Cities Found (1 unique)
- Praha Klanovice: 1

View file

@ -0,0 +1,9 @@
# Czech City Enrichment (Fast Mode)
**Date**: 2025-12-07T02:11:53.333160
**Mode**: Dry Run
## Results
- city_not_in_geonames: 16
- no_city_in_name: 164
- would_update: 26

View file

@ -0,0 +1,9 @@
# Czech City Enrichment (Fast Mode)
**Date**: 2025-12-07T02:12:02.884476
**Mode**: Live
## Results
- city_not_in_geonames: 16
- no_city_in_name: 164
- updated: 26

View file

@ -0,0 +1,52 @@
# GeoNames GHCID Update Report
Generated: 2025-12-06T23:50:55.031801+00:00
## Summary
| Metric | Count |
|--------|-------|
| Files processed | 100 |
| Updated | 0 |
| Would update | 31 |
| Unchanged | 0 |
| Already geocoded | 4 |
| No coordinates | 65 |
| Geocode failed | 0 |
| Errors | 0 |
## Updates
| Old GHCID | New GHCID | Matched City |
|-----------|-----------|-------------|
| AR-SA-GAL-L-BPDAE | AR-21-GAL-L-BPDAE | Gálvez |
| CZ-ST-KOK-L-MKVK | CZ-88-KOK-L-MKVK | Kokořín |
| CZ-KR-NOV-L-MKKMTNB | CZ-82-NOV-L-MKKMTNB | Nový Bydžov |
| CZ-ST-KLA-M-SVMVKPOK | CZ-88-KLA-M-SVMVKPOK | Kladno |
| CZ-PL-STA-L-MKO | CZ-87-OSV-L-MKO | Osvračín |
| JP-FU-SHI-M-SCM | JP-08-SHI-M-SCM | Shirakawa-machi |
| CZ-JI-CES-L-OKVŠDSPVM | CZ-79-SIN-L-OKVŠDSPVM | Šindlovy Dvory |
| JP-KA-AIR-M-KOAM | JP-18-KUR-M-KOAM | Kurino |
| CZ-US-DEC-L-OKVB | CZ-89-BYN-L-OKVB | Bynovec |
| CZ-PA-STA-L-MKVSM | CZ-86-STA-L-MKVSM | Staré Město |
| JP-TO-MAC-M-MCMGA | JP-40-MAC-M-MCMGA | Machida |
| CZ-MO-CES-L-NČTSLK | CZ-85-ZPU-L-NČTSLK | Zpupná Lhota |
| JP-TO-NIS-M-OFWGM | JP-40-NIP-M-OFWGM | Nippara |
| CZ-KA-AS-L-KMICAPO | CZ-81-AS-L-KMICAPO | Aš |
| CZ-ST-MSE-L-OKMŽ | CZ-88-MSE-L-OKMŽ | Mšecké Žehrovice |
| CZ-ST-TRE-L-OKT-obecni_knihovna_trebonin | CZ-88-TRE-L-OKT-obecni_knihovna_trebonin | Třebonín |
| JP-AO-HIR-M-HMCA | JP-03-DOT-M-HMCA | Dotemachi |
| JP-GU-TOM-M-GSP | JP-10-IWA-M-GSP | Iwasome |
| JP-IB-MIT-L-IPL | JP-14-MIT-L-IPL | Mito |
| JP-NA-MIN-M-TOMAM | JP-26-HAT-M-TOMAM | Hata |
| JP-CH-INZ-M-IMIHF | JP-04-USU-M-IMIHF | Usui |
| CZ-JI-PIS-L-OKVŠ | CZ-79-SAM-L-OKVŠ | Šamonice |
| CZ-PL-DOM-L-MKS | CZ-87-STR-L-MKS | Stráž |
| CZ-JI-STO-L-OKS | CZ-79-STO-L-OKS | Stožec |
| CZ-OL-KOJ-L-MKS | CZ-84-STR-L-MKS | Stříbrnice |
| CZ-JI-TAV-L-MKK | CZ-78-KRE-L-MKK | Křepice |
| CZ-US-MOS-L-OKVMB | CZ-89-VYS-L-OKVMB | Vysoké Březno |
| CZ-HL-PRA-L-UKFFÚHSD | CZ-52-PRA-L-UKFFÚHSD | Prague |
| CZ-KR-UBI-L-OKVÚ | CZ-82-ZBO-L-OKVÚ | Zboží |
| CZ-ST-DIV-L-OKVR | CZ-88-RAD-L-OKVR | Radošovice |
| CZ-PL-NOV-L-OKVNM | CZ-87-NOV-L-OKVNM | Nové Mitrovice |

View file

@ -0,0 +1,29 @@
# GeoNames GHCID Update Report
Generated: 2025-12-06T23:58:19.552316+00:00
## Summary
| Metric | Count |
|--------|-------|
| Files processed | 500 |
| Updated | 0 |
| Would update | 0 |
| Unchanged | 0 |
| Already geocoded | 74 |
| No coordinates | 426 |
| Geocode failed | 0 |
| Invalid entity profile | 0 |
| Errors | 0 |
## CH-Annotator Entity Profiles
| Entity Profile | Count |
|---------------|-------|
| GRP.HER.LIB | 311 |
| | 79 |
| GRP.HER.MUS | 72 |
| GRP.HER.ARC | 22 |
| GRP.HER | 13 |
| GRP.HER.OFF | 2 |
| GRP.HER.EDU | 1 |

View file

@ -0,0 +1,33 @@
# GeoNames GHCID Update Report
Generated: 2025-12-06T23:59:39.987459+00:00
## Summary
| Metric | Count |
|--------|-------|
| Files processed | 5000 |
| Updated | 0 |
| Would update | 0 |
| Unchanged | 0 |
| Already geocoded | 748 |
| No coordinates | 4252 |
| Geocode failed | 0 |
| Invalid entity profile | 0 |
| Errors | 0 |
## CH-Annotator Entity Profiles
| Entity Profile | Count |
|---------------|-------|
| GRP.HER.LIB | 3008 |
| GRP.HER.MUS | 838 |
| | 736 |
| GRP.HER.ARC | 251 |
| GRP.HER | 101 |
| GRP.HER.OFF | 23 |
| GRP.HER.EDU | 17 |
| GRP.HER.MIX | 12 |
| GRP.HER.GAL | 8 |
| GRP.HER.RES | 4 |
| GRP.HER.HOL | 2 |

View file

@ -0,0 +1,10 @@
# Swiss ISIL City Enrichment Report
**Date**: 2025-12-07T01:09:06.506043
**Mode**: Dry Run
## Summary
- Total files processed: 10
- no_city_found: 8
- no_isil_url: 2

View file

@ -0,0 +1,22 @@
# Swiss ISIL City Enrichment Report
**Date**: 2025-12-07T01:11:23.248714
**Mode**: Dry Run
## Summary
- Total files processed: 10
- would_update: 10
## Cities Found (10 unique)
- Steinach: 1
- Freiburg: 1
- Goldach: 1
- Menzingen: 1
- Bern: 1
- Lugano: 1
- Basel: 1
- Fleurier: 1
- Saint-Blaise: 1
- St. Gallen: 1

View file

@ -0,0 +1,68 @@
# Swiss ISIL City Enrichment Report
**Date**: 2025-12-07T01:14:10.689653
**Mode**: Dry Run
## Summary
- Total files processed: 100
- no_isil_url: 3
- would_update: 97
## Cities Found (55 unique)
- Basel: 11
- Zürich: 10
- Bern: 8
- Genève: 8
- St. Gallen: 5
- Lausanne: 3
- Winterthur: 3
- Cernier: 2
- Steinach: 1
- Freiburg: 1
- Goldach: 1
- Menzingen: 1
- Lugano: 1
- Fleurier: 1
- Saint-Blaise: 1
- Bassersdorf: 1
- Täuffelen: 1
- Opfikon: 1
- Yverdon-les-Bains: 1
- Thun: 1
- Wald ZH: 1
- Maienfeld: 1
- Le Grand-Saconnex: 1
- Schönholzerswilen: 1
- Grenchen: 1
- Genève 4 - Suisse: 1
- Villars-sur-Glâne: 1
- Conthey: 1
- Rapperswil: 1
- Steinhausen: 1
- Ittigen: 1
- Chur: 1
- Vevey: 1
- Raperswilen: 1
- Sion: 1
- Fribourg: 1
- Givisiez: 1
- Thörishaus: 1
- Davos Platz: 1
- Dottikon: 1
- Teufen: 1
- Baden: 1
- Verbier: 1
- Frenkendorf: 1
- Kippel: 1
- La Chaux-de-Fonds: 1
- Wängi: 1
- Sorvilier: 1
- Vaduz: 1
- Liebefeld: 1
- Kastanienbaum: 1
- Neuchâtel: 1
- Au ZH: 1
- Eysins: 1
- Hünenberg: 1

View file

@ -0,0 +1,44 @@
# Swiss ISIL City Enrichment Report
**Date**: 2025-12-07T01:26:06.457200
**Mode**: Live
## Summary
- Total files processed: 50
- error: 1
- no_isil_url: 1
- updated: 48
## Cities Found (30 unique)
- Genève: 6
- Zürich: 6
- Bern: 3
- Basel: 3
- St. Gallen: 2
- Lausanne: 2
- Winterthur: 2
- Cernier: 2
- Lugano: 1
- Fleurier: 1
- Saint-Blaise: 1
- Bassersdorf: 1
- Opfikon: 1
- Yverdon-les-Bains: 1
- Wald ZH: 1
- Maienfeld: 1
- Le Grand-Saconnex: 1
- Schönholzerswilen: 1
- Grenchen: 1
- Genève 4 - Suisse: 1
- Villars-sur-Glâne: 1
- Ittigen: 1
- Chur: 1
- Vevey: 1
- Raperswilen: 1
- Sion: 1
- Fribourg: 1
- Givisiez: 1
- Thörishaus: 1
- Teufen: 1

View file

@ -0,0 +1,574 @@
# Swiss ISIL City Enrichment Report
**Date**: 2025-12-07T07:31:57.873206
**Mode**: Live
## Summary
- Total files processed: 2339
- error: 7
- no_city_found: 24
- no_isil_url: 26
- skipped: 2
- updated: 2280
## Cities Found (558 unique)
- Zürich: 345
- Bern: 211
- Genève: 141
- Basel: 134
- Lausanne: 123
- Neuchâtel: 61
- Fribourg: 57
- St. Gallen: 41
- Luzern: 30
- Winterthur: 24
- Solothurn: 21
- Aarau: 20
- Zug: 18
- Sion: 18
- Chur: 18
- La Chaux-de-Fonds: 17
- Schaffhausen: 13
- Bellinzona: 11
- Baar: 10
- Liestal: 10
- Genève 4: 9
- Lugano: 9
- Porrentruy: 9
- Dübendorf: 8
- Delémont: 8
- Vevey: 8
- Olten: 7
- Muttenz: 7
- Sierre: 7
- Locarno: 7
- Frauenfeld: 7
- Einsiedeln: 7
- Baden: 6
- Bussnang: 6
- Beromünster: 6
- Jona: 6
- Glarus: 6
- Weinfelden: 6
- Biel/Bienne: 6
- Carouge: 6
- Epalinges: 6
- Vaduz: 5
- Le Locle: 5
- Mendrisio: 5
- Wädenswil: 5
- Bulle: 5
- Sulgen: 5
- Köniz: 5
- Bischofszell: 5
- St.Gallen: 5
- Dornach: 5
- Davos: 5
- Genève 3: 5
- Dussnang: 5
- Morges: 5
- Martigny: 5
- Nyon: 5
- Uster: 5
- Yverdon-les-Bains: 5
- Wetzikon: 4
- Sarnen: 4
- Chêne-Bougeries: 4
- Granges-Paccot: 4
- Altdorf: 4
- Genève 4 - Suisse: 4
- Prilly: 4
- Ittigen: 4
- Thun: 4
- Saint-Aubin-Sauges: 4
- Zofingen: 4
- Rüschlikon: 4
- Lenzburg: 4
- Grenchen: 4
- Wil SG: 4
- Carouge GE: 4
- Colombier: 4
- Romont: 4
- Münchenstein: 4
- Brunnen: 4
- Oberägeri: 4
- Cortaillod: 3
- Le Mont-sur-Lausanne: 3
- Dozwil: 3
- Stans: 3
- Gland: 3
- Cham: 3
- Neuheim: 3
- Wohlen: 3
- Visp: 3
- Corcelles: 3
- Menzingen: 3
- St. Moritz: 3
- Langenthal: 3
- Tägerwilen: 3
- Kreuzlingen: 3
- Rochefort: 3
- Zollikofen: 3
- Rheinfelden: 3
- Meyrin: 3
- Schwyz: 3
- Romanshorn: 3
- Neuhausen: 3
- La Tour-de-Peilz: 3
- Monthey: 3
- Wattwil: 3
- Rotkreuz: 3
- Scherzingen: 3
- Münsingen: 3
- Marin-Epagnier: 3
- Conches: 3
- Langrickenbach: 3
- Regensdorf: 3
- Marly: 3
- Chambésy: 3
- Windisch: 3
- Frenkendorf: 2
- Liebefeld: 2
- Chêne-Bourg: 2
- Roggwil: 2
- Daillens: 2
- Fehraltorf: 2
- Cernier: 2
- Riehen: 2
- Dättwil AG: 2
- Brig: 2
- Bouveret: 2
- Breitenbach: 2
- Samedan: 2
- Cointrin: 2
- Küsnacht ZH: 2
- Baden-Dättwil: 2
- Reinach: 2
- Emmenbrücke: 2
- Lausanne-Dorigny: 2
- Sils / Segl Maria: 2
- Tartar: 2
- Güttingen: 2
- Eschlikon: 2
- Arlesheim: 2
- Pully: 2
- Lichtensteig: 2
- SION: 2
- Langenbruck: 2
- Chézard-Saint-Martin: 2
- Enges: 2
- Schönholzerswilen: 2
- Les Acacias: 2
- Appenzell: 2
- Horgen: 2
- Steinhausen: 2
- Unterägeri: 2
- Burgdorf: 2
- Rorschach: 2
- Sommeri: 2
- Brugg: 2
- St-Maurice: 2
- Wallisellen: 2
- Klingnau: 2
- Adliswil: 2
- Turgi: 2
- Wolhusen: 2
- Genève 8: 2
- Hofstetten bei Brienz: 2
- Münsterlingen: 2
- Bad Zurzach: 2
- Berg: 2
- Uzwil: 2
- Altstätten: 2
- Domat/Ems: 2
- Bürglen: 2
- Avenches: 2
- Laufen: 2
- Wilchingen: 2
- Bern 8: 2
- Lausanne 25: 2
- CRANS-MONTANA: 2
- Riggisberg: 2
- Spiez: 2
- Grand-Lancy: 2
- Glattfelden: 2
- Collombey: 2
- Stabio: 2
- Rapperswil SG: 2
- Estavayer-le-Lac: 2
- Montreux: 2
- Buchs SG: 2
- Cologny: 2
- Renens: 2
- Schwerzenbach: 2
- Warth: 2
- Wabern: 2
- Riddes: 2
- Disentis/Mustér: 2
- Bramois: 2
- Oberhofen am Thunersee: 2
- Plan-les-Ouates: 2
- Sion 2: 2
- Saint-Maurice: 2
- Arbon: 2
- Stäfa: 2
- Menziken: 2
- Vernier: 2
- La Côte-aux-Fées: 2
- Bern 6: 2
- Walchwil: 2
- Kippel: 1
- Sorvilier: 1
- Kastanienbaum: 1
- Eysins: 1
- Spreitenbach: 1
- Genève 11: 1
- Glattbrugg: 1
- Versoix (Sauverny) - Suisse: 1
- Grüsch: 1
- Goldau: 1
- Couvet: 1
- Mariastein: 1
- Chavannes-près-Renens: 1
- Berg TG: 1
- Sitten: 1
- Sils/Segl Maria: 1
- Barbengo: 1
- Sigriswil: 1
- Bolligen: 1
- Vilars: 1
- Rüti ZH: 1
- Jouxtens-Mézery: 1
- Chiasso: 1
- Crans VD: 1
- Heiden: 1
- Villigen PSI: 1
- Coffrane: 1
- Schlatt: 1
- Ennetbaden: 1
- Bôle: 1
- Bienne: 1
- Naters: 1
- Andermatt: 1
- Rikon im Tösstal: 1
- Roma: 1
- Auvernier: 1
- Münchenbuchsee: 1
- Alberswil: 1
- Amriswil: 1
- Court: 1
- Dietlikon: 1
- Bern 13: 1
- Orbe: 1
- Cressier: 1
- Klus: 1
- Gerlafingen: 1
- Oberbüren: 1
- Tramelan: 1
- Biel/Bienne 3: 1
- Birmensdorf ZH: 1
- Le Châble: 1
- Poschiavo: 1
- MUND: 1
- Gorgier: 1
- Lausanne 14: 1
- Finhaut: 1
- Bern 15: 1
- Confignon: 1
- Lugano Massagno: 1
- Dielsdorf: 1
- Coppet: 1
- Arzier-Le Muids: 1
- St-Sulpice VD: 1
- Herrliberg: 1
- Düdingen: 1
- St-Gingolph: 1
- CHARRAT: 1
- Gelterkinden: 1
- CHAMOSON: 1
- Vétroz: 1
- Genève 2: 1
- Ottenbach: 1
- Schüpfheim: 1
- Hilterfingen: 1
- Ettenhausen TG: 1
- Blonay: 1
- Sembrancher 1: 1
- Alpnach Dorf: 1
- Zizers: 1
- Maloja: 1
- Wildegg: 1
- Sonvilier: 1
- Volketswil: 1
- Salenstein: 1
- Penthalaz: 1
- Vionnaz: 1
- Muhen: 1
- Bourg-Saint-Pierre: 1
- Altendorf: 1
- Bremgarten AG: 1
- Biel-Bienne: 1
- Bözberg: 1
- Muolen: 1
- SAAS-GRUND: 1
- Teufen: 1
- CHALAIS: 1
- Oberriet SG: 1
- Laax: 1
- Flawil: 1
- Baldegg: 1
- Ilanz: 1
- Brig-Glis: 1
- Yvonand: 1
- Münchwilen: 1
- Heremence: 1
- Elsau: 1
- Evolène: 1
- Montana-Village: 1
- Etoy: 1
- Belfaux: 1
- Menznau: 1
- Gryon: 1
- Roggwil TG: 1
- Horn: 1
- Greifensee: 1
- Vouvry: 1
- Möhlin: 1
- Sempach: 1
- Erlen: 1
- Günsberg: 1
- Hauterive: 1
- Kloten: 1
- Capriasca: 1
- Dietikon: 1
- KIPPEL: 1
- Versoix: 1
- Egg b. Zürich: 1
- Les Avanchets: 1
- Kaiseraugst: 1
- Bern 16: 1
- Bettingen: 1
- La Hulpe: 1
- Grosshöchstetten: 1
- Oron-le-Châtel: 1
- Cuira: 1
- Jussy: 1
- Berlin: 1
- Romanel-sur-Lausanne: 1
- Cornaux: 1
- Allschwil: 1
- Kehrsatz: 1
- Vercorin: 1
- St-Imier: 1
- Birsfelden: 1
- CHAMPERY: 1
- Schönenberg an der Thur: 1
- Val-d'Illiez: 1
- Glion sur Montreux: 1
- Unterseen: 1
- Genolier: 1
- Bern 22: 1
- Bernex - Genève: 1
- Thônex: 1
- Horw: 1
- Bernex: 1
- Grimisuat: 1
- Balerna: 1
- Ettingen: 1
- Erde: 1
- Savièse: 1
- Tavannes: 1
- Saint-Blaise: 1
- Hunzenschwil: 1
- Meilen: 1
- Massagno: 1
- Posieux: 1
- Littenheid: 1
- Vérossaz: 1
- Oberdiessbach: 1
- Wettingen: 1
- Luzern 7: 1
- Gamprin-Bendern: 1
- Le Lieu: 1
- Marsens: 1
- Saint-Légier-La Chiésaz: 1
- Worblaufen: 1
- Rüti: 1
- Mellingen: 1
- Landquart: 1
- Neuenkirch: 1
- Altdorf UR: 1
- Hagenwil b. Amriswil: 1
- Martigny-Croix: 1
- Münster: 1
- Buelach: 1
- Rorbas: 1
- Troistorrents: 1
- Sursee: 1
- Bubikon: 1
- Bottenwil: 1
- Murten: 1
- Obfelden: 1
- Collonge-Bellerive: 1
- Castagnola: 1
- Biel: 1
- Meinier: 1
- Saxon: 1
- Niederweningen: 1
- Huttwil: 1
- Schindellegi: 1
- Uttwil: 1
- Niederhasli: 1
- Wetzikon ZH: 1
- Massongex: 1
- Rombach: 1
- Trogen: 1
- Neyruz: 1
- Pfyn: 1
- Heimisbach: 1
- Thayngen: 1
- Cully: 1
- Moutier: 1
- Ecublens/VD: 1
- Bottmingen: 1
- Langnau: 1
- Riedholz: 1
- Valchava: 1
- Bogis-Bossey: 1
- Laufenburg: 1
- Montricher: 1
- Kirchberg SG: 1
- Binningen: 1
- STALDEN: 1
- Sempach Stadt: 1
- Villigen: 1
- Willisau: 1
- Küsnacht: 1
- La Sarraz: 1
- Nax: 1
- Domdidier: 1
- Hausen b. Brugg: 1
- Steinen: 1
- Rheinau: 1
- Rapperswil BE: 1
- Ayent: 1
- Rolle: 1
- Leytron: 1
- Boswil: 1
- Abtwil: 1
- Schlieren: 1
- Weisslingen: 1
- Hünenberg: 1
- Trun: 1
- Urnäsch: 1
- Lengwil: 1
- Founex: 1
- Bottens: 1
- Lugano-Besso: 1
- Uitikon Waldegg: 1
- Uetikon am See: 1
- Locarno Solduno: 1
- Villars-sur-Glâne: 1
- Gentilino: 1
- Petit-Lancy: 1
- Vissoie: 1
- STEG: 1
- Künten: 1
- Zermatt: 1
- Tenero: 1
- Cossonay: 1
- Geroldswil: 1
- Bubendorf: 1
- Wiesendangen: 1
- Pfäffikon SZ: 1
- Wimmis: 1
- Rifferswil: 1
- Buchs: 1
- Ebnat-Kappel: 1
- Adligenswil: 1
- Koppigen: 1
- Pratteln: 1
- Thalwil: 1
- Nottwil: 1
- Herzogenbuchsee: 1
- Corsier-sur-Vevey: 1
- Wolfertswil: 1
- Avry-Sur-Matran: 1
- Emmetten: 1
- GUTTET-FESCHEL: 1
- Bern-Wabern: 1
- Gossau: 1
- Langnau im Emmental: 1
- Saint-Imier: 1
- Schmitten: 1
- Givisiez: 1
- Peseux: 1
- Oberrieden: 1
- Ermatingen: 1
- Genève - Suisse: 1
- Remetschwil: 1
- Magglingen: 1
- Orsières: 1
- Sainte-Croix: 1
- Dagmersellen: 1
- Brugg AG: 1
- Bürglen TG: 1
- Baltschieder: 1
- Bluche-Randogne: 1
- Mesocco: 1
- Mex: 1
- Hinwil: 1
- Romont FR: 1
- Givrins: 1
- Thundorf TG: 1
- MÖREL: 1
- Herisau: 1
- Trélex: 1
- St. Niklaus: 1
- Genève 22: 1
- Erlenbach: 1
- Aarberg: 1
- Les Verrières: 1
- Männedorf: 1
- Stein am Rhein: 1
- Matzingen: 1
- Le Vaud: 1
- Hasliberg Goldern: 1
- Hohentannen: 1
- Airolo: 1
- Hergiswil: 1
- Manno: 1
- Rapperswil-Jona: 1
- Volken: 1
- Ardon: 1
- Giubiasco: 1
- Stein: 1
- Gwatt (Thun): 1
- Affeltrangen: 1
- Zernez: 1
- Pregny-Chambésy: 1
- Meiringen: 1
- Seuzach: 1
- Biasca: 1
- Davos Platz: 1
- Wünnewil: 1
- Yens: 1
- Sorengo: 1
- Bönigen: 1
- Salvan: 1
- Aadorf: 1
- Opfikon: 1
- Grône: 1
- Engelberg: 1
- Rikon: 1
- FULLY: 1
- Zeneggen: 1
- Pratteln 1: 1
- Emmen: 1
- Aarburg: 1
- Leukerbad: 1
- Farvagny: 1
- Lutry: 1
- Rapperswil: 1