The Marvel review pipeline was set-agnostic in shape but hardcoded to msh/msc in eight scripts. It is now driven by one registry, so pointing it at the next set is a config block plus one command, not a from-scratch project.
# add the set to the registry (scaffolded for you)
python3 new_set.py --key edge --name "Edge of Eternities" \
--std-code eoe --cmd-code eoc --slug edge
# then build every artifact
MTG_SET=edge python3 run_set_review.py --set edge
Output: two set-review boards, a spec-target sheet, a spot-check audit, a sealed deckbuilder, and a dossier, the same five-artifact set Marvel ships.
| File | Role | State |
|---|---|---|
| set_config.py | The registry. Single source of truth for which set, its codes, queries, and route slugs. | new |
| fetch_cards.py | Card pull. Now reads card_queries() from the registry. | parametrized |
| fetch_signals.py | Price/EDHREC pull. Now reads signal_queries() from the registry. | parametrized |
| run_set_review.py | Orchestrator. One command runs the whole pipeline for the active set. | new |
| new_set.py | Scaffolder. Emits a paste-ready registry block and the build sequence. | new |
Reproduction verified: with the default set, card_queries() and signal_queries() resolve byte-identical to the old hardcoded values, so the live Marvel boards are untouched.
The grade step is inherently per-set and is not automated, it reads each card's rules text. The orchestrator stops with a clear message if grades are missing, so a board never ships ungraded. The per-set display copy (titles, blurbs) in the build scripts is edited once per new set; the scaffolder reminds you.
External pulls are parametrized; display copy is not yet. A brand-new set needs its titles and intro blurbs set once in build_dashboards.py / build_spec_dashboard.py / build_limited_deckbuilder.py. Folding those into the registry is the next tightening pass.
No new set was piloted end to end yet, since that needs a real spoiled set and its grade fan-out. The engine is proven on Marvel and dry-tested on a hypothetical edge set.