← All posts

How citepath was built — by the loop it ships

2026-10-10 · citepath

citepath wasn't built by a team working off a roadmap doc. Every feature was a queued work item that an autonomous engineering loop — LiveGraph — picked up, implemented, tested, reported on, and merged. A hundred rounds of shipped work are documented in the repository's docs/loop-reports/, each one recording what changed, what couldn't be verified, and what remained.

What the loop shipped

The whole product: the database schema, auth, Stripe billing, and the measure→fix→apply→verify pipeline that is citepath itself. Scans ask buyer-intent questions across ChatGPT, Claude, Gemini, Perplexity, and Grok; a technical audit checks whether AI crawlers can actually read your site (robots.txt, llms.txt, JSON-LD, sitemaps, feeds, JS-shell rendering); a fix feed generates the exact artifacts you need; one click opens a GitHub PR to apply them; and after merge, citepath re-crawls to confirm the fix is live and rescans to show the delta.

Real incidents — found and fixed by the loop

The same loop maintains what it builds, which is where the record gets interesting. A few real production bugs it caught in its own scans:

  • Perplexity read as 0% cited when the real number was 60%. Grounded engines return prose full of opaque [2][3][9] markers — the actual cited URLs live in annotation metadata the classifier was never shown, so it couldn't see three of five answers citing the tracked domain. The fix passed the source list into classification (q-0088).
  • The engines topped their own leaderboard. Generated questions phrased in vendor voice — "What specific features do your AI search visibility tools offer?" — made each engine describe itself, and the classifier dutifully extracted ChatGPT, Perplexity, Gemini, Claude, and Grok as "competitors." A stricter buyer-voice guard plus an engine-name filter fixed it (q-0092).
  • "Best alternatives to Buffer" crowned Buffer its own #2 competitor — 16 mentions, ahead of every real rival. Brands a question already names are anchors, not competition, and are now filtered from extraction (q-0103).

Why the apply→verify loop is the product

Every AI-visibility tool measures; the honest ones will tell you what to do next. citepath's premise is that nobody should have to trust a recommendation — the fix is a public artifact (an llms.txt file, a JSON-LD block, a robots.txt rule), so its existence can be confirmed by re-crawling the site. A fix item moves pending → applied → verified, and the next rescan shows whether the number moved. "I did the thing — did it work?" is the question the category couldn't answer, and it's the question citepath was built around.

Built in the open

The queue that drives the work, a per-round report for every change (what changed, what couldn't be verified, what remains), and the positioning research behind our comparison pages all live in the repo's docs/. If you want to see what honest automation looks like — including the messy parts — the paper trail is the product.