<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Integrality — Notes</title><description>Field notes on data pipelines, AI agents in production, and software for regulated environments.</description><link>https://integrality.io/</link><item><title>AI travel agents have a data problem before they have an AI problem</title><link>https://integrality.io/blog/ai-travel-agents-data-layer/</link><guid isPermaLink="true">https://integrality.io/blog/ai-travel-agents-data-layer/</guid><description>Better models do not solve stale prices, missing availability or fragmented travel catalogs. AI travel agents need a fresh, structured data layer underneath.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Modern aviation data pipelines: APIs, NDC and the gaps between them</title><link>https://integrality.io/blog/modern-aviation-data-pipelines/</link><guid isPermaLink="true">https://integrality.io/blog/modern-aviation-data-pipelines/</guid><description>Modern travel products combine schedules, status, airline retail content and external sources. Here is where APIs, NDC and targeted collection each fit.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Why travel activities data is an entity-resolution problem, not a scraping problem</title><link>https://integrality.io/blog/travel-activities-data-normalization/</link><guid isPermaLink="true">https://integrality.io/blog/travel-activities-data-normalization/</guid><description>Tours and activities are fragmented across operators, marketplaces and reservation systems. The hard problem is mapping them into one reliable, fresh catalog.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Travel data collection at scale: the scraper is the easy part</title><link>https://integrality.io/blog/travel-data-collection-at-scale/</link><guid isPermaLink="true">https://integrality.io/blog/travel-data-collection-at-scale/</guid><description>Building a travel scraper is easy. Keeping airline, hotel and activity data complete, fresh and reliable as sources change is the real engineering problem.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate></item><item><title>HTTP 200 is not uptime: the silent failures that break travel data pipelines</title><link>https://integrality.io/blog/travel-data-pipeline-monitoring-http-200/</link><guid isPermaLink="true">https://integrality.io/blog/travel-data-pipeline-monitoring-http-200/</guid><description>A travel data pipeline can be technically online while silently losing coverage, freshness or critical fields. Here is how to monitor the data, not only the server.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Why scrapers die in month three</title><link>https://integrality.io/blog/why-scrapers-die-in-month-three/</link><guid isPermaLink="true">https://integrality.io/blog/why-scrapers-die-in-month-three/</guid><description>Most scraping projects work perfectly for about eight weeks. What happens next is predictable, and it has almost nothing to do with how the scraper was written.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Your AI pilot didn&apos;t fail on the model</title><link>https://integrality.io/blog/your-ai-pilot-didnt-fail-on-the-model/</link><guid isPermaLink="true">https://integrality.io/blog/your-ai-pilot-didnt-fail-on-the-model/</guid><description>AI pilots rarely fail because of model choice. The real problem is usually stale, fragmented or poorly governed data underneath the production system.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Nobody asks about the audit log during a demo</title><link>https://integrality.io/blog/nobody-asks-about-the-audit-log/</link><guid isPermaLink="true">https://integrality.io/blog/nobody-asks-about-the-audit-log/</guid><description>Access control and audit trails are the least demonstrable parts of regulated software, and the hardest to add later. A note on building them first.</description><pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate></item></channel></rss>