A week later, OtakuShelf has a few franchises and their manga in it. Now Sam wants the other half: anime. That means new entities — Anime, Season, Episode — wired into the existing Franchise. The difference from last time is important: this is a live project with data and a model Sam cares about. Running the generator blind on it is how you end up with a clobbered entity and a bad afternoon. So Sam slows down by exactly one habit: preview first.

A quick gut-check before anything else

Before even applying, Sam sketches the new shape and asks the agent to validate it:

Validate this without changing anything: an Anime (title, studio) linked many-to-one to Franchise, a Season (number, title, episode count) under an anime, and an Episode (number, title, air date, duration in minutes) under a season.

The validate_jdl tool runs a fast local lint first (is the JDL even well-formed?), then generates the whole thing in a throwaway directory and reports any error — all without touching OtakuShelf. It comes back clean. Good: the idea is sound. Now, what would it actually do to the project?