From 4e580e2a031d029a4f1025c0433f3ff8366a3dec Mon Sep 17 00:00:00 2001 From: "civicpatch-pipeline-bot[bot]" <205818791+civicpatch-pipeline-bot[bot]@users.noreply.github.com> Date: Wed, 28 Jan 2026 19:27:23 +0000 Subject: [PATCH] Add municipal officials for ocd-jurisdiction/country:us/state:tx/place:horizon_city/government by michelle@shelltr.me --- data/tx/local/place_horizon_city.yml | 119 + .../original.html | 1232 ++++++++ .../original.md | 237 ++ .../preprocessed.html | 821 ++++++ .../preprocessed.md | 96 + .../tx/local/place_horizon_city/config.yml | 13 + .../tx/local/place_horizon_city/costs.json | 402 +++ .../images/33d051d57650.png | Bin 0 -> 6710 bytes .../images/3fc4b1412cf8.png | Bin 0 -> 8606 bytes .../images/597a9cbb2376.png | Bin 0 -> 6831 bytes .../images/63133d7e6788.png | Bin 0 -> 7742 bytes .../images/b6301103e9c7.png | Bin 0 -> 8429 bytes .../images/ba118f360820.png | Bin 0 -> 6882 bytes .../images/f0498e54e638.png | Bin 0 -> 7106 bytes .../place_horizon_city/images/image_map.json | 17 + .../tx/local/place_horizon_city/workflow.log | 396 +++ .../place_horizon_city/workflow_context.json | 2486 +++++++++++++++++ 17 files changed, 5819 insertions(+) create mode 100644 data/tx/local/place_horizon_city.yml create mode 100644 data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/original.html create mode 100644 data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/original.md create mode 100644 data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/preprocessed.html create mode 100644 data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/preprocessed.md create mode 100644 data_source/tx/local/place_horizon_city/config.yml create mode 100644 data_source/tx/local/place_horizon_city/costs.json create mode 100644 data_source/tx/local/place_horizon_city/images/33d051d57650.png create mode 100644 data_source/tx/local/place_horizon_city/images/3fc4b1412cf8.png create mode 100644 data_source/tx/local/place_horizon_city/images/597a9cbb2376.png create mode 100644 data_source/tx/local/place_horizon_city/images/63133d7e6788.png create mode 100644 data_source/tx/local/place_horizon_city/images/b6301103e9c7.png create mode 100644 data_source/tx/local/place_horizon_city/images/ba118f360820.png create mode 100644 data_source/tx/local/place_horizon_city/images/f0498e54e638.png create mode 100644 data_source/tx/local/place_horizon_city/images/image_map.json create mode 100644 data_source/tx/local/place_horizon_city/workflow.log create mode 100644 data_source/tx/local/place_horizon_city/workflow_context.json diff --git a/data/tx/local/place_horizon_city.yml b/data/tx/local/place_horizon_city.yml new file mode 100644 index 000000000..d0ade36da --- /dev/null +++ b/data/tx/local/place_horizon_city.yml @@ -0,0 +1,119 @@ +- name: Andres Renteria + other_names: [] + phones: [] + emails: + - mayor@horizoncity.org + urls: [] + start_date: null + end_date: 2027-05 + office: + name: Mayor + division_ocdid: ocd-division/country:us/state:tx/place:horizon_city + image: https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg + jurisdiction_ocdid: ocd-jurisdiction/country:us/state:tx/place:horizon_city/government + cdn_image: null + source_urls: + - https://www.horizoncity.org/mayor-council/ + updated_at: '2026-01-28T19:26:19+00:00' +- name: Guillermo Ortega + other_names: [] + phones: [] + emails: + - alderman1@horizoncity.org + urls: [] + start_date: null + end_date: 2029-05 + office: + name: Council Member + division_ocdid: ocd-division/country:us/state:tx/place:horizon_city + image: https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg + jurisdiction_ocdid: ocd-jurisdiction/country:us/state:tx/place:horizon_city/government + cdn_image: null + source_urls: + - https://www.horizoncity.org/mayor-council/ + updated_at: '2026-01-28T19:26:19+00:00' +- name: Katherine Ames + other_names: [] + phones: [] + emails: + - alderman5@horizoncity.org + urls: [] + start_date: null + end_date: 2027-05 + office: + name: Council Member + division_ocdid: ocd-division/country:us/state:tx/place:horizon_city + image: https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg + jurisdiction_ocdid: ocd-jurisdiction/country:us/state:tx/place:horizon_city/government + cdn_image: null + source_urls: + - https://www.horizoncity.org/mayor-council/ + updated_at: '2026-01-28T19:26:19+00:00' +- name: Matthew Gardea + other_names: [] + phones: [] + emails: + - alderman6@horizoncity.org + urls: [] + start_date: null + end_date: 2029-05 + office: + name: Council Member + division_ocdid: ocd-division/country:us/state:tx/place:horizon_city + image: https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg + jurisdiction_ocdid: ocd-jurisdiction/country:us/state:tx/place:horizon_city/government + cdn_image: null + source_urls: + - https://www.horizoncity.org/mayor-council/ + updated_at: '2026-01-28T19:26:19+00:00' +- name: Robert Avila + other_names: [] + phones: [] + emails: + - alderman4@horizoncity.org + urls: [] + start_date: null + end_date: 2029-05 + office: + name: Council Member + division_ocdid: ocd-division/country:us/state:tx/place:horizon_city + image: https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg + jurisdiction_ocdid: ocd-jurisdiction/country:us/state:tx/place:horizon_city/government + cdn_image: null + source_urls: + - https://www.horizoncity.org/mayor-council/ + updated_at: '2026-01-28T19:26:19+00:00' +- name: Rocio Ortega + other_names: [] + phones: [] + emails: + - alderman3@horizoncity.org + urls: [] + start_date: null + end_date: 2027-05 + office: + name: Council Member + division_ocdid: ocd-division/country:us/state:tx/place:horizon_city + image: https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg + jurisdiction_ocdid: ocd-jurisdiction/country:us/state:tx/place:horizon_city/government + cdn_image: null + source_urls: + - https://www.horizoncity.org/mayor-council/ + updated_at: '2026-01-28T19:26:19+00:00' +- name: Ruben Mendoza + other_names: [] + phones: [] + emails: + - alderman7@horizoncity.org + urls: [] + start_date: null + end_date: 2027-05 + office: + name: Council Member + division_ocdid: ocd-division/country:us/state:tx/place:horizon_city + image: https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg + jurisdiction_ocdid: ocd-jurisdiction/country:us/state:tx/place:horizon_city/government + cdn_image: null + source_urls: + - https://www.horizoncity.org/mayor-council/ + updated_at: '2026-01-28T19:26:19+00:00' diff --git a/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/original.html b/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/original.html new file mode 100644 index 000000000..e70766992 --- /dev/null +++ b/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/original.html @@ -0,0 +1,1232 @@ + + + + + + + + + Mayor & Council | Town of Horizon City + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Due to icy road conditions, The town of Horizon City Administrative Offices will open at 9 AM on Monday 1/26/26. Thank you.
+ + + + +
+ + +
+ + +
+ + + + + +
+ +
+
+
+

Mayor and Council

+

 

+

The legislative and governing body of the Town of Horizon City consists of a Mayor and seven (7) Council Members known as the “City Council of the Town of Horizon City”. The Mayor and Council Members are elected at large.

+

The Mayor and Council are elected to Four-Year terms and Regular City Elections are held on uniform election dates established in the Texas Election Code during the month of May in odd numbered years.

+

The next election for Mayor and Council Members Places 3, 5, and 7 will be held in May 2027; Election for Council Members places 1, 2, 4 and 6 will be in May 2029.

+

-Charter of Horizon City Texas, Article III, the City Council

+
Horizon City Council Members
+ +
+
+
+
+
+ +
+
DSC_0219
+
+
+ +
+
+

City Mayor: Andres Renteria
+Term Expires: May 2027

+ +
+
+
+
+ +
+
DSC_0211
+
+
+ +
+
+

Place 1: Guillermo Ortega
+Term Expires: May 2029

+ +
+
+
+
+ +
+
DSC_0250
+
+
+ +
+
+

Place 2: Scott Quiroz
+Term Expires: May 2025

+ +
+
+
+
+ +
+
DSC_0172
+
+
+ +
+
+

Place 3: Rocio Ortega
+Term Expires: May 2027

+ +
+
+
+
+ +
+
+
+
+ +
+
+

Place 4: Robert Avila
+Term Expires: May 2029

+ +
+
+
+
+ +
+
+
+
+ +
+
+

Place 5: Katherine Ames
+Term Expires: May 2027

+ +
+
+
+
+ +
+
DSC_0204
+
+
+ +
+
+

Place 6: Matthew Gardea
+Term Expires: May 2029

+ +
+
+
+
+ +
+
ND8_4977
+
+
+ +
+
+

Place 7: Ruben Mendoza
+Term Expires: May 2027

+ +
+
+
+
+
+

Portraits by SFP

+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + +
+ +
+ + + + + +
+
+ + + + +
Translate »
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Original text
Rate this translation
Your feedback will be used to help improve Google Translate
\ No newline at end of file diff --git a/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/original.md b/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/original.md new file mode 100644 index 000000000..ec55f19ed --- /dev/null +++ b/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/original.md @@ -0,0 +1,237 @@ +Mayor & Council | Town of Horizon City + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Due to icy road conditions, The town of Horizon City Administrative Offices will open at 9 AM on Monday 1/26/26. Thank you. + +The official website of Horizon City + +* [Home](https://www.horizoncity.org/) + +[![](http://www.horizoncity.org/wp-content/uploads/horizon-logo-forizontal.png)![](http://www.horizoncity.org/wp-content/uploads/horizon-logo-forizontal.png)](https://www.horizoncity.org/) + +Menu + +* Government +* [Departments](https://www.horizoncity.org/mayor-council/#) + + + [Building Services](https://www.horizoncity.org/building-services/) + + [City Clerk](https://www.horizoncity.org/city-clerk/) + + [Code Enforcement](https://www.horizoncity.org/code-enforcement/) + + [City Planning](https://www.horizoncity.org/city-planning/) + + [Human Resources](https://www.horizoncity.org/human-resources/) + + [Finance](https://www.horizoncity.org/finance/) + + [Municipal Court](https://www.horizoncity.org/municipal-court/) + + [Police](http://www.horizoncitypd.com/) + + [Public Works](https://www.horizoncity.org/public-works/) +* Information +* [Contact Us](https://www.horizoncity.org/contact/) + +CLOSE + +Mayor & Council +=============== + +[Home](https://www.horizoncity.org/)Mayor & Council + +Mayor and Council +----------------- + +The legislative and governing body of the Town of Horizon City consists of a Mayor and seven (7) Council Members known as the “City Council of the Town of Horizon City”. The Mayor and Council Members are elected at large. + +The Mayor and Council are elected to Four-Year terms and Regular City Elections are held on uniform election dates established in the Texas Election Code during the month of May in odd numbered years. + +The next election for Mayor and Council Members Places 3, 5, and 7 will be held in May 2027; Election for Council Members places 1, 2, 4 and 6 will be in May 2029. + +-Charter of Horizon City Texas, Article III, the City Council + +##### **Horizon City Council Members** + +![DSC_0219](https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg "DSC_0219") + +[**City Mayor:** Andres Renteria](mailto:mayor@horizoncity.org) +Term Expires: May 2027 + +![DSC_0211](https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg "DSC_0211") + +[**Place 1:** Guillermo Ortega](mailto:alderman1@horizoncity.org) +Term Expires: May 2029 + +![DSC_0250](https://www.horizoncity.org/wp-content/uploads/DSC_0250-200x250.jpg "DSC_0250") + +[**Place 2:** Scott Quiroz](mailto:alderman2@horizoncity.org) +Term Expires: May 2025 + +![DSC_0172](https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg "DSC_0172") + +[**Place 3:** Rocio Ortega](mailto:alderman3@horizoncity.org) +Term Expires: May 2027 + +![](https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg) + +[**Place 4:** Robert Avila](mailto:alderman4@horizoncity.org) +Term Expires: May 2029 + +![](https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg) + +[**Place 5:** Katherine Ames](mailto:alderman5@horizoncity.org) +Term Expires: May 2027 + +![DSC_0204](https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg "DSC_0204") + +[**Place 6:** Matthew Gardea](mailto:alderman6@horizoncity.org) +Term Expires: May 2029 + +![ND8_4977](https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg "ND8_4977") + +[**Place 7:** Ruben Mendoza](mailto:alderman7@horizoncity.org) +Term Expires: May 2027 + +Portraits by [SFP](http://signaturefilmsphotography.com) + + + +[Building Services](https://www.horizoncity.org/mayor-council/building-services/) +[Codes Enforcement](https://www.horizoncity.org/mayor-council/code-enforcement/) +[Public Works](https://www.horizoncity.org/mayor-council/public-works/) +[City Clerk](https://www.horizoncity.org/mayor-council/city-clerk/) +[Human Resources](https://www.horizoncity.org/mayor-council/human-resources/) +[City Planning](https://www.horizoncity.org/mayor-council/city-planning/) +[Finance](https://www.horizoncity.org/mayor-council/finance/) +[Police](http://www.horizoncitypd.com/) +[Municipal Court](https://www.horizoncity.org/mayor-council/municipal-court/) +[Privacy Policy and Disclaimer](https://www.horizoncity.org/mayor-council/wp-content/uploads/privacy-policy-and-disclaimer.pdf) + +Town of Horizon City Hall + +14999 Darrington Road +Horizon City, Texas 79928 + +phone: (915) 852-1046 +fax: (915) 852-1005 + +[![](http://www.horizoncity.org/wp-content/uploads/boardbook_icon.png)](https://login.boardbook.org/) + +Operation Hours + +Monday – Thursday 7:00am to 6:00pm +Friday - Closed +(Closed for lunch 11:45am to 1:00pm) + + + +Copyright © 2024 City of Horizon  Website developed by[Digital Solutions](http://www.digitalsolutionsnm.com/) + + + + +Translate » + +Select Language + +Powered by [![Google Translate](https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_42x16dp.png)Translate](https://translate.google.com) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +![](https://fonts.gstatic.com/s/i/productlogos/translate/v14/24px.svg) + +Original text + +Rate this translation + +Your feedback will be used to help improve Google Translate \ No newline at end of file diff --git a/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/preprocessed.html b/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/preprocessed.html new file mode 100644 index 000000000..2744ee1af --- /dev/null +++ b/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/preprocessed.html @@ -0,0 +1,821 @@ + + + + + + + + + Mayor & Council | Town of Horizon City + + + + + + + + + + + + + + + + + + + + + +
+
+ + + Due to icy road conditions, The town of Horizon City Administrative Offices will open at 9 AM on Monday 1/26/26. Thank you. + + + + +
+
+ + + + +
+
+ + + +
+
+
+
+
+
+
+
+
+
+
+

+ Mayor and Council +

+

+ The legislative and governing body of the Town of Horizon City consists of a Mayor and seven (7) Council Members known as the “City Council of the Town of Horizon City”. The Mayor and Council Members are elected at large. +

+

+ The Mayor and Council are elected to Four-Year terms and Regular City Elections are held on uniform election dates established in the Texas Election Code during the month of May in odd numbered years. +

+

+ The next election for Mayor and Council Members Places 3, 5, and 7 will be held in May 2027; Election for Council Members places 1, 2, 4 and 6 will be in May 2029. +

+

+ -Charter of Horizon City Texas, Article III, the City Council +

+
+ + Horizon City Council Members + +
+
+
+
+
+
+
+
+
+
+
+ DSC_0219 +
+
+

+ + + City Mayor: + + Andres Renteria + + Term Expires: May 2027 +

+
+
+
+
+
+
+
+
+ DSC_0211 +
+
+

+ + Guillermo Ortega + + Term Expires: May 2029 +

+
+
+
+
+
+
+
+
+ DSC_0250 +
+
+

+ + Scott Quiroz + + Term Expires: May 2025 +

+
+
+
+
+
+
+
+
+ DSC_0172 +
+
+

+ + Rocio Ortega + + Term Expires: May 2027 +

+
+
+
+
+
+
+
+
+
+
+ +
+
+

+ + Robert Avila + + Term Expires: May 2029 +

+
+
+
+
+
+
+
+
+ +
+
+

+ + Katherine Ames + + Term Expires: May 2027 +

+
+
+
+
+
+
+
+
+ DSC_0204 +
+
+

+ + Matthew Gardea + + Term Expires: May 2029 +

+
+
+
+
+
+
+
+
+ ND8_4977 +
+
+

+ + Ruben Mendoza + + Term Expires: May 2027 +

+
+
+
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+ + +
+ +
+ + + + + Google Translate + + + + + + + diff --git a/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/preprocessed.md b/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/preprocessed.md new file mode 100644 index 000000000..a1c53f1b7 --- /dev/null +++ b/data_source/tx/local/place_horizon_city/cache/www_horizoncity_org_mayor-council_/preprocessed.md @@ -0,0 +1,96 @@ +Mayor & Council | Town of Horizon City + + + +Due to icy road conditions, The town of Horizon City Administrative Offices will open at 9 AM on Monday 1/26/26. Thank you. + + + +![](http://www.horizoncity.org/wp-content/uploads/horizon-logo-forizontal.png) +![](http://www.horizoncity.org/wp-content/uploads/horizon-logo-forizontal.png) + +Mayor & Council +=============== + +Mayor and Council +----------------- + +The legislative and governing body of the Town of Horizon City consists of a Mayor and seven (7) Council Members known as the “City Council of the Town of Horizon City”. The Mayor and Council Members are elected at large. + +The Mayor and Council are elected to Four-Year terms and Regular City Elections are held on uniform election dates established in the Texas Election Code during the month of May in odd numbered years. + +The next election for Mayor and Council Members Places 3, 5, and 7 will be held in May 2027; Election for Council Members places 1, 2, 4 and 6 will be in May 2029. + +-Charter of Horizon City Texas, Article III, the City Council + +##### **Horizon City Council Members** + +![DSC_0219](https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg "DSC_0219") + +[**City Mayor:** +Andres Renteria](mailto:mayor@horizoncity.org) +Term Expires: May 2027 + +![DSC_0211](https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg "DSC_0211") + +[Guillermo Ortega](mailto:alderman1@horizoncity.org) +Term Expires: May 2029 + +![DSC_0250](https://www.horizoncity.org/wp-content/uploads/DSC_0250-200x250.jpg "DSC_0250") + +[Scott Quiroz](mailto:alderman2@horizoncity.org) +Term Expires: May 2025 + +![DSC_0172](https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg "DSC_0172") + +[Rocio Ortega](mailto:alderman3@horizoncity.org) +Term Expires: May 2027 + +![](https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg) + +[Robert Avila](mailto:alderman4@horizoncity.org) +Term Expires: May 2029 + +![](https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg) + +[Katherine Ames](mailto:alderman5@horizoncity.org) +Term Expires: May 2027 + +![DSC_0204](https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg "DSC_0204") + +[Matthew Gardea](mailto:alderman6@horizoncity.org) +Term Expires: May 2029 + +![ND8_4977](https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg "ND8_4977") + +[Ruben Mendoza](mailto:alderman7@horizoncity.org) +Term Expires: May 2027 + + + +Town of Horizon City Hall + +14999 Darrington Road +Horizon City, Texas 79928 +phone: (915) 852-1046 +fax: (915) 852-1005 + +![](http://www.horizoncity.org/wp-content/uploads/boardbook_icon.png) + +Monday – Thursday 7:00am to 6:00pm +Friday - Closed +(Closed for lunch 11:45am to 1:00pm) + + + +Copyright © 2024 City of Horizon  Website developed by +[Digital Solutions](http://www.digitalsolutionsnm.com/) + + + +![Google Translate](https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_42x16dp.png) + + + + +![](https://fonts.gstatic.com/s/i/productlogos/translate/v14/24px.svg) \ No newline at end of file diff --git a/data_source/tx/local/place_horizon_city/config.yml b/data_source/tx/local/place_horizon_city/config.yml new file mode 100644 index 000000000..2f47a8169 --- /dev/null +++ b/data_source/tx/local/place_horizon_city/config.yml @@ -0,0 +1,13 @@ +url: http://www.horizoncity.org +name: Horizon City city +source_urls: +- https://www.horizoncity.org/mayor-council/ +identities: + Andres Renteria: [] + Guillermo Ortega: [] + Katherine Ames: [] + Matthew Gardea: [] + Robert Avila: [] + Rocio Ortega: [] + Ruben Mendoza: [] +government_type: mayor_council diff --git a/data_source/tx/local/place_horizon_city/costs.json b/data_source/tx/local/place_horizon_city/costs.json new file mode 100644 index 000000000..83eb15a7a --- /dev/null +++ b/data_source/tx/local/place_horizon_city/costs.json @@ -0,0 +1,402 @@ +{ + "llm_costs": [ + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "google_gemini", + "model": "gemini-2.5-flash", + "model_input_price_per_1m": "0.30", + "model_output_price_per_1m": "2.50", + "input_tokens": 364, + "output_tokens": 965, + "with_search": true, + "input_cost": "0.00010920", + "output_cost": "0.00241250", + "total_cost": "0.00252170" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 1345, + "output_tokens": 1080, + "with_search": false, + "input_cost": "0.00033625", + "output_cost": "0.0021600", + "total_cost": "0.00249625" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "google_gemini", + "model": "gemini-2.5-flash", + "model_input_price_per_1m": "0.30", + "model_output_price_per_1m": "2.50", + "input_tokens": 2514, + "output_tokens": 863, + "with_search": false, + "input_cost": "0.00075420", + "output_cost": "0.00215750", + "total_cost": "0.00291170" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 2104, + "output_tokens": 2313, + "with_search": false, + "input_cost": "0.00052600", + "output_cost": "0.00462600", + "total_cost": "0.00515200" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 634, + "output_tokens": 952, + "with_search": false, + "input_cost": "0.00015850", + "output_cost": "0.00190400", + "total_cost": "0.00206250" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 908, + "output_tokens": 1461, + "with_search": false, + "input_cost": "0.00022700", + "output_cost": "0.00292200", + "total_cost": "0.00314900" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 712, + "output_tokens": 1309, + "with_search": false, + "input_cost": "0.00017800", + "output_cost": "0.00261800", + "total_cost": "0.00279600" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 712, + "output_tokens": 1016, + "with_search": false, + "input_cost": "0.00017800", + "output_cost": "0.00203200", + "total_cost": "0.00221000" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 712, + "output_tokens": 1066, + "with_search": false, + "input_cost": "0.00017800", + "output_cost": "0.00213200", + "total_cost": "0.00231000" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 908, + "output_tokens": 1178, + "with_search": false, + "input_cost": "0.00022700", + "output_cost": "0.00235600", + "total_cost": "0.00258300" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 908, + "output_tokens": 1354, + "with_search": false, + "input_cost": "0.00022700", + "output_cost": "0.00270800", + "total_cost": "0.00293500" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 1688, + "output_tokens": 1416, + "with_search": false, + "input_cost": "0.00042200", + "output_cost": "0.00283200", + "total_cost": "0.00325400" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 634, + "output_tokens": 974, + "with_search": false, + "input_cost": "0.00015850", + "output_cost": "0.00194800", + "total_cost": "0.00210650" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 634, + "output_tokens": 1044, + "with_search": false, + "input_cost": "0.00015850", + "output_cost": "0.00208800", + "total_cost": "0.00224650" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 634, + "output_tokens": 991, + "with_search": false, + "input_cost": "0.00015850", + "output_cost": "0.00198200", + "total_cost": "0.00214050" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 634, + "output_tokens": 1038, + "with_search": false, + "input_cost": "0.00015850", + "output_cost": "0.00207600", + "total_cost": "0.00223450" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 634, + "output_tokens": 1013, + "with_search": false, + "input_cost": "0.00015850", + "output_cost": "0.00202600", + "total_cost": "0.00218450" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 712, + "output_tokens": 1280, + "with_search": false, + "input_cost": "0.00017800", + "output_cost": "0.0025600", + "total_cost": "0.00273800" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 634, + "output_tokens": 1172, + "with_search": false, + "input_cost": "0.00015850", + "output_cost": "0.00234400", + "total_cost": "0.00250250" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 634, + "output_tokens": 1623, + "with_search": false, + "input_cost": "0.00015850", + "output_cost": "0.00324600", + "total_cost": "0.00340450" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 634, + "output_tokens": 1236, + "with_search": false, + "input_cost": "0.00015850", + "output_cost": "0.00247200", + "total_cost": "0.00263050" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 1345, + "output_tokens": 123, + "with_search": false, + "input_cost": "0.00033625", + "output_cost": "0.00024600", + "total_cost": "0.00058225" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "google_gemini", + "model": "gemini-2.5-flash", + "model_input_price_per_1m": "0.30", + "model_output_price_per_1m": "2.50", + "input_tokens": 2514, + "output_tokens": 907, + "with_search": false, + "input_cost": "0.00075420", + "output_cost": "0.00226750", + "total_cost": "0.00302170" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "llm_name": "openai", + "model": "openai/gpt-5-mini", + "model_input_price_per_1m": "0.25", + "model_output_price_per_1m": "2.00", + "input_tokens": 2104, + "output_tokens": 2975, + "with_search": false, + "input_cost": "0.00052600", + "output_cost": "0.00595000", + "total_cost": "0.00647600" + } + ], + "search_engine_costs": [ + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "search_engine_name": "google", + "per_1000_requests_price": "5.00", + "total_cost": "0.005" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "search_engine_name": "google", + "per_1000_requests_price": "5.00", + "total_cost": "0.005" + }, + { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "search_engine_name": "google", + "per_1000_requests_price": "5.00", + "total_cost": "0.005" + } + ], + "storage_costs": [], + "total_cost_by_request": { + "timestamp": "2026-01-28", + "request_id": "2026-01-28-b401", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "total_costs_llm": "0.06664910", + "total_costs_search": "0.015", + "total_costs_storage": 0, + "llm_google_gemini_cost": "0.00845510", + "llm_openai_cost": "0.05819400", + "total_cost": "0.08164910" + } +} \ No newline at end of file diff --git a/data_source/tx/local/place_horizon_city/images/33d051d57650.png b/data_source/tx/local/place_horizon_city/images/33d051d57650.png new file mode 100644 index 0000000000000000000000000000000000000000..f969189afeb24bc6a5a358931a62835dd7a770be GIT binary patch literal 6710 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 literal 0 HcmV?d00001 diff --git a/data_source/tx/local/place_horizon_city/images/3fc4b1412cf8.png b/data_source/tx/local/place_horizon_city/images/3fc4b1412cf8.png new file mode 100644 index 0000000000000000000000000000000000000000..8feabef1230ca73755622e4a38da56a88c8f831c GIT binary patch literal 8606 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 pWldJ*vLo2 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 literal 0 HcmV?d00001 diff --git a/data_source/tx/local/place_horizon_city/images/63133d7e6788.png b/data_source/tx/local/place_horizon_city/images/63133d7e6788.png new file mode 100644 index 0000000000000000000000000000000000000000..ad7acd9574069c4bb7562ca0064faca58edbf796 GIT binary patch literal 7742 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
sQqf%{&(O5OJw&fa{eRBR-9=QK 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 literal 0 HcmV?d00001 diff --git a/data_source/tx/local/place_horizon_city/images/ba118f360820.png b/data_source/tx/local/place_horizon_city/images/ba118f360820.png new file mode 100644 index 0000000000000000000000000000000000000000..52617847b7b777ae19978c31394aa3deaf70c8d3 GIT binary patch literal 6882 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 literal 0 HcmV?d00001 diff --git a/data_source/tx/local/place_horizon_city/images/f0498e54e638.png b/data_source/tx/local/place_horizon_city/images/f0498e54e638.png new file mode 100644 index 0000000000000000000000000000000000000000..5eb0dfb0723c1c8701ee86eb74080783f2bf957e GIT binary patch literal 7106 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 NxV^w*E0w#2{|A3MS;_za literal 0 HcmV?d00001 diff --git a/data_source/tx/local/place_horizon_city/images/image_map.json b/data_source/tx/local/place_horizon_city/images/image_map.json new file mode 100644 index 000000000..0871a5abe --- /dev/null +++ b/data_source/tx/local/place_horizon_city/images/image_map.json @@ -0,0 +1,17 @@ +{ + "http://www.horizoncity.org/wp-content/uploads/horizon-logo-forizontal.png": "2b5408ef749d.png", + "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg": "33d051d57650.png", + "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg": "ba118f360820.png", + "https://www.horizoncity.org/wp-content/uploads/DSC_0250-200x250.jpg": "e7f54dba49c0.png", + "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg": "597a9cbb2376.png", + "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg": "3fc4b1412cf8.png", + "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg": "b6301103e9c7.png", + "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg": "f0498e54e638.png", + "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg": "63133d7e6788.png", + "http://www.horizoncity.org/wp-content/uploads/boardbook_icon.png": "0ab912e75916.png", + "https://www.gstatic.com/images/branding/googlelogo/1x/googlelogo_color_42x16dp.png": "3f3f3a8d0882.png", + "https://www.horizoncity.org/wp-content/uploads/agenda_minutes-770x434.jpg": "31cef3a4718c.png", + "https://www.horizoncity.org/wp-content/uploads/2016/01/government-770x434.jpg": "d4bd536f576a.png", + "https://www.horizoncity.org/wp-content/uploads/2016/01/parks-75x75.jpg": "3debe8b3a882.png", + "https://www.horizoncity.org/wp-content/uploads/2016/01/government-1170x659.jpg": "48b7c92c3448.png" +} \ No newline at end of file diff --git a/data_source/tx/local/place_horizon_city/workflow.log b/data_source/tx/local/place_horizon_city/workflow.log new file mode 100644 index 000000000..c629cfe58 --- /dev/null +++ b/data_source/tx/local/place_horizon_city/workflow.log @@ -0,0 +1,396 @@ +[2026-01-28T19:12:51.097501] [INFO] Step 1: RESEARCH_MUNICIPALITY +[2026-01-28T19:12:51.115058] [INFO] Running Gemini prompt +[2026-01-28T19:12:57.017882] [INFO] LLM Cost added: google_gemini model gemini-2.5-flash - Input tokens: 364, Output tokens: 965, Total cost: $0.002522 +[2026-01-28T19:12:57.017962] [INFO] gemini gemini-2.5-flash LLM call took 5.90 seconds +[2026-01-28T19:12:57.018229] [INFO] Source URLs not found, using search engine for links. +[2026-01-28T19:12:57.319235] [INFO] Step 2: SEARCH_LINKS from website: http://www.horizoncity.org +[2026-01-28T19:12:57.336503] [INFO] Using government type: mayor_council for keyword selection with keywords: {'elected officials': ['elected officials', 'government officials', 'officials', 'city administration', 'index', 'government', 'bios', 'meet', 'about'], 'mayor': ['mayor and city council', 'about mayor', 'meet the mayor', 'about the mayor', 'mayor', 'council president', 'council manager'], 'council members': ['meet the council', 'city council members', 'council bios', 'council members', 'councilmembers', 'counsel member', 'city council', 'board of trustees', 'council districts', 'city hall', 'council', 'municipal directory']} +[2026-01-28T19:12:57.336542] [INFO] Searching for keyword term: elected officials, keywords: ['elected officials', 'government officials', 'officials', 'city administration', 'index', 'government', 'bios', 'meet', 'about'] +[2026-01-28T19:12:57.336560] [INFO] Searching with google for Horizon City city elected officials +[2026-01-28T19:12:57.644198] [INFO] -> https://www.horizoncity.org/mayor-council/ +[2026-01-28T19:12:57.644252] [INFO] -> https://www.horizoncity.org/ +[2026-01-28T19:12:57.644274] [INFO] -> https://www.horizoncity.org/city-clerk/ +[2026-01-28T19:12:57.644292] [INFO] -> https://www.horizoncity.org/elections/ +[2026-01-28T19:12:57.644306] [INFO] -> https://www.horizoncity.org/city-hall/ +[2026-01-28T19:12:57.644324] [INFO] -> https://www.horizoncity.org/board-commissions/planning-zoning/ +[2026-01-28T19:12:57.644340] [INFO] -> https://www.horizoncity.org/contact/ +[2026-01-28T19:12:57.644366] [INFO] -> https://www.horizoncity.org/city-planning/ +[2026-01-28T19:12:57.644419] [INFO] -> https://www.horizoncity.org/building-services/ +[2026-01-28T19:12:57.644442] [INFO] -> https://www.horizoncity.org/charter/article-i-ii/ +[2026-01-28T19:12:57.644818] [INFO] Search successful with google. Found 10 results. +[2026-01-28T19:12:57.644862] [INFO] Searching for keyword term: mayor, keywords: ['mayor and city council', 'about mayor', 'meet the mayor', 'about the mayor', 'mayor', 'council president', 'council manager'] +[2026-01-28T19:12:57.644891] [INFO] Searching with google for Horizon City city mayor +[2026-01-28T19:12:57.964775] [INFO] -> https://www.horizoncity.org/mayor-council/ +[2026-01-28T19:12:57.964821] [INFO] -> https://www.horizoncity.org/ +[2026-01-28T19:12:57.964834] [INFO] -> https://www.horizoncity.org/council-agendas/ +[2026-01-28T19:12:57.964844] [INFO] -> https://www.horizoncity.org/city-hall/ +[2026-01-28T19:12:57.964854] [INFO] -> https://www.horizoncity.org/city-clerk/ +[2026-01-28T19:12:57.964868] [INFO] -> https://www.horizoncity.org/contact/ +[2026-01-28T19:12:57.964887] [INFO] -> https://www.horizoncity.org/board-commissions/planning-zoning/ +[2026-01-28T19:12:57.964905] [INFO] -> https://www.horizoncity.org/faqs/ +[2026-01-28T19:12:57.964952] [INFO] -> https://www.horizoncity.org/human-resources/ +[2026-01-28T19:12:57.964972] [INFO] -> https://www.horizoncity.org/charter/article-i-ii/ +[2026-01-28T19:12:57.965372] [INFO] Search successful with google. Found 10 results. +[2026-01-28T19:12:57.965427] [INFO] Searching for keyword term: council members, keywords: ['meet the council', 'city council members', 'council bios', 'council members', 'councilmembers', 'counsel member', 'city council', 'board of trustees', 'council districts', 'city hall', 'council', 'municipal directory'] +[2026-01-28T19:12:57.965454] [INFO] Searching with google for Horizon City city council members +[2026-01-28T19:12:58.239394] [INFO] -> https://www.horizoncity.org/mayor-council/ +[2026-01-28T19:12:58.239461] [INFO] -> https://www.horizoncity.org/council-agendas/ +[2026-01-28T19:12:58.239481] [INFO] -> https://www.horizoncity.org/live-archived-videos/ +[2026-01-28T19:12:58.239496] [INFO] -> https://www.horizoncity.org/ +[2026-01-28T19:12:58.239509] [INFO] -> https://www.horizoncity.org/city-clerk/ +[2026-01-28T19:12:58.239521] [INFO] -> https://www.horizoncity.org/faqs/ +[2026-01-28T19:12:58.239535] [INFO] -> https://www.horizoncity.org/board-commissions/planning-zoning/ +[2026-01-28T19:12:58.239549] [INFO] -> https://www.horizoncity.org/board-commissions/tirz-no-1-board/ +[2026-01-28T19:12:58.239564] [INFO] -> https://www.horizoncity.org/elections/ +[2026-01-28T19:12:58.239595] [INFO] -> https://www.horizoncity.org/city-planning/ +[2026-01-28T19:12:58.240036] [INFO] Search successful with google. Found 10 results. +[2026-01-28T19:12:58.348318] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/mayor-council/ +[2026-01-28T19:13:01.512448] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:13:01.786775] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:13:01.898473] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/33d051d57650.png +[2026-01-28T19:13:02.033284] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/ba118f360820.png +[2026-01-28T19:13:02.208403] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/e7f54dba49c0.png +[2026-01-28T19:13:02.383303] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/597a9cbb2376.png +[2026-01-28T19:13:02.561363] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3fc4b1412cf8.png +[2026-01-28T19:13:02.735860] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/b6301103e9c7.png +[2026-01-28T19:13:02.886611] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/f0498e54e638.png +[2026-01-28T19:13:03.041670] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/63133d7e6788.png +[2026-01-28T19:13:03.312035] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/0ab912e75916.png +[2026-01-28T19:13:03.394728] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:13:03.603771] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/mayor-council/ +[2026-01-28T19:13:08.389861] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:13:08.389927] [INFO] -> Elapsed time: 4.79 seconds +[2026-01-28T19:13:08.389953] [INFO] -> Average elapsed time: 4.79 seconds +[2026-01-28T19:13:08.389969] [INFO] -> Total elapsed time: 4.79 seconds +[2026-01-28T19:13:08.502574] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/mayor-council/ +[2026-01-28T19:13:08.502897] [INFO] Running OpenAI prompt +[2026-01-28T19:13:08.502964] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:13:25.504631] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 1345, Output tokens: 1080, Total cost: $0.002496 +[2026-01-28T19:13:25.504850] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/mayor-and-council/', 'https://www.horizoncity.org/mayor-council/'] +[2026-01-28T19:13:25.505202] [INFO] Running Gemini prompt +[2026-01-28T19:13:39.266468] [INFO] LLM Cost added: google_gemini model gemini-2.5-flash - Input tokens: 2514, Output tokens: 863, Total cost: $0.002912 +[2026-01-28T19:13:39.268269] [INFO] gemini gemini-2.5-flash LLM call took 13.76 seconds +[2026-01-28T19:13:39.268831] [INFO] Running OpenAI prompt +[2026-01-28T19:13:39.268872] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:14:10.693595] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 2104, Output tokens: 2313, Total cost: $0.005152 +[2026-01-28T19:14:10.695231] [INFO] links updated: [Link(url='https://www.horizoncity.org/mayor-and-council', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/mayor-council', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/council-agendas/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/city-clerk/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/live-archived-videos/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/elections/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/city-hall/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/board-commissions/planning-zoning/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/contact/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/faqs/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/city-planning/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/board-commissions/tirz-no-1-board/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/building-services/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/human-resources/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/charter/article-i-ii/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/mayor-council/', status='done', folder_name='www_horizoncity_org_mayor-council_', is_profile_page=False)] +[2026-01-28T19:14:10.812824] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/mayor-and-council +[2026-01-28T19:14:13.362764] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:14:13.617297] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:14:43.827621] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:14:44.032476] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/mayor-and-council +[2026-01-28T19:14:46.622297] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:14:46.622342] [INFO] -> Elapsed time: 2.59 seconds +[2026-01-28T19:14:46.622356] [INFO] -> Average elapsed time: 3.29 seconds +[2026-01-28T19:14:46.622367] [INFO] -> Total elapsed time: 6.59 seconds +[2026-01-28T19:14:46.740328] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/mayor-and-council +[2026-01-28T19:14:46.740557] [INFO] Running OpenAI prompt +[2026-01-28T19:14:46.740627] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:15:02.232977] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 634, Output tokens: 952, Total cost: $0.002062 +[2026-01-28T19:15:02.233233] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/government', 'https://www.horizoncity.org/government/city-council', 'https://www.horizoncity.org/government/mayor', 'https://www.horizoncity.org/departments/administration/staff-directory'] +[2026-01-28T19:15:02.362982] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/government +[2026-01-28T19:15:10.124300] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:15:10.367759] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:15:10.604129] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/48b7c92c3448.png +[2026-01-28T19:15:10.718437] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3debe8b3a882.png +[2026-01-28T19:15:10.977735] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/0ab912e75916.png +[2026-01-28T19:15:11.069482] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:15:11.276193] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/government +[2026-01-28T19:15:14.268893] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:15:14.268948] [INFO] -> Elapsed time: 2.99 seconds +[2026-01-28T19:15:14.268963] [INFO] -> Average elapsed time: 3.00 seconds +[2026-01-28T19:15:14.268972] [INFO] -> Total elapsed time: 8.99 seconds +[2026-01-28T19:15:14.396829] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/government +[2026-01-28T19:15:14.397091] [INFO] Running OpenAI prompt +[2026-01-28T19:15:14.397144] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:15:33.678171] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 908, Output tokens: 1461, Total cost: $0.003149 +[2026-01-28T19:15:33.678446] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/government/', 'https://www.horizoncity.org/2016/01/12/government/', 'https://www.horizoncity.org/category/city-council-agendas/'] +[2026-01-28T19:15:33.793666] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/government/city-council +[2026-01-28T19:15:37.759551] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:15:37.976061] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:15:38.191657] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/0ab912e75916.png +[2026-01-28T19:15:38.274582] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:15:38.484420] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/city-council +[2026-01-28T19:15:41.201120] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:15:41.201162] [INFO] -> Elapsed time: 2.72 seconds +[2026-01-28T19:15:41.201176] [INFO] -> Average elapsed time: 2.68 seconds +[2026-01-28T19:15:41.201187] [INFO] -> Total elapsed time: 10.72 seconds +[2026-01-28T19:15:41.321650] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/city-council +[2026-01-28T19:15:41.321865] [INFO] Running OpenAI prompt +[2026-01-28T19:15:41.321960] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:16:05.067076] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 712, Output tokens: 1309, Total cost: $0.002796 +[2026-01-28T19:16:05.067366] [INFO] Page relevance check found related urls: ['http://www.horizoncity.org/city-council/', 'http://www.horizoncity.org/government/', 'http://www.horizoncity.org/meet-the-council/'] +[2026-01-28T19:16:05.181298] [INFO] Step 3: SCRAPE_PAGE: scraping http://www.horizoncity.org/city-council +[2026-01-28T19:16:08.710196] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:16:08.958992] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:16:09.152563] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/0ab912e75916.png +[2026-01-28T19:16:09.242904] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:16:09.449700] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: http://www.horizoncity.org/city-council +[2026-01-28T19:16:12.166873] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:16:12.166931] [INFO] -> Elapsed time: 2.72 seconds +[2026-01-28T19:16:12.166949] [INFO] -> Average elapsed time: 2.54 seconds +[2026-01-28T19:16:12.166960] [INFO] -> Total elapsed time: 12.72 seconds +[2026-01-28T19:16:12.290082] [INFO] Step 5: PROCESS_PAGE_CONTENT: http://www.horizoncity.org/city-council +[2026-01-28T19:16:12.290271] [INFO] Running OpenAI prompt +[2026-01-28T19:16:12.290317] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:16:26.858522] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 712, Output tokens: 1016, Total cost: $0.002210 +[2026-01-28T19:16:26.858846] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/city-council/', 'https://www.horizoncity.org/government/'] +[2026-01-28T19:16:26.971601] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/city-council +[2026-01-28T19:16:30.009084] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:16:30.272724] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:16:30.493700] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/0ab912e75916.png +[2026-01-28T19:16:30.575315] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:16:30.792725] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/city-council +[2026-01-28T19:16:33.503890] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:16:33.503962] [INFO] -> Elapsed time: 2.71 seconds +[2026-01-28T19:16:33.503985] [INFO] -> Average elapsed time: 2.45 seconds +[2026-01-28T19:16:33.503996] [INFO] -> Total elapsed time: 14.71 seconds +[2026-01-28T19:16:33.627768] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/city-council +[2026-01-28T19:16:33.627973] [INFO] Running OpenAI prompt +[2026-01-28T19:16:33.628022] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:16:48.912259] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 712, Output tokens: 1066, Total cost: $0.002310 +[2026-01-28T19:16:48.912601] [INFO] Page relevance check found related urls: ['http://www.horizoncity.org/city-council/'] +[2026-01-28T19:16:49.024366] [INFO] Step 3: SCRAPE_PAGE: scraping http://www.horizoncity.org/government +[2026-01-28T19:16:52.182962] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:16:52.450117] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:16:52.619221] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/48b7c92c3448.png +[2026-01-28T19:16:52.749204] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3debe8b3a882.png +[2026-01-28T19:16:52.977161] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/0ab912e75916.png +[2026-01-28T19:16:53.059236] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:16:53.282869] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: http://www.horizoncity.org/government +[2026-01-28T19:16:56.181279] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:16:56.181329] [INFO] -> Elapsed time: 2.90 seconds +[2026-01-28T19:16:56.181353] [INFO] -> Average elapsed time: 2.41 seconds +[2026-01-28T19:16:56.181370] [INFO] -> Total elapsed time: 16.90 seconds +[2026-01-28T19:16:56.299827] [INFO] Step 5: PROCESS_PAGE_CONTENT: http://www.horizoncity.org/government +[2026-01-28T19:16:56.300061] [INFO] Running OpenAI prompt +[2026-01-28T19:16:56.300110] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:17:11.256769] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 908, Output tokens: 1178, Total cost: $0.002583 +[2026-01-28T19:17:11.257113] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/2016/01/12/government/', 'https://www.horizoncity.org/category/city-council-agendas/'] +[2026-01-28T19:17:11.373939] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/2016/01/12/government +[2026-01-28T19:17:14.917255] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:17:15.138319] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:17:15.306201] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/48b7c92c3448.png +[2026-01-28T19:17:15.437310] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3debe8b3a882.png +[2026-01-28T19:17:15.686372] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/0ab912e75916.png +[2026-01-28T19:17:15.773960] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:17:15.991424] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/2016/01/12/government +[2026-01-28T19:17:18.885972] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:17:18.886015] [INFO] -> Elapsed time: 2.89 seconds +[2026-01-28T19:17:18.886028] [INFO] -> Average elapsed time: 2.36 seconds +[2026-01-28T19:17:18.886036] [INFO] -> Total elapsed time: 18.89 seconds +[2026-01-28T19:17:19.007526] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/2016/01/12/government +[2026-01-28T19:17:19.007739] [INFO] Running OpenAI prompt +[2026-01-28T19:17:19.007783] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:17:36.205823] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 908, Output tokens: 1354, Total cost: $0.002935 +[2026-01-28T19:17:36.206196] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/2016/01/12/government/', 'https://www.horizoncity.org/category/city-council-agendas/'] +[2026-01-28T19:17:36.322941] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/category/city-council-agendas +[2026-01-28T19:17:39.494941] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:17:39.710675] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:17:39.846341] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/31cef3a4718c.png +[2026-01-28T19:17:40.015218] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/d4bd536f576a.png +[2026-01-28T19:17:40.203108] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/d4bd536f576a.png +[2026-01-28T19:17:40.418468] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/d4bd536f576a.png +[2026-01-28T19:17:40.608274] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/d4bd536f576a.png +[2026-01-28T19:17:40.779227] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/d4bd536f576a.png +[2026-01-28T19:17:40.948865] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/d4bd536f576a.png +[2026-01-28T19:17:41.189381] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/d4bd536f576a.png +[2026-01-28T19:17:41.338307] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/d4bd536f576a.png +[2026-01-28T19:17:41.538817] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/d4bd536f576a.png +[2026-01-28T19:17:41.711762] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/d4bd536f576a.png +[2026-01-28T19:17:41.891286] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/d4bd536f576a.png +[2026-01-28T19:17:42.028286] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3debe8b3a882.png +[2026-01-28T19:17:42.252393] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/0ab912e75916.png +[2026-01-28T19:17:42.316974] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:17:42.532782] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/category/city-council-agendas +[2026-01-28T19:17:46.215506] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:17:46.215549] [INFO] -> Elapsed time: 3.68 seconds +[2026-01-28T19:17:46.215564] [INFO] -> Average elapsed time: 2.41 seconds +[2026-01-28T19:17:46.215574] [INFO] -> Total elapsed time: 21.68 seconds +[2026-01-28T19:17:46.328708] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/category/city-council-agendas +[2026-01-28T19:17:46.328905] [INFO] Running OpenAI prompt +[2026-01-28T19:17:46.328985] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:18:02.578494] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 1688, Output tokens: 1416, Total cost: $0.003254 +[2026-01-28T19:18:02.578815] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/government/', 'https://www.horizoncity.org/city-council/', 'https://www.horizoncity.org/category/city-council-agendas/'] +[2026-01-28T19:18:02.766393] [INFO] Step 3: SCRAPE_PAGE: scraping http://www.horizoncity.org/meet-the-council +[2026-01-28T19:18:05.504481] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:18:05.804587] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:18:35.982574] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:18:36.188513] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: http://www.horizoncity.org/meet-the-council +[2026-01-28T19:18:38.752565] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:18:38.752609] [INFO] -> Elapsed time: 2.56 seconds +[2026-01-28T19:18:38.752624] [INFO] -> Average elapsed time: 2.36 seconds +[2026-01-28T19:18:38.752634] [INFO] -> Total elapsed time: 23.56 seconds +[2026-01-28T19:18:38.863281] [INFO] Step 5: PROCESS_PAGE_CONTENT: http://www.horizoncity.org/meet-the-council +[2026-01-28T19:18:38.863470] [INFO] Running OpenAI prompt +[2026-01-28T19:18:38.863514] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:18:51.279222] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 634, Output tokens: 974, Total cost: $0.002106 +[2026-01-28T19:18:51.279555] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/government/', 'https://www.horizoncity.org/government/town-council/', 'https://www.horizoncity.org/government/mayor/', 'https://www.horizoncity.org/staff-directory/', 'https://www.horizoncity.org/your-government/boards-and-commissions/'] +[2026-01-28T19:18:51.392184] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/government/town-council +[2026-01-28T19:18:53.863463] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:18:54.142181] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:19:24.330737] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:19:24.535565] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/town-council +[2026-01-28T19:19:27.107290] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:19:27.107335] [INFO] -> Elapsed time: 2.57 seconds +[2026-01-28T19:19:27.107349] [INFO] -> Average elapsed time: 2.32 seconds +[2026-01-28T19:19:27.107360] [INFO] -> Total elapsed time: 25.57 seconds +[2026-01-28T19:19:27.214764] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/town-council +[2026-01-28T19:19:27.214994] [INFO] Running OpenAI prompt +[2026-01-28T19:19:27.215037] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:19:43.727309] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 634, Output tokens: 1044, Total cost: $0.002246 +[2026-01-28T19:19:43.727695] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/government/', 'https://www.horizoncity.org/government/town-council/', 'https://www.horizoncity.org/departments/administration/', 'https://www.horizoncity.org/contacts/', 'https://www.horizoncity.org/government/meet-the-mayor/'] +[2026-01-28T19:19:43.843795] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/departments/administration +[2026-01-28T19:19:46.448875] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:19:46.737185] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:20:16.929164] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:20:17.137481] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/departments/administration +[2026-01-28T19:20:19.701117] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:20:19.701160] [INFO] -> Elapsed time: 2.56 seconds +[2026-01-28T19:20:19.701176] [INFO] -> Average elapsed time: 2.30 seconds +[2026-01-28T19:20:19.701191] [INFO] -> Total elapsed time: 27.56 seconds +[2026-01-28T19:20:19.810358] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/departments/administration +[2026-01-28T19:20:19.810578] [INFO] Running OpenAI prompt +[2026-01-28T19:20:19.810625] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:20:32.795717] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 634, Output tokens: 991, Total cost: $0.002140 +[2026-01-28T19:20:32.796147] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/government', 'https://www.horizoncity.org/government/mayor-and-council', 'https://www.horizoncity.org/government/administration', 'https://www.horizoncity.org/departments', 'https://www.horizoncity.org/contact'] +[2026-01-28T19:20:32.911985] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/government/mayor-and-council +[2026-01-28T19:20:35.572953] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:20:35.862693] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:21:06.033813] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:21:06.241839] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/mayor-and-council +[2026-01-28T19:21:08.807326] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:21:08.807376] [INFO] -> Elapsed time: 2.57 seconds +[2026-01-28T19:21:08.807398] [INFO] -> Average elapsed time: 2.27 seconds +[2026-01-28T19:21:08.807416] [INFO] -> Total elapsed time: 29.57 seconds +[2026-01-28T19:21:08.914603] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/mayor-and-council +[2026-01-28T19:21:08.914805] [INFO] Running OpenAI prompt +[2026-01-28T19:21:08.914851] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:21:24.958722] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 634, Output tokens: 1038, Total cost: $0.002234 +[2026-01-28T19:21:24.959145] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/government/', 'https://www.horizoncity.org/government/town-council/', 'https://www.horizoncity.org/government/administration/', 'https://www.horizoncity.org/government/mayor/', 'https://www.horizoncity.org/departments/', 'https://www.horizoncity.org/about-us/'] +[2026-01-28T19:21:25.071953] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/government/administration +[2026-01-28T19:21:27.603495] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:21:27.948931] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:21:58.136101] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:21:58.348713] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/administration +[2026-01-28T19:22:00.935680] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:22:00.935727] [INFO] -> Elapsed time: 2.59 seconds +[2026-01-28T19:22:00.935742] [INFO] -> Average elapsed time: 2.26 seconds +[2026-01-28T19:22:00.935753] [INFO] -> Total elapsed time: 31.59 seconds +[2026-01-28T19:22:01.049938] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/administration +[2026-01-28T19:22:01.050135] [INFO] Running OpenAI prompt +[2026-01-28T19:22:01.050182] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:22:12.730326] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 634, Output tokens: 1013, Total cost: $0.002184 +[2026-01-28T19:22:12.730752] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/government', 'https://www.horizoncity.org/our-government/city-council', 'https://www.horizoncity.org/our-government/mayor', 'https://www.horizoncity.org/departments/administration', 'https://www.horizoncity.org/contact-us'] +[2026-01-28T19:22:12.846827] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/our-government/city-council +[2026-01-28T19:22:15.845496] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:22:16.219537] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:22:16.450280] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/0ab912e75916.png +[2026-01-28T19:22:16.533387] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:22:16.734252] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/our-government/city-council +[2026-01-28T19:22:19.556410] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:22:19.556455] [INFO] -> Elapsed time: 2.82 seconds +[2026-01-28T19:22:19.556467] [INFO] -> Average elapsed time: 2.25 seconds +[2026-01-28T19:22:19.556476] [INFO] -> Total elapsed time: 33.82 seconds +[2026-01-28T19:22:19.668216] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/our-government/city-council +[2026-01-28T19:22:19.668446] [INFO] Running OpenAI prompt +[2026-01-28T19:22:19.668489] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:22:33.550884] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 712, Output tokens: 1280, Total cost: $0.002738 +[2026-01-28T19:22:33.551391] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/city-council/', 'https://www.horizoncity.org/city-council/council-members/'] +[2026-01-28T19:22:33.666808] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/city-council/council-members +[2026-01-28T19:22:36.724111] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:22:37.092177] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:23:07.262253] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:23:07.630500] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/city-council/council-members +[2026-01-28T19:23:10.194750] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:23:10.194800] [INFO] -> Elapsed time: 2.56 seconds +[2026-01-28T19:23:10.194823] [INFO] -> Average elapsed time: 2.22 seconds +[2026-01-28T19:23:10.194841] [INFO] -> Total elapsed time: 35.56 seconds +[2026-01-28T19:23:10.327482] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/city-council/council-members +[2026-01-28T19:23:10.327701] [INFO] Running OpenAI prompt +[2026-01-28T19:23:10.327751] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:23:27.195679] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 634, Output tokens: 1172, Total cost: $0.002502 +[2026-01-28T19:23:27.196136] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/government/mayor-and-council', 'https://www.horizoncity.org/government/town-council', 'https://www.horizoncity.org/government/administration/staff-directory', 'https://www.horizoncity.org/government/boards-and-commissions', 'https://www.horizoncity.org/departments'] +[2026-01-28T19:23:27.314157] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/government/administration/staff-directory +[2026-01-28T19:23:30.120490] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:23:30.439016] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:24:00.605603] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:24:00.808425] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/administration/staff-directory +[2026-01-28T19:24:03.386499] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:24:03.386543] [INFO] -> Elapsed time: 2.58 seconds +[2026-01-28T19:24:03.386558] [INFO] -> Average elapsed time: 2.21 seconds +[2026-01-28T19:24:03.386574] [INFO] -> Total elapsed time: 37.58 seconds +[2026-01-28T19:24:03.512473] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/administration/staff-directory +[2026-01-28T19:24:03.512684] [INFO] Running OpenAI prompt +[2026-01-28T19:24:03.512732] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:24:24.854263] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 634, Output tokens: 1623, Total cost: $0.003404 +[2026-01-28T19:24:24.854755] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/government/', 'https://www.horizoncity.org/government/elected-officials/', 'https://www.horizoncity.org/government/city-council/', 'https://www.horizoncity.org/departments/administration/staff-directory/', 'https://www.horizoncity.org/mayor/', 'https://www.horizoncity.org/contact-us/'] +[2026-01-28T19:24:24.971079] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/government/elected-officials +[2026-01-28T19:24:27.526842] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:24:27.832288] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:24:57.989284] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:24:58.198379] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/elected-officials +[2026-01-28T19:25:00.792682] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:25:00.792743] [INFO] -> Elapsed time: 2.59 seconds +[2026-01-28T19:25:00.792766] [INFO] -> Average elapsed time: 2.20 seconds +[2026-01-28T19:25:00.792784] [INFO] -> Total elapsed time: 39.59 seconds +[2026-01-28T19:25:00.921277] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/elected-officials +[2026-01-28T19:25:00.921510] [INFO] Running OpenAI prompt +[2026-01-28T19:25:00.921565] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:25:16.978381] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 634, Output tokens: 1236, Total cost: $0.002630 +[2026-01-28T19:25:16.978875] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/government/', 'https://www.horizoncity.org/government/town-council/', 'https://www.horizoncity.org/government/mayor/', 'https://www.horizoncity.org/departments/administration/', 'https://www.horizoncity.org/contact-us/'] +[2026-01-28T19:25:17.101035] [INFO] Step 3: SCRAPE_PAGE: scraping https://www.horizoncity.org/government/mayor +[2026-01-28T19:25:20.004537] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:25:20.310106] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/2b5408ef749d.png +[2026-01-28T19:25:20.473457] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/33d051d57650.png +[2026-01-28T19:25:20.618596] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/ba118f360820.png +[2026-01-28T19:25:20.750201] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/e7f54dba49c0.png +[2026-01-28T19:25:20.896494] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/597a9cbb2376.png +[2026-01-28T19:25:21.061442] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3fc4b1412cf8.png +[2026-01-28T19:25:21.177301] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/b6301103e9c7.png +[2026-01-28T19:25:21.325358] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/f0498e54e638.png +[2026-01-28T19:25:21.456797] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/63133d7e6788.png +[2026-01-28T19:25:21.712881] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/0ab912e75916.png +[2026-01-28T19:25:21.788006] [INFO] Image saved: /app/data_source/tx/local/place_horizon_city/images/3f3f3a8d0882.png +[2026-01-28T19:25:22.005611] [INFO] Step 4: PREPROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/mayor +[2026-01-28T19:25:25.529470] [INFO] /Step 4: PREPROCESS_PAGE_CONTENT + +[2026-01-28T19:25:25.529513] [INFO] -> Elapsed time: 3.52 seconds +[2026-01-28T19:25:25.529526] [INFO] -> Average elapsed time: 2.24 seconds +[2026-01-28T19:25:25.529535] [INFO] -> Total elapsed time: 42.52 seconds +[2026-01-28T19:25:25.643134] [INFO] Step 5: PROCESS_PAGE_CONTENT: https://www.horizoncity.org/government/mayor +[2026-01-28T19:25:25.643351] [INFO] Running OpenAI prompt +[2026-01-28T19:25:25.643412] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:25:28.221450] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 1345, Output tokens: 123, Total cost: $0.000582 +[2026-01-28T19:25:28.221972] [INFO] Page relevance check found related urls: ['https://www.horizoncity.org/mayor-council/'] +[2026-01-28T19:25:28.222520] [INFO] Running Gemini prompt +[2026-01-28T19:25:38.867776] [INFO] LLM Cost added: google_gemini model gemini-2.5-flash - Input tokens: 2514, Output tokens: 907, Total cost: $0.003022 +[2026-01-28T19:25:38.869486] [INFO] gemini gemini-2.5-flash LLM call took 10.65 seconds +[2026-01-28T19:25:38.870027] [INFO] Running OpenAI prompt +[2026-01-28T19:25:38.870077] [INFO] openai LLM call took 0.00 seconds +[2026-01-28T19:26:18.779603] [INFO] LLM Cost added: openai model openai/gpt-5-mini - Input tokens: 2104, Output tokens: 2975, Total cost: $0.006476 +[2026-01-28T19:26:18.783406] [INFO] links updated: [Link(url='https://www.horizoncity.org/mayor-council', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/contact-us', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/departments/administration', status='processed_irrelevant', folder_name='www_horizoncity_org_departments_administration', is_profile_page=True), Link(url='https://www.horizoncity.org/government/town-council', status='processed_irrelevant', folder_name='www_horizoncity_org_government_town-council', is_profile_page=True), Link(url='https://www.horizoncity.org/government', status='processed_irrelevant', folder_name='www_horizoncity_org_government', is_profile_page=True), Link(url='https://www.horizoncity.org/departments/administration/staff-directory', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/mayor', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/government/city-council', status='processed_irrelevant', folder_name='www_horizoncity_org_government_city-council', is_profile_page=True), Link(url='https://www.horizoncity.org/government/boards-and-commissions', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/departments', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/government/mayor-and-council', status='processed_irrelevant', folder_name='www_horizoncity_org_government_mayor-and-council', is_profile_page=True), Link(url='https://www.horizoncity.org/city-council', status='processed_irrelevant', folder_name='www_horizoncity_org_city-council', is_profile_page=True), Link(url='https://www.horizoncity.org/our-government/mayor', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/about-us', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/contact', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/contacts', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/government/meet-the-mayor', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/staff-directory', status='pending', folder_name='', is_profile_page=True), Link(url='https://www.horizoncity.org/your-government/boards-and-commissions', status='pending', folder_name='', is_profile_page=True), Link(url='http://www.horizoncity.org/city-council', status='processed_irrelevant', folder_name='www_horizoncity_org_city-council', is_profile_page=True), Link(url='https://www.horizoncity.org/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/council-agendas/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/city-clerk/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/live-archived-videos/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/elections/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/city-hall/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/board-commissions/planning-zoning/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/contact/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/faqs/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/city-planning/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/board-commissions/tirz-no-1-board/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/building-services/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/human-resources/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/charter/article-i-ii/', status='pending', folder_name='', is_profile_page=False), Link(url='https://www.horizoncity.org/mayor-council/', status='done', folder_name='www_horizoncity_org_mayor-council_', is_profile_page=False), Link(url='https://www.horizoncity.org/mayor-and-council', status='processed_irrelevant', folder_name='www_horizoncity_org_mayor-and-council', is_profile_page=True), Link(url='http://www.horizoncity.org/government', status='processed_irrelevant', folder_name='www_horizoncity_org_government', is_profile_page=True), Link(url='https://www.horizoncity.org/2016/01/12/government', status='processed_irrelevant', folder_name='www_horizoncity_org_2016_01_12_government', is_profile_page=True), Link(url='https://www.horizoncity.org/category/city-council-agendas', status='processed_irrelevant', folder_name='www_horizoncity_org_category_city-council-agendas', is_profile_page=True), Link(url='http://www.horizoncity.org/meet-the-council', status='processed_irrelevant', folder_name='www_horizoncity_org_meet-the-council', is_profile_page=True), Link(url='https://www.horizoncity.org/government/administration', status='processed_irrelevant', folder_name='www_horizoncity_org_government_administration', is_profile_page=True), Link(url='https://www.horizoncity.org/our-government/city-council', status='processed_irrelevant', folder_name='www_horizoncity_org_our-government_city-council', is_profile_page=True), Link(url='https://www.horizoncity.org/city-council/council-members', status='processed_irrelevant', folder_name='www_horizoncity_org_city-council_council-members', is_profile_page=True), Link(url='https://www.horizoncity.org/government/administration/staff-directory', status='processed_irrelevant', folder_name='www_horizoncity_org_government_administration_staff-directory', is_profile_page=True), Link(url='https://www.horizoncity.org/government/elected-officials', status='processed_irrelevant', folder_name='www_horizoncity_org_government_elected-officials', is_profile_page=True), Link(url='https://www.horizoncity.org/government/mayor', status='done', folder_name='www_horizoncity_org_government_mayor', is_profile_page=True)] +[2026-01-28T19:26:19.280714] [INFO] Step 8: WorkflowStatus.FORMAT_OUTPUT Formatting output data. +[2026-01-28T19:26:19.398982] [INFO] Step 9: CLEANUP +[2026-01-28T19:26:19.403135] [ERROR] Missing images that were expected to be found: {'63133d7e6788.png', 'f0498e54e638.png', '597a9cbb2376.png', '33d051d57650.png', 'ba118f360820.png', 'b6301103e9c7.png', '3fc4b1412cf8.png'} +[2026-01-28T19:26:19.517526] [INFO] Step 10: WorkflowStatus.SAVE_OUTPUT Saving output data and config files. +[2026-01-28T19:26:19.889932] [INFO] Step 11: MAYBE_SEND_TO_GITHUB +[2026-01-28T19:26:19.889972] [INFO] CRUDDER_UPLOAD_URL: https://api.civicpatch.org/api/internal/pipelines/github_intake diff --git a/data_source/tx/local/place_horizon_city/workflow_context.json b/data_source/tx/local/place_horizon_city/workflow_context.json new file mode 100644 index 000000000..d38be8b1f --- /dev/null +++ b/data_source/tx/local/place_horizon_city/workflow_context.json @@ -0,0 +1,2486 @@ +{ + "data": { + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "config": { + "url": "http://www.horizoncity.org", + "name": "Horizon City city", + "source_urls": null, + "identities": null, + "government_type": null + }, + "links": [ + { + "url": "https://www.horizoncity.org/mayor-council", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/contact-us", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/departments/administration", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_departments_administration", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/town-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_town-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/departments/administration/staff-directory", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/mayor", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/city-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_city-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/boards-and-commissions", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/departments", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/mayor-and-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_mayor-and-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/city-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_city-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/our-government/mayor", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/about-us", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/contact", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/contacts", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/meet-the-mayor", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/staff-directory", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/your-government/boards-and-commissions", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "http://www.horizoncity.org/city-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_city-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/council-agendas/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/city-clerk/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/live-archived-videos/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/elections/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/city-hall/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/board-commissions/planning-zoning/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/contact/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/faqs/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/city-planning/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/board-commissions/tirz-no-1-board/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/building-services/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/human-resources/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/charter/article-i-ii/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/mayor-council/", + "status": "done", + "folder_name": "www_horizoncity_org_mayor-council_", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/mayor-and-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_mayor-and-council", + "is_profile_page": true + }, + { + "url": "http://www.horizoncity.org/government", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/2016/01/12/government", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_2016_01_12_government", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/category/city-council-agendas", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_category_city-council-agendas", + "is_profile_page": true + }, + { + "url": "http://www.horizoncity.org/meet-the-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_meet-the-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/administration", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_administration", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/our-government/city-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_our-government_city-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/city-council/council-members", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_city-council_council-members", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/administration/staff-directory", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_administration_staff-directory", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/elected-officials", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_elected-officials", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/mayor", + "status": "done", + "folder_name": "www_horizoncity_org_government_mayor", + "is_profile_page": true + } + ], + "research_municipality_step": { + "government_type": "mayor_council", + "people": [ + { + "name": "Andres Renteria", + "roles": [ + "Mayor" + ], + "divisions": [] + }, + { + "name": "Guillermo Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 1" + ] + }, + { + "name": "Scott Quiroz", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 2" + ] + }, + { + "name": "Rocio Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 3" + ] + }, + { + "name": "Robert Avila", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 4" + ] + }, + { + "name": "Katherine Ames", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 5" + ] + }, + { + "name": "Matthew Gardea", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 6" + ] + }, + { + "name": "Ruben Mendoza", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 7" + ] + } + ], + "elected_officials": [ + { + "name": "Andres Renteria", + "roles": [ + "Mayor" + ], + "divisions": [] + }, + { + "name": "Guillermo Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 1" + ] + }, + { + "name": "Scott Quiroz", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 2" + ] + }, + { + "name": "Rocio Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 3" + ] + }, + { + "name": "Robert Avila", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 4" + ] + }, + { + "name": "Katherine Ames", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 5" + ] + }, + { + "name": "Matthew Gardea", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 6" + ] + }, + { + "name": "Ruben Mendoza", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 7" + ] + } + ], + "notes": "Horizon City, TX operates under a Mayor-Council government type. The Mayor and seven Council Members are elected to four-year terms. Council Members are elected at large but are designated by 'Place' numbers." + }, + "search_links_step": { + "search_link_pointer": 1, + "search_engines": { + "google": { + "links": [ + "https://www.horizoncity.org/mayor-council/", + "https://www.horizoncity.org/", + "https://www.horizoncity.org/council-agendas/", + "https://www.horizoncity.org/city-clerk/", + "https://www.horizoncity.org/live-archived-videos/", + "https://www.horizoncity.org/elections/", + "https://www.horizoncity.org/city-hall/", + "https://www.horizoncity.org/board-commissions/planning-zoning/", + "https://www.horizoncity.org/contact/", + "https://www.horizoncity.org/faqs/", + "https://www.horizoncity.org/city-planning/", + "https://www.horizoncity.org/board-commissions/tirz-no-1-board/", + "https://www.horizoncity.org/building-services/", + "https://www.horizoncity.org/human-resources/", + "https://www.horizoncity.org/charter/article-i-ii/" + ], + "status": "completed" + }, + "crawl": { + "links": [], + "status": "not_started" + } + }, + "error": null + }, + "preprocess_page_content_step": { + "elapsed_times": [ + 4, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 3 + ], + "total_elapsed_time_seconds": 42, + "average_elapsed_time_seconds": 2 + }, + "process_page_content_step": { + "raw_records_by_llm": { + "google_gemini": { + "Andres Renteria": [ + { + "name": "Andres Renteria", + "roles": [ + "Mayor" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "mayor@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Andres Renteria", + "roles": [ + "mayor" + ], + "divisions": [ + "at-large" + ], + "phone": null, + "email": "mayor@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Guillermo Ortega": [ + { + "name": "Guillermo Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 1" + ], + "phone": null, + "email": "alderman1@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Guillermo Ortega", + "roles": [ + "council member" + ], + "divisions": [ + "Place 1", + "at-large" + ], + "phone": null, + "email": "alderman1@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Rocio Ortega": [ + { + "name": "Rocio Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 3" + ], + "phone": null, + "email": "alderman3@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Rocio Ortega", + "roles": [ + "council member" + ], + "divisions": [ + "Place 3", + "at-large" + ], + "phone": null, + "email": "alderman3@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Robert Avila": [ + { + "name": "Robert Avila", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 4" + ], + "phone": null, + "email": "alderman4@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Robert Avila", + "roles": [ + "council member" + ], + "divisions": [ + "Place 4", + "at-large" + ], + "phone": null, + "email": "alderman4@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Katherine Ames": [ + { + "name": "Katherine Ames", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 5" + ], + "phone": null, + "email": "alderman5@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Katherine Ames", + "roles": [ + "council member" + ], + "divisions": [ + "Place 5", + "at-large" + ], + "phone": null, + "email": "alderman5@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Matthew Gardea": [ + { + "name": "Matthew Gardea", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 6" + ], + "phone": null, + "email": "alderman6@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Matthew Gardea", + "roles": [ + "council member" + ], + "divisions": [ + "Place 6", + "at-large" + ], + "phone": null, + "email": "alderman6@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Ruben Mendoza": [ + { + "name": "Ruben Mendoza", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 7" + ], + "phone": null, + "email": "alderman7@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Ruben Mendoza", + "roles": [ + "council member" + ], + "divisions": [ + "Place 7", + "at-large" + ], + "phone": null, + "email": "alderman7@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ] + }, + "openai": { + "Andres Renteria": [ + { + "name": "Andres Renteria", + "roles": [ + "Mayor" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "mayor@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Andres Renteria", + "roles": [ + "Mayor" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "mayor@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Guillermo Ortega": [ + { + "name": "Guillermo Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman1@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Guillermo Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman1@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Rocio Ortega": [ + { + "name": "Rocio Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman3@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Rocio Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman3@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Robert Avila": [ + { + "name": "Robert Avila", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman4@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Robert Avila", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman4@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Katherine Ames": [ + { + "name": "Katherine Ames", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman5@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Katherine Ames", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman5@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Matthew Gardea": [ + { + "name": "Matthew Gardea", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman6@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Matthew Gardea", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman6@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Ruben Mendoza": [ + { + "name": "Ruben Mendoza", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman7@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Ruben Mendoza", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman7@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ] + } + }, + "records_by_llm": { + "google_gemini": { + "Andres Renteria": [ + { + "name": "Andres Renteria", + "roles": [ + "Mayor" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "mayor@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Andres Renteria", + "roles": [ + "Mayor" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "mayor@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Guillermo Ortega": [ + { + "name": "Guillermo Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 1" + ], + "phone": null, + "email": "alderman1@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Guillermo Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 1", + "At-Large" + ], + "phone": null, + "email": "alderman1@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Rocio Ortega": [ + { + "name": "Rocio Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 3" + ], + "phone": null, + "email": "alderman3@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Rocio Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 3", + "At-Large" + ], + "phone": null, + "email": "alderman3@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Robert Avila": [ + { + "name": "Robert Avila", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 4" + ], + "phone": null, + "email": "alderman4@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Robert Avila", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 4", + "At-Large" + ], + "phone": null, + "email": "alderman4@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Katherine Ames": [ + { + "name": "Katherine Ames", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 5" + ], + "phone": null, + "email": "alderman5@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Katherine Ames", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 5", + "At-Large" + ], + "phone": null, + "email": "alderman5@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Matthew Gardea": [ + { + "name": "Matthew Gardea", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 6" + ], + "phone": null, + "email": "alderman6@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Matthew Gardea", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 6", + "At-Large" + ], + "phone": null, + "email": "alderman6@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Ruben Mendoza": [ + { + "name": "Ruben Mendoza", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 7" + ], + "phone": null, + "email": "alderman7@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Ruben Mendoza", + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 7", + "At-Large" + ], + "phone": null, + "email": "alderman7@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ] + }, + "openai": { + "Andres Renteria": [ + { + "name": "Andres Renteria", + "roles": [ + "Mayor" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "mayor@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Andres Renteria", + "roles": [ + "Mayor" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "mayor@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Guillermo Ortega": [ + { + "name": "Guillermo Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman1@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Guillermo Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman1@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Rocio Ortega": [ + { + "name": "Rocio Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman3@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Rocio Ortega", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman3@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Robert Avila": [ + { + "name": "Robert Avila", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman4@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Robert Avila", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman4@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Katherine Ames": [ + { + "name": "Katherine Ames", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman5@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Katherine Ames", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman5@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Matthew Gardea": [ + { + "name": "Matthew Gardea", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman6@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Matthew Gardea", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman6@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ], + "Ruben Mendoza": [ + { + "name": "Ruben Mendoza", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman7@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "source_url": "https://www.horizoncity.org/mayor-council/" + }, + { + "name": "Ruben Mendoza", + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phone": null, + "email": "alderman7@horizoncity.org", + "url": null, + "start_date": null, + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "source_url": "https://www.horizoncity.org/government/mayor" + } + ] + } + }, + "links": [ + { + "url": "https://www.horizoncity.org/mayor-council", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/contact-us", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/departments/administration", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_departments_administration", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/town-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_town-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/departments/administration/staff-directory", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/mayor", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/city-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_city-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/boards-and-commissions", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/departments", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/mayor-and-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_mayor-and-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/city-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_city-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/our-government/mayor", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/about-us", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/contact", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/contacts", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/meet-the-mayor", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/staff-directory", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/your-government/boards-and-commissions", + "status": "pending", + "folder_name": "", + "is_profile_page": true + }, + { + "url": "http://www.horizoncity.org/city-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_city-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/council-agendas/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/city-clerk/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/live-archived-videos/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/elections/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/city-hall/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/board-commissions/planning-zoning/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/contact/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/faqs/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/city-planning/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/board-commissions/tirz-no-1-board/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/building-services/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/human-resources/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/charter/article-i-ii/", + "status": "pending", + "folder_name": "", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/mayor-council/", + "status": "done", + "folder_name": "www_horizoncity_org_mayor-council_", + "is_profile_page": false + }, + { + "url": "https://www.horizoncity.org/mayor-and-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_mayor-and-council", + "is_profile_page": true + }, + { + "url": "http://www.horizoncity.org/government", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/2016/01/12/government", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_2016_01_12_government", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/category/city-council-agendas", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_category_city-council-agendas", + "is_profile_page": true + }, + { + "url": "http://www.horizoncity.org/meet-the-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_meet-the-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/administration", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_administration", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/our-government/city-council", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_our-government_city-council", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/city-council/council-members", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_city-council_council-members", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/administration/staff-directory", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_administration_staff-directory", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/elected-officials", + "status": "processed_irrelevant", + "folder_name": "www_horizoncity_org_government_elected-officials", + "is_profile_page": true + }, + { + "url": "https://www.horizoncity.org/government/mayor", + "status": "done", + "folder_name": "www_horizoncity_org_government_mayor", + "is_profile_page": true + } + ], + "progress": { + "required_data": 8, + "current_data": 0, + "has_target_role": false, + "has_target_divisions": true + } + }, + "merge_records_within_llm_step": { + "people_by_llm": { + "google_gemini": [ + { + "name": "Andres Renteria", + "other_names": [ + "Andres Renteria" + ], + "roles": [ + "Mayor" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "mayor@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Guillermo Ortega", + "other_names": [ + "Guillermo Ortega" + ], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 1" + ], + "phones": [], + "emails": [ + "alderman1@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Rocio Ortega", + "other_names": [ + "Rocio Ortega" + ], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 3" + ], + "phones": [], + "emails": [ + "alderman3@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Robert Avila", + "other_names": [ + "Robert Avila" + ], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 4" + ], + "phones": [], + "emails": [ + "alderman4@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Katherine Ames", + "other_names": [ + "Katherine Ames" + ], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 5" + ], + "phones": [], + "emails": [ + "alderman5@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Matthew Gardea", + "other_names": [ + "Matthew Gardea" + ], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large", + "Place 6" + ], + "phones": [], + "emails": [ + "alderman6@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Ruben Mendoza", + "other_names": [ + "Ruben Mendoza" + ], + "roles": [ + "Council Member" + ], + "divisions": [ + "Place 7", + "At-Large" + ], + "phones": [], + "emails": [ + "alderman7@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + } + ], + "openai": [ + { + "name": "Andres Renteria", + "other_names": [], + "roles": [ + "Mayor" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "mayor@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Guillermo Ortega", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman1@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Rocio Ortega", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman3@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Robert Avila", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman4@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Katherine Ames", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman5@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Matthew Gardea", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman6@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + }, + { + "name": "Ruben Mendoza", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman7@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "" + } + ] + } + }, + "merge_records_across_llms_step": { + "people": [ + { + "name": "Andres Renteria", + "other_names": [], + "roles": [ + "Mayor" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "mayor@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Guillermo Ortega", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman1@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Katherine Ames", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman5@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Matthew Gardea", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman6@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Robert Avila", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman4@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2029-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Rocio Ortega", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman3@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Ruben Mendoza", + "other_names": [], + "roles": [ + "Council Member" + ], + "divisions": [ + "At-Large" + ], + "phones": [], + "emails": [ + "alderman7@horizoncity.org" + ], + "urls": [], + "start_date": "", + "end_date": "2027-05", + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": "", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + } + ], + "agreement_score": 100.0, + "disagreements": {}, + "missing_people": [], + "validation_errors": [] + }, + "format_output_step": { + "officials": [ + { + "name": "Andres Renteria", + "other_names": [], + "phones": [], + "emails": [ + "mayor@horizoncity.org" + ], + "urls": [], + "start_date": null, + "end_date": "2027-05", + "office": { + "name": "Mayor", + "division_ocdid": "ocd-division/country:us/state:tx/place:horizon_city" + }, + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0219-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": null, + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Guillermo Ortega", + "other_names": [], + "phones": [], + "emails": [ + "alderman1@horizoncity.org" + ], + "urls": [], + "start_date": null, + "end_date": "2029-05", + "office": { + "name": "Council Member", + "division_ocdid": "ocd-division/country:us/state:tx/place:horizon_city" + }, + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0211-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": null, + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Katherine Ames", + "other_names": [], + "phones": [], + "emails": [ + "alderman5@horizoncity.org" + ], + "urls": [], + "start_date": null, + "end_date": "2027-05", + "office": { + "name": "Council Member", + "division_ocdid": "ocd-division/country:us/state:tx/place:horizon_city" + }, + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0181-200x300.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": null, + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Matthew Gardea", + "other_names": [], + "phones": [], + "emails": [ + "alderman6@horizoncity.org" + ], + "urls": [], + "start_date": null, + "end_date": "2029-05", + "office": { + "name": "Council Member", + "division_ocdid": "ocd-division/country:us/state:tx/place:horizon_city" + }, + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0204-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": null, + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Robert Avila", + "other_names": [], + "phones": [], + "emails": [ + "alderman4@horizoncity.org" + ], + "urls": [], + "start_date": null, + "end_date": "2029-05", + "office": { + "name": "Council Member", + "division_ocdid": "ocd-division/country:us/state:tx/place:horizon_city" + }, + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0196-200x300.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": null, + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Rocio Ortega", + "other_names": [], + "phones": [], + "emails": [ + "alderman3@horizoncity.org" + ], + "urls": [], + "start_date": null, + "end_date": "2027-05", + "office": { + "name": "Council Member", + "division_ocdid": "ocd-division/country:us/state:tx/place:horizon_city" + }, + "image": "https://www.horizoncity.org/wp-content/uploads/DSC_0172-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": null, + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + }, + { + "name": "Ruben Mendoza", + "other_names": [], + "phones": [], + "emails": [ + "alderman7@horizoncity.org" + ], + "urls": [], + "start_date": null, + "end_date": "2027-05", + "office": { + "name": "Council Member", + "division_ocdid": "ocd-division/country:us/state:tx/place:horizon_city" + }, + "image": "https://www.horizoncity.org/wp-content/uploads/ND8_4977-200x250.jpg", + "jurisdiction_ocdid": "ocd-jurisdiction/country:us/state:tx/place:horizon_city/government", + "cdn_image": null, + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "updated_at": "2026-01-28T19:26:19+00:00" + } + ], + "config": { + "url": "http://www.horizoncity.org", + "name": "Horizon City city", + "source_urls": [ + "https://www.horizoncity.org/mayor-council/" + ], + "identities": { + "Andres Renteria": [], + "Guillermo Ortega": [], + "Katherine Ames": [], + "Matthew Gardea": [], + "Robert Avila": [], + "Rocio Ortega": [], + "Ruben Mendoza": [] + }, + "government_type": "mayor_council" + } + }, + "maybe_send_to_github_step": null, + "pipeline_duration": null + }, + "current_state": "MAYBE_SEND_TO_GITHUB", + "request_id": "2026-01-28-b401" +} \ No newline at end of file