mirror of
https://github.com/mwisnowski/mtg_python_deckbuilder.git
synced 2026-04-05 12:47:17 +02:00
docs: documentation overhaul - archive, user guides, env parity (#62)
Some checks failed
CI / build (push) Has been cancelled
Some checks failed
CI / build (push) Has been cancelled
* docs: archive CLI runner scripts and Windows Docker guide, update web runner scripts * docs: overhaul README and DOCKER.md, add 10 user guides - README: Budget Mode section, corrected Further Reading links, theme badge descriptions, diagnostics expansion - DOCKER.md: Windows path note, Budget Mode + Include/Exclude sections, env table additions - docs/user_guides/: 10 new feature guides covering budget mode, include/exclude, locks/replace/permalinks, batch build, theme browser, random build, owned cards, partner mechanics, bracket compliance, quick build & skip controls * fix: map PriceTimeoutError→503, add budget exceptions to status map; update error_handling.md * docs: env var parity — add missing vars to .env.example and README table
This commit is contained in:
parent
537f5d3834
commit
ac6c9f4daa
21 changed files with 1074 additions and 23 deletions
109
docs/user_guides/bracket_compliance.md
Normal file
109
docs/user_guides/bracket_compliance.md
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
# Bracket Compliance
|
||||
|
||||
Select a power level for your deck and get a detailed compliance report against the official Commander bracket rules.
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
Commander brackets define five power tiers from Exhibition (casual) to cEDH (competitive). The builder checks your finished deck against the rules for your selected bracket and surfaces a PASS / WARN / FAIL report per category.
|
||||
|
||||
Bracket selection lives in the **New Deck modal**. The compliance report appears in Step 5 and is exported to the compliance JSON sidecar (`deck_files/*_compliance.json`).
|
||||
|
||||
---
|
||||
|
||||
## Bracket Tiers
|
||||
|
||||
| Bracket | Name | Key restrictions |
|
||||
|---------|------|-----------------|
|
||||
| 1 | Exhibition | No Game Changers; no two-card infinite combos; no mass land denial; extra turns discouraged; tutors sparse |
|
||||
| 2 | Core | No Game Changers; no two-card infinite combos; no mass land denial; extra turns not chained; tutors sparse |
|
||||
| 3 | Upgraded | Up to 3 Game Changers; no mass land denial; no early/cheap two-card combos; extra turns not chained |
|
||||
| 4 | Optimized | No bracket restrictions (banned list still applies) |
|
||||
| 5 | cEDH | No bracket restrictions (banned list still applies; competitive mindset) |
|
||||
|
||||
Bracket rules follow the official Wizards of the Coast Commander bracket definitions. The card lists used for compliance checks are stored in `config/card_lists/` and can be updated as WotC revises the lists.
|
||||
|
||||
---
|
||||
|
||||
## Compliance Categories
|
||||
|
||||
For each build, the compliance report checks:
|
||||
|
||||
| Category | What is checked |
|
||||
|----------|----------------|
|
||||
| **Game Changers** | Cards on the official Game Changers list (`config/card_lists/game_changers.json`) |
|
||||
| **Extra turns** | Cards that grant extra turns (`extra_turns.json`) |
|
||||
| **Mass land denial** | Cards that destroy, exile, or bounce many lands (`mass_land_denial.json`) |
|
||||
| **Non-land tutors** | Cards that search the library for non-land cards |
|
||||
| **Two-card combos** | Known two-card infinite combos (`combos.json`), with a flag for early/cheap combos |
|
||||
|
||||
Each category returns a PASS / WARN / FAIL verdict and lists the flagged cards with links.
|
||||
|
||||
If the **commander itself** is on the Game Changers list, it is surfaced separately at the top of the report.
|
||||
|
||||
---
|
||||
|
||||
## Enforcement Mode
|
||||
|
||||
Set `enforcement_mode` in your JSON config to control how the builder handles bracket violations:
|
||||
|
||||
| Mode | Behavior |
|
||||
|------|----------|
|
||||
| `validate` | Build freely, then report violations. No cards are blocked. _(default)_ |
|
||||
| `prefer` | During selection, avoid adding disallowed categories; cap Game Changers for Bracket 3. |
|
||||
| `strict` | Block additions that would violate the bracket. Build fails with a clear message if unavoidable. |
|
||||
|
||||
```json
|
||||
{
|
||||
"bracket": "core",
|
||||
"enforcement_mode": "prefer"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Rule Zero Notes
|
||||
|
||||
The `rule_zero_notes` field in the JSON config lets you document table agreements that override standard bracket rules:
|
||||
|
||||
```json
|
||||
{
|
||||
"bracket": "upgraded",
|
||||
"rule_zero_notes": "Mass land denial allowed by table agreement. Two-card combos capped at 1."
|
||||
}
|
||||
```
|
||||
|
||||
Rule zero notes appear in the compliance report header and are exported to the compliance JSON.
|
||||
|
||||
---
|
||||
|
||||
## Web UI
|
||||
|
||||
- The bracket dropdown in the New Deck modal defaults to **Core (Bracket 2)** when no bracket is set.
|
||||
- The compliance banner in Step 5 shows a color-coded overall verdict (green=PASS, yellow=WARN, red=FAIL) and expandable per-category details.
|
||||
- `WEB_AUTO_ENFORCE=1` re-runs compliance export automatically after each completed build.
|
||||
|
||||
---
|
||||
|
||||
## Maintaining the Card Lists
|
||||
|
||||
The Game Changers list and companion lists are static JSON files in `config/card_lists/`. Each file includes `source_url` and `generated_at` metadata. Update them manually when WotC publishes revisions. Unknown cards in lookups are skipped with a note in the compliance report — they do not cause a hard failure.
|
||||
|
||||
---
|
||||
|
||||
## Environment Variables
|
||||
|
||||
| Variable | Default | Purpose |
|
||||
|----------|---------|---------|
|
||||
| `WEB_AUTO_ENFORCE` | `0` | Auto-run compliance export after every build. |
|
||||
|
||||
---
|
||||
|
||||
## JSON Config Keys
|
||||
|
||||
| Key | Values | Purpose |
|
||||
|-----|--------|---------|
|
||||
| `bracket` | `exhibition` \| `core` \| `upgraded` \| `optimized` \| `cedh` | Bracket selection. Defaults to `core` if unset. |
|
||||
| `enforcement_mode` | `validate` \| `prefer` \| `strict` | How violations are handled during building. |
|
||||
| `rule_zero_notes` | string | Optional table agreement notes included in the compliance report. |
|
||||
Loading…
Add table
Add a link
Reference in a new issue