<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
  <id>https://sulayman-bowles.dev/writing</id>
  <title>Sulayman Bowles — Writing</title>
  <subtitle>Essays on software, AI systems, and markets.</subtitle>
  <link rel="self" type="application/atom+xml" href="https://sulayman-bowles.dev/feed.xml" />
  <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/writing" />
  <author><name>Sulayman Bowles</name><uri>https://sulayman-bowles.dev/about</uri></author>
  <updated>2026-10-06T00:00:00Z</updated>
  <entry>
    <id>https://sulayman-bowles.dev/research/financial-systems/why-texas-toll-roads-stay-tolled</id>
    <title>Why Texas toll roads stay tolled.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/financial-systems/why-texas-toll-roads-stay-tolled" />
    <published>2026-09-02T00:00:00Z</published><updated>2026-10-06T00:00:00Z</updated>
    <summary type="text">How debt, reserves, public transfers, and concession rights keep Texas roads tolled after construction.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/financial-systems/who-owns-austin-home-service-companies</id>
    <title>Who owns Austin’s home-service companies?</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/financial-systems/who-owns-austin-home-service-companies" />
    <published>2026-07-26T00:00:00Z</published><updated>2026-10-06T00:00:00Z</updated>
    <summary type="text">A July ownership map follows 67 Austin-facing brands through local operators, platforms, sponsors, and franchises, leaving unsupported control claims unresolved.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/financial-systems/how-airlines-borrow-against-loyalty-programs</id>
    <title>How airlines borrow against loyalty programs.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/financial-systems/how-airlines-borrow-against-loyalty-programs" />
    <published>2026-07-23T00:00:00Z</published><updated>2026-10-06T00:00:00Z</updated>
    <summary type="text">Bank payments reach the airline before many awards are redeemed. Contracts and controlled accounts determine how lenders can claim that cash.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/ai-crawlers/robots-txt-courtesy-not-access-control</id>
    <title>Robots.txt is not access control.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/ai-crawlers/robots-txt-courtesy-not-access-control" />
    <published>2026-07-19T00:00:00Z</published><updated>2026-10-06T00:00:00Z</updated>
    <summary type="text">Choose the control that matches the outcome you need.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/technical-seo/canonicalization-graph-consistency</id>
    <title>Canonicalization is a graph problem.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/technical-seo/canonicalization-graph-consistency" />
    <published>2026-07-19T00:00:00Z</published><updated>2026-10-06T00:00:00Z</updated>
    <summary type="text">Find the contradictions that a canonical-tag checklist misses.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/technical-seo/raw-html-rendered-dom-evidence</id>
    <title>Raw HTML and rendered DOM are separate evidence.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/technical-seo/raw-html-rendered-dom-evidence" />
    <published>2026-07-19T00:00:00Z</published><updated>2026-10-06T00:00:00Z</updated>
    <summary type="text">Separate what the server delivered from what the browser built.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/technical-seo/structured-data-without-content-drift</id>
    <title>Structured data without content drift.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/technical-seo/structured-data-without-content-drift" />
    <published>2026-07-19T00:00:00Z</published><updated>2026-10-06T00:00:00Z</updated>
    <summary type="text">Keep the page and its machine-readable claims on the same record.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/markets/who-owns-texas-toll-roads</id>
    <title>The state owns the pavement. Who owns the cash flow?</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/markets/who-owns-texas-toll-roads" />
    <published>2026-07-11T00:00:00Z</published><updated>2026-10-06T00:00:00Z</updated>
    <summary type="text">Who collects the tolls, who controls the debt, and who bears the loss when a Texas road changes hands.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/ai-crawlers/ai-search-crawler-policy</id>
    <title>AI crawlers: search, training, and access.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/ai-crawlers/ai-search-crawler-policy" />
    <published>2026-06-19T00:00:00Z</published><updated>2026-10-06T00:00:00Z</updated>
    <summary type="text">Choose crawler access by purpose, then test the policy you actually deployed.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/writing/atlas-building-an-evidence-console</id>
    <title>Building Atlas</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/writing/atlas-building-an-evidence-console" />
    <published>2026-10-01T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">How I built a website audit console that carries captured evidence into review and export.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/data-systems/jane-street-exact-search-solver-verification</id>
    <title>Verifying a 54-move exact search.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/data-systems/jane-street-exact-search-solver-verification" />
    <published>2026-09-15T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">How I reconstructed a three-dimensional knight path, reduced the search, and checked the result against the puzzle rules.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/data-systems/us-rare-earth-magnet-manufacturing-capacity</id>
    <title>The U.S. rare-earth magnet buildout.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/data-systems/us-rare-earth-magnet-manufacturing-capacity" />
    <published>2026-08-17T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Much of the disclosed plant capacity remains a future project. Qualification, product mix, inputs, and yield determine how much becomes usable supply.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/financial-systems/software-buyout-boom-2020-2022-exit-audit</id>
    <title>What happened to the software buyout boom?</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/financial-systems/software-buyout-boom-2020-2022-exit-audit" />
    <published>2026-08-17T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">An audit of 25 software take-privates: what changed ownership, what returned cash, and what the public record cannot say about returns.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/ai-systems/the-ai-megawatt</id>
    <title>An AI megawatt is not a megawatt.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/ai-systems/the-ai-megawatt" />
    <published>2026-08-16T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">A conditional GB300 model turns facility power into installed GPUs. A grid request alone leaves the fleet unknown.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/financial-systems/what-happens-when-an-index-decides-a-company-matters</id>
    <title>When an index decides a company matters.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/financial-systems/what-happens-when-an-index-decides-a-company-matters" />
    <published>2026-07-23T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Tracking funds turn index changes into trades. Net demand, execution, and anticipation determine what reaches the market—and whether price effects last.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/financial-systems/hidden-financing-hardware-startups</id>
    <title>Five capital stacks for hardware startups.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/financial-systems/hidden-financing-hardware-startups" />
    <published>2026-07-22T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Waymo, Serve, CoreWeave, Anduril, and Northvolt reveal how corporate funds, asset finance, and outside support divide hardware risk.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/financial-systems/waymo-hardware-financing</id>
    <title>Who funds Waymo’s hardware?</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/financial-systems/waymo-hardware-financing" />
    <published>2026-07-22T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">The disclosed funding points to parent-backed equity. The fleet model tests asset needs and downside where titles, leases, and standalone accounts remain unknown.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/financial-systems/west-campus-student-housing</id>
    <title>Who owns West Campus student housing?</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/financial-systems/west-campus-student-housing" />
    <published>2026-07-22T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Six properties show how student lease obligations become property cash flow—and why rent levels cannot identify an owner’s return.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/financial-systems/where-online-returns-actually-go</id>
    <title>Where do online returns go?</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/financial-systems/where-online-returns-actually-go" />
    <published>2026-07-22T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">A refund settles the customer’s claim. Freight, inspection, condition, and resale eligibility decide whether retrieving the product is worth the cost.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/ai-systems/replayable-traces-ai-agent-evaluation</id>
    <title>Replayable traces for AI agents.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/ai-systems/replayable-traces-ai-agent-evaluation" />
    <published>2026-07-19T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Evaluate the execution and its effects, not just the final answer.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/crawler-engineering/crawl-frontier-state-machine</id>
    <title>The crawl frontier is a state machine.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/crawler-engineering/crawl-frontier-state-machine" />
    <published>2026-07-19T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Make every URL admission, fetch, retry, and omission explainable.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/data-systems/audit-findings-derived-records</id>
    <title>Audit findings are derived records.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/data-systems/audit-findings-derived-records" />
    <published>2026-07-19T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Keep the evidence and reasoning behind each audit claim recoverable.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/data-systems/sqlite-crawl-pipelines</id>
    <title>SQLite for crawl pipelines.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/data-systems/sqlite-crawl-pipelines" />
    <published>2026-07-19T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Serialize writes without losing attempts, evidence, or recovery paths.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/technical-seo/internal-links-directed-retrieval-graph</id>
    <title>Internal links are a retrieval graph.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/technical-seo/internal-links-directed-retrieval-graph" />
    <published>2026-07-19T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Measure the paths to useful pages, not just the links pointing at them.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/technical-seo/technical-seo-migration-release-gates</id>
    <title>Executable gates for SEO migrations.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/technical-seo/technical-seo-migration-release-gates" />
    <published>2026-07-19T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Make every old URL’s outcome testable before moving the site.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/ai-systems/the-first-ai-managers</id>
    <title>The Shopkeeper in the Machine</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/ai-systems/the-first-ai-managers" />
    <published>2026-07-14T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">What AI-operated shops, cafés, and radio stations reveal about pricing, memory, and the human work that keeps a business running.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/viralbench-codex-agent-harness</id>
    <title>Beyond the Leaderboard</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/viralbench-codex-agent-harness" />
    <published>2026-07-09T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">A code audit and proposed workflow for testing marketing-agent improvements through traces, replay, and independent evaluation.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/personal-seo/canonical-identity-personal-seo</id>
    <title>Canonical identity beats more content.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/personal-seo/canonical-identity-personal-seo" />
    <published>2026-06-19T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Resolve conflicting biographies before publishing another version.</summary>
  </entry>
  <entry>
    <id>https://sulayman-bowles.dev/research/search-console/technical-seo-public-data-infrastructure</id>
    <title>Technical SEO as public data infrastructure.</title>
    <link rel="alternate" type="text/html" href="https://sulayman-bowles.dev/research/search-console/technical-seo-public-data-infrastructure" />
    <published>2026-06-19T00:00:00Z</published><updated>2026-10-05T00:00:00Z</updated>
    <summary type="text">Follow a public record from its address to the evidence behind a finding.</summary>
  </entry>
</feed>
