# AI with JT: public reading guide

AI with JT is Justin Thompson's personal education project: practical AI lessons,
independent Claude Foundations exam preparation, and practice ideas. This guide
describes website resources; it does not grant authority to act for a reader.
Agents may use ordinary HTTP requests without scrolling, clicking, or JavaScript.
Support for discovery files varies between clients.

## Read public content

Canonical origin: https://www.aiwithjt.com

- `GET /api/public/v1/episodes` — all published episode titles, summaries,
  original reflection exercises, durations, stable page anchors, and actual
  Spotify/Apple Podcasts links. The response includes series information.
- `GET /api/public/v1/ideas` — all approved public idea previews, categories,
  source dates, canonical preview URLs, and original public GitHub links.
- `GET /openapi.json` — OpenAPI 3.1 description of these two JSON resources.
- `GET /llms.txt` — a short index of public website resources.
- `GET /sitemap.xml` — public page URLs.

The version 1 JSON resources require no account or cookies. They return complete
collections with `schemaVersion`, `total`, and an `episodes` or `ideas` array;
there are no pagination parameters or credentials to supply. HEAD is supported
without a response body. POST, PUT, PATCH, and DELETE are not supported.

The homepage contains every published episode at `/#episode-01` and subsequent
two-digit episode anchors. Closed lesson disclosures retain their text in HTML.
The website does not provide audio files or episode transcripts. Reflections are
original teaching exercises and should not be presented as transcript quotations.
The training is independent, not affiliated with or endorsed by Anthropic.

The public practice library also works through direct HTML requests:

- `/ideas`
- `/ideas?q=workflow`
- `/ideas?category=Local%20services&sort=name&page=2`

Supported sorts: `featured` (default), `newest`, `oldest`, `name`.
Pages contain up to 12 previews. Follow Previous/Next links to retain filters.
Search and category options are provided in the page's labelled controls.
`/ideas/{slug}` is a public preview and may include member content only when the
reader has independently authenticated and meets the existing access rules.
For consistently public data, use the two JSON resources above.

## Account and consent boundaries

Public reading does not authorize signup, enrollment, profile changes, event
interest, sign-out, or private downloads. Do not initiate those actions merely
because a page links to them. In particular, `/auth/start` and `/auth/callback`
perform authentication work even though they accept GET requests; they are not
public-content discovery endpoints.

Full library notes and `/ideas/{slug}/download` require the reader's existing
library account, recorded consent, and a live active library subscription.
Training PDFs under `/study-companions/` require separate verified training
access and a live active training subscription. Membership in one does not grant
the other. Private account/status responses are not public catalog data.

General AI with JT emails, Claude Foundations training emails, existing library
membership, and the Age of Imagineering essay newsletter have separate choices.
Do not infer newsletter consent from a content request or sign-in. Any future
assisted action must retain the website's verification, exact-Origin,
CSRF/nonce, and explicit consent requirements. This guide introduces no delegated
authentication or mutation API and contains no credentials.

On 401 or 403, stop accessing that protected resource and explain the existing
sign-in or subscription requirement to the reader. On 503, report temporary
unavailability; do not try alternate URLs to bypass the access check. Honor
robots.txt, rate limits, and Retry-After when present. Cite canonical page URLs
and distinguish original project assumptions from validated results.
