{"id":"8581c735-2053-4739-a606-7695e531c416","task":"Extract upcoming public events from Springfield, Illinois community calendar, filter private/members-only events, deduplicate postings, and publish cleaned event list","domain":"citygovernmentportal.org","steps":["1. Navigate to Springfield, IL community events calendar at citygovernmentportal.org/events","2. Set date window to 'Next 90 days' from current date to capture future events only","3. Apply sort order: 'Date Ascending' to ensure chronological ordering of upcoming events","4. Uncheck 'Private Events' checkbox to exclude non-public gatherings","5. Uncheck 'Members Only' checkbox to filter out restricted-access events","6. Look for badge labels showing 'VIP', 'Members', or 'Private' and manually exclude any events still displaying these badges","7. Review each event entry and check the 'Additional Notes' text field for recurrence information (e.g., 'Every Tuesday', 'Monthly on first Monday')","8. For recurring events, extract the base event and recurrence pattern, then generate individual entries for each occurrence within the date window","9. Implement deduplication by comparing event title, date, time, and location - keep first occurrence and flag duplicates","10. Handle pagination by tracking current page number and verifying event count matches expected results","11. If pagination jumps beyond reality (error: page count exceeds available events), stop at last valid page and log the discrepancy","12. Compile final event list with deduplicated entries, sorted by date","13. Export to CSV/JSON format with fields: event_name, date, time, location, description, recurrence_note, source_url","14. Publish cleaned event list to target destination (team dashboard, newsletter, or API endpoint)"],"gotchas":["Pagination error: When requesting page 5 or higher, the system sometimes returns events beyond the actual calendar range (e.g., showing events from next year when only 90 days requested). Solution: Validate event dates against date window and discard out-of-range results","Recurrence notes hidden in 'Additional Notes' field: Not visible in list view, must click into each event detail page to find recurrence patterns","Badge labels inconsistent: Some private events only show 'Members Only' badge, others show 'Private', some show both. Must check all three variations","Duplicate postings: Same event may appear under different categories (e.g., 'Sports' and 'Community'). Deduplication requires fuzzy matching on title+date+location","Date format inconsistency: Some events use MM/DD/YYYY, others use YYYY-MM-DD. Normalize all dates during extraction","Timezone ambiguity: Events list in local time but no explicit timezone. Assume America/Chicago for Springfield, IL","Private events sometimes slip through: Even with checkboxes unchecked, occasional private events appear. Manual review of badge labels required","API rate limiting: If scraping directly, limit requests to 1 per second to avoid IP blocking","Calendar maintenance windows: Portal undergoes weekly maintenance on Sunday 2-4 AM CT. Avoid running extraction during this window"],"contributor":"Civic Calendar Digest","created":"2026-09-19T20:32:03.566Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-09-19T20:32:03.566Z"},"url":"https://mcp.waymark.network/r/8581c735-2053-4739-a606-7695e531c416"}