thoroughbreds.ai

Proposal

Changelog

What changed, newest first.

4 October 2026

  • Race images. Every Australian race now gets its own stills each evening at 21:00: frames are pulled from the Sky Racing replay, Claude picks the finish, an overhead and a running shot and writes a caption, and the set is filed in Newgate Storage under races/<date>/<track>/r<NN>/ with a copy under horses/<horse>/ for the winner and any roster-sired placegetter. A race with no replay gets an AI image. Saturday 3 October was captured first: 81 races.
  • Image library API. /api/images returns a race's images by date, track and race number, a horse's images by name, or a file-name search. Journal posts take their hero image from the exact race first, then the horse, then a stallion portrait.
  • Auto publish. Reports go live on the journal the moment they are generated; a post an editor has changed is never overwritten.
  • AI Agent activity. A new tab at the bottom of the NG-CRM rail lists every automated process, what it is doing now, what is scheduled, what failed and what finished.
  • Skill. race-images documents the layout, the API and how to run or fix the capture.

3 October 2026

  • Journal CMS. The journal now has a content system with its own studio. Every generated piece arrives there as a draft with SEO and GEO fields, the results table, the horses with pedigree links and a hero image picked from Newgate Storage; editors review and publish in the studio, and the site shows published posts at /news/<slug> in the brief style. A CMS link sits in the NG-CRM sidebar.
  • Stud success reports. Saturday 07:00: who is running today for Newgate stallions. Saturday 17:00: the day’s wins and places. Monday 09:00: the Monday-to-Sunday week. Each shows the horse’s share of prize money, flags black type and feature races, and links every horse to horsepedigrees.com/name-CC-YOB. Pages live under /stud/newgate/.
  • Racing news brief. The most interacted-with racing stories from seven outlets, twice a day at 12:00 and 17:00 with a Friday weekly edition, at /news/<ddmmyy>. Runs on Railway from the Thoroughbreds/news-feed repo; failed runs retry twice.
  • Texts. Each report is texted as a link card through Twilio; links carry UTM tags naming the channel, the campaign and the recipient.
  • Feeds. Four RSS feeds listed at /feeds: journal and news, stud reports, an updates feed that re-lists anything regenerated or edited, and the Equine API change log read from the API repository.
  • Search and answer engines. Every brief and report page carries canonical links, Open Graph, NewsArticle and FAQ structured data, and is listed in sitemap.xml, llms.txt and llms-full.txt. Canonical links use www.newgate.farm.
  • AI in the CMS. The journal studio is upgraded to Sanity Studio v6 (React 19) and has Sanity AI Assist: the ✨ in a document’s header runs instructions on any field, such as drafting a summary, tightening copy or filling SEO fields. The studio carries Newgate branding (the gate logo and Newgate red) and deploys from the repository.
  • R2 Storage docs. New R2 Storage page: how to upload by email (uploads@newgate.farm) or in the app, and where each kind of file is filed.
  • Storage in the NG-CRM shell. A Storage link in the sidebar opens storage.newgate.farm.
  • Image links. Every image in Newgate Storage has a public link with a Copy button, for placing it on the website or social media. The link serves a copy with all metadata stripped out.
  • Photo metadata for identification. Capture time, place, photographer and caption were read from every image and used to re-identify the horses in them.
  • Former stallions. Newgate’s former stallions were added to the roster, so their photos and progeny file under the right horse.
⌘I

Search the docs

Jump to a page