mirror of
https://github.com/mwisnowski/mtg_python_deckbuilder.git
synced 2025-12-24 19:40:12 +01:00
feat(editorial): Phase D synergy commander enrichment, augmentation, lint & docs\n\nAdds Phase D editorial tooling: synergy-based commander selection with 3/2/1 pattern, duplicate filtering, annotated synergy_commanders, promotion to minimum examples, and augmentation heuristics (e.g. Counters Matter/Proliferate injection). Includes new scripts (generate_theme_editorial_suggestions, lint, validate, catalog build/apply), updates orchestrator & web routes, expands CI workflow, and documents usage & non-determinism policies. Updates lint rules, type definitions, and docker configs.
This commit is contained in:
parent
16261bbf09
commit
f2a76d2ffc
35 changed files with 2818 additions and 509 deletions
|
|
@ -10,53 +10,64 @@ services:
|
|||
PYTHONUNBUFFERED: "1"
|
||||
TERM: "xterm-256color"
|
||||
DEBIAN_FRONTEND: "noninteractive"
|
||||
# ------------------------------------------------------------------
|
||||
# Core UI Feature Toggles
|
||||
# ------------------------------------------------------------------
|
||||
SHOW_LOGS: "1" # 1=enable /logs page; 0=hide
|
||||
SHOW_SETUP: "1" # 1=show Setup/Tagging card; 0=hide
|
||||
SHOW_DIAGNOSTICS: "1" # 1=enable /diagnostics & /diagnostics/perf
|
||||
ENABLE_PWA: "0" # 1=serve manifest/service worker (experimental)
|
||||
ENABLE_THEMES: "1" # 1=expose theme selector; 0=hide
|
||||
ENABLE_PRESETS: "0" # 1=show presets section
|
||||
WEB_VIRTUALIZE: "1" # 1=enable list virtualization in Step 5
|
||||
ALLOW_MUST_HAVES: "1" # Include/Exclude feature enable
|
||||
|
||||
# UI features/flags
|
||||
SHOW_LOGS: "1"
|
||||
SHOW_SETUP: "1"
|
||||
SHOW_DIAGNOSTICS: "1"
|
||||
ENABLE_PWA: "0"
|
||||
ENABLE_THEMES: "1"
|
||||
ENABLE_PRESETS: "0"
|
||||
WEB_VIRTUALIZE: "1"
|
||||
ALLOW_MUST_HAVES: "1" # 1=enable must-include/must-exclude cards feature; 0=disable
|
||||
|
||||
# Random Modes (feature flags)
|
||||
RANDOM_MODES: "0" # 1=enable random build endpoints and backend features
|
||||
RANDOM_UI: "0" # 1=show Surprise/Theme/Reroll/Share controls in UI
|
||||
RANDOM_MAX_ATTEMPTS: "5" # cap retry attempts
|
||||
RANDOM_TIMEOUT_MS: "5000" # per-build timeout in ms
|
||||
# ------------------------------------------------------------------
|
||||
# Random Build (Alpha) Feature Flags
|
||||
# ------------------------------------------------------------------
|
||||
RANDOM_MODES: "0" # 1=backend random build endpoints
|
||||
RANDOM_UI: "0" # 1=UI Surprise/Reroll controls
|
||||
RANDOM_MAX_ATTEMPTS: "5" # Retry cap for constrained random builds
|
||||
RANDOM_TIMEOUT_MS: "5000" # Per-attempt timeout (ms)
|
||||
|
||||
# Theming
|
||||
THEME: "system"
|
||||
THEME: "system" # system|light|dark default theme
|
||||
|
||||
# Setup/Tagging performance
|
||||
WEB_AUTO_SETUP: "1"
|
||||
WEB_AUTO_REFRESH_DAYS: "7"
|
||||
WEB_TAG_PARALLEL: "1"
|
||||
WEB_TAG_WORKERS: "4"
|
||||
# ------------------------------------------------------------------
|
||||
# Setup / Tagging / Catalog
|
||||
# ------------------------------------------------------------------
|
||||
WEB_AUTO_SETUP: "1" # Auto-run setup/tagging on demand
|
||||
WEB_AUTO_REFRESH_DAYS: "7" # Refresh card data if stale (days; 0=never)
|
||||
WEB_TAG_PARALLEL: "1" # Parallel tag extraction on
|
||||
WEB_TAG_WORKERS: "4" # Worker count (CPU bound; tune as needed)
|
||||
THEME_CATALOG_MODE: "merge" # Phase B merged theme builder
|
||||
THEME_YAML_FAST_SKIP: "0" # 1=allow skipping YAML export on fast path (default 0 = always export)
|
||||
WEB_AUTO_ENFORCE: "0" # 1=auto compliance JSON export after builds
|
||||
WEB_CUSTOM_EXPORT_BASE: "" # Optional export base override
|
||||
APP_VERSION: "v2.2.10" # Displayed in footer/health
|
||||
|
||||
# Compliance/exports
|
||||
WEB_AUTO_ENFORCE: "0"
|
||||
APP_VERSION: "v2.2.10"
|
||||
# WEB_CUSTOM_EXPORT_BASE: ""
|
||||
# ------------------------------------------------------------------
|
||||
# Misc Land Selection Tuning (Step 7)
|
||||
# ------------------------------------------------------------------
|
||||
# MISC_LAND_DEBUG: "1" # Write debug CSVs (diagnostics only)
|
||||
# MISC_LAND_EDHREC_KEEP_PERCENT_MIN: "0.75"
|
||||
# MISC_LAND_EDHREC_KEEP_PERCENT_MAX: "1.0"
|
||||
# MISC_LAND_EDHREC_KEEP_PERCENT: "0.80" # Fallback if MIN/MAX unset
|
||||
# MISC_LAND_THEME_MATCH_BASE: "1.4"
|
||||
# MISC_LAND_THEME_MATCH_PER_EXTRA: "0.15"
|
||||
# MISC_LAND_THEME_MATCH_CAP: "2.0"
|
||||
|
||||
# Misc land tuning (utility land selection – Step 7)
|
||||
# MISC_LAND_DEBUG: "1" # 1=write misc land debug CSVs (post-filter, candidates); off unless SHOW_DIAGNOSTICS=1
|
||||
# MISC_LAND_EDHREC_KEEP_PERCENT_MIN: "0.75" # Lower bound (0–1). When both MIN & MAX set, a random keep % in [MIN,MAX] is rolled per build
|
||||
# MISC_LAND_EDHREC_KEEP_PERCENT_MAX: "1.0" # Upper bound (0–1)
|
||||
# MISC_LAND_EDHREC_KEEP_PERCENT: "0.80" # Legacy single fixed keep % (only used if MIN/MAX not both set)
|
||||
# MISC_LAND_THEME_MATCH_BASE: "1.4" # Multiplier if at least one theme tag matches
|
||||
# MISC_LAND_THEME_MATCH_PER_EXTRA: "0.15" # Increment per extra matching tag
|
||||
# MISC_LAND_THEME_MATCH_CAP: "2.0" # Cap for theme multiplier
|
||||
|
||||
# Paths (optional overrides)
|
||||
# ------------------------------------------------------------------
|
||||
# Path Overrides
|
||||
# ------------------------------------------------------------------
|
||||
# DECK_EXPORTS: "/app/deck_files"
|
||||
# DECK_CONFIG: "/app/config"
|
||||
# OWNED_CARDS_DIR: "/app/owned_cards"
|
||||
# CARD_LIBRARY_DIR: "/app/owned_cards"
|
||||
# CARD_LIBRARY_DIR: "/app/owned_cards" # legacy alias
|
||||
|
||||
# Headless-only settings
|
||||
# ------------------------------------------------------------------
|
||||
# Headless / CLI Mode (optional automation)
|
||||
# ------------------------------------------------------------------
|
||||
# DECK_MODE: "headless"
|
||||
# HEADLESS_EXPORT_JSON: "1"
|
||||
# DECK_COMMANDER: ""
|
||||
|
|
@ -81,11 +92,13 @@ services:
|
|||
# DECK_UTILITY_COUNT: ""
|
||||
# DECK_TAG_MODE: "AND"
|
||||
|
||||
# Entrypoint knobs
|
||||
# APP_MODE: "web"
|
||||
# HOST: "0.0.0.0"
|
||||
# PORT: "8080"
|
||||
# WORKERS: "1"
|
||||
# ------------------------------------------------------------------
|
||||
# Entrypoint / Server knobs
|
||||
# ------------------------------------------------------------------
|
||||
# APP_MODE: "web" # web|cli
|
||||
# HOST: "0.0.0.0" # Bind host
|
||||
# PORT: "8080" # Uvicorn port
|
||||
# WORKERS: "1" # Uvicorn workers
|
||||
volumes:
|
||||
- ${PWD}/deck_files:/app/deck_files
|
||||
- ${PWD}/logs:/app/logs
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue