update
This commit is contained in:
34
.planer/einheiten/backend__tft__cli.py.md
Normal file
34
.planer/einheiten/backend__tft__cli.py.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Einheiten: backend/tft/cli.py
|
||||
stand: f41ac76b5789
|
||||
|
||||
## backend/tft/cli.py::current_set
|
||||
beschreibung: Liefert die aktuell aktive TFT-Set-Nummer aus dem statischen Daten-Zeiger.
|
||||
input: keine Argumente; liest den vom Modul `tft.paths` bereitgestellten latest-Pointer
|
||||
output: `int` – die Set-Nummer aus dem gelesenen JSON
|
||||
entscheidungen:
|
||||
- Bricht hart ab, wenn noch keine statischen Daten existieren, statt einen Default zurückzugeben
|
||||
beleg: "raise SystemExit(\"no static data yet: run `fetch-static` first\")"
|
||||
- Bezieht den Set-Schlüssel ausschließlich aus dem Feld `set` des Pointer-JSONs
|
||||
beleg: "return json.loads(pointer.read_text())[\"set\"]"
|
||||
- Kapselt den Import von `tft.paths` lokal in der Funktion, um Modullade-Reihenfolge unabhängig zu halten
|
||||
beleg: "from tft import paths"
|
||||
kanten:
|
||||
- wird-genutzt-von: backend/tft/cli.py::main
|
||||
|
||||
## backend/tft/cli.py::main
|
||||
beschreibung: Stellt die Kommandozeilen-Schnittstelle des `tft`-Tools bereit und verzweigt eingegebene Subcommands auf die passenden Pipeline-Funktionen.
|
||||
input: Prozess-Argumente aus `argparse` (Subcommand + Optionen wie `--set`, `--policy`, `--games`)
|
||||
output: Konsolen-Statusmeldungen bzw. Fehlerausgaben; bei `refresh` ruft es rekursiv Sub-Stages als Subprozess auf
|
||||
entscheidungen:
|
||||
- Erlaubt ausschließlich die registrierten Subcommands, indem `required=True` gesetzt wird
|
||||
beleg: "sub = parser.add_subparsers(dest=\"command\", required=True)"
|
||||
- Trennt Subcommand-Implementierungen per Lazy-Import innerhalb der `elif`-Zweige
|
||||
beleg: "if args.command == \"fetch-static\":"
|
||||
- Bricht den `refresh`-Lauf beim ersten nicht-null Returncode eines Subprozesses ab
|
||||
beleg: "if result.returncode != 0:"
|
||||
- Übergibt beim `autoplay`-Subcommand die Default-Politik `econ`, falls `--policy` fehlt
|
||||
beleg: "default=\"econ\""
|
||||
- Nutzt beim `calibrate`-Pfad strikt Holdout-Daten via `holdout_only=True`
|
||||
beleg: "holdout_only=True)"
|
||||
kanten:
|
||||
- wird-genutzt-von: backend/tft/cli.py::main
|
||||
Reference in New Issue
Block a user