matt
83fe527979
fix(lint): improved type checking and code quality (77% error reduction)
2025-10-31 08:18:09 -07:00
matt
b994978f60
overhaul: migrated to tailwind css for css management, consolidated custom css, removed inline css, removed unneeded css, and otherwise improved page styling
2025-10-28 08:21:52 -07:00
matt
345dfb3e01
perf: improve commander selection speed and fix color identity display
2025-10-19 13:29:47 -07:00
matt
bff64de370
fix: systematically handle numpy arrays from Parquet files across codebase
...
- Add ensure_theme_tags_list() utility to builder_utils for simpler numpy array handling
- Update phase3_creatures.py: 6 locations now use bu.ensure_theme_tags_list()
- Update phase4_spells.py: 9 locations now use bu.ensure_theme_tags_list()
- Update tagger.py: 2 locations use hasattr/list() for numpy compatibility
- Update extract_themes.py: 2 locations use hasattr/list() for numpy compatibility
- Fix build-similarity-cache.yml verification script to handle numpy arrays
- Enhance workflow debug output to show complete row data
Parquet files return numpy.ndarray objects for array columns, not Python lists.
The M4 migration added numpy support to canonical parse_theme_tags() in builder_utils,
but many parts of the codebase still used isinstance(list) checks that fail with arrays.
This commit systematically replaces all 19 instances with proper numpy array handling.
Fixes GitHub Actions workflow 'RuntimeError: No theme tags found' and verification failures.
2025-10-18 22:47:09 -07:00
matt
8435312c8f
feat: migrate to unified Parquet format with instant GitHub setup and 4x faster tagging
2025-10-18 21:32:12 -07:00
matt
bec984ce3e
Add colorless commander filtering and display fixes
2025-10-16 11:20:27 -07:00
matt
9ab3835e2a
feat: stage reordering, skip controls, quick build, and commander session cleanup
2025-10-14 16:09:58 -07:00
matt
4a8d71b16b
feature: add non-basic land types to tagging mechanics
2025-10-13 15:07:31 -07:00
matt
0dd5b4cf64
maintenance: cleaned up, consolidated, and refined codebase for tagging
2025-10-12 21:26:37 -07:00
matt
f2863ef362
feat: complete protection scope filtering with pool limiting
2025-10-09 17:29:57 -07:00
matt
d416c9b238
feat: Added Partners, Backgrounds, and related variation selections to commander building.
2025-10-06 09:17:59 -07:00
matt
9428e09cef
feat: add supplemental theme catalog tooling, additional theme selection, and custom theme selection
2025-10-03 10:43:24 -07:00
matt
88cf832bf2
Finalize MDFC follow-ups, docs, and diagnostics tooling
...
document deck summary DFC badges, exporter annotations, and per-face metadata across README/DOCKER/release notes
record completion of all MDFC roadmap follow-ups and add the authoring guide for multi-face CSV entries
wire in optional DFC_PER_FACE_SNAPSHOT env support, exporter regression tests, and diagnostics updates noted in the changelog
2025-10-02 15:31:05 -07:00
matt
49f1f8b2eb
feat(random): finalize multi-theme telemetry and polish
...
Editorial Lint / lint-editorial (push) Has been cancelled
- document random theme exclusions, perf guard tooling, and roadmap completion
- tighten random reroll UX: strict theme persistence, throttle handling, export parity, diagnostics updates
- add regression coverage for telemetry counters, multi-theme flows, and locked rerolls; refresh README and notes
Tests: pytest -q (fast random + telemetry suites)
2025-09-26 18:15:52 -07:00
matt
73685f22c8
feat(random): multi-theme groundwork, locked reroll export parity, duplicate export fix, expanded diagnostics and test coverage
2025-09-25 15:14:15 -07:00
matt
16261bbf09
feat(themes): whitelist governance, synergy cap, docs + tests; feat(random): laid roadwork for random implementation, testing in headless confirmed
2025-09-17 13:23:27 -07:00
matt
947adacfe2
test: convert tests to pytest assertions; add server-availability skips; clean up warnings and minor syntax/indent issues
2025-09-12 10:50:57 -07:00
matt
07a92eb47f
chore(release): v2.2.9 misc land variety, land alternatives randomization, scroll flicker fix
2025-09-10 16:20:38 -07:00
matt
3e4395d6e9
feat: complete include/exclude observability, fix validation bugs, and organize tests
...
- Add structured logging for include/exclude operations with comprehensive event tracking
- Fix duplicate counting bug in validation API by eliminating double validation passes
- Simplify color identity validation UX by consolidating into single 'illegal' status
- Organize project structure by moving all test files to centralized code/tests/ directory
- Update documentation reflecting feature completion and production readiness
- Add validation test scripts and performance benchmarks confirming targets met
- Finalize include/exclude feature as production-ready with EDH format compliance
2025-09-09 20:18:03 -07:00
matt
f77bce14cb
feat: add structured logging for include/exclude decisions
2025-09-09 19:13:01 -07:00
matt
cfcc01db85
feat: complete M3 Web UI Enhancement milestone with include/exclude cards, fuzzy matching, mobile responsive design, and performance optimization
...
- Include/exclude cards feature complete with 300+ card knowledge base and intelligent fuzzy matching
- Enhanced visual validation with warning icons and performance benchmarks (100% pass rate)
- Mobile responsive design with bottom-floating controls, two-column layout, and horizontal scroll prevention
- Dark theme confirmation modal for fuzzy matches with card preview and alternatives
- Dual architecture support for web UI staging system and CLI direct build paths
- All M3 checklist items completed: fuzzy match modal, enhanced algorithm, summary panel, mobile responsive, Playwright tests
2025-09-09 18:15:30 -07:00
matt
0516260304
feat: Add include/exclude card lists feature with web UI, validation, fuzzy matching, and JSON persistence (ALLOW_MUST_HAVES=1)
2025-09-09 09:36:17 -07:00
matt
668f1a7185
chore:fixing cli build due to missing variable in build phase 5 and the headless_runner not doing setup/tagging automatically
2025-09-05 12:46:49 -07:00
matt
375349e56e
release: 2.2.6 – refresh bracket list JSONs; finalize brackets compliance docs and UI polish
2025-09-04 19:28:48 -07:00
mwisnowski
4e03997923
Bracket enforcement + inline gating; global pool prune; compliance JSON artifacts; UI combos gating; compose envs consolidated; fix YAML; bump version to 2.2.5
2025-09-03 18:00:06 -07:00
mwisnowski
fe9aabbce9
chore(release): v2.2.3 - fixed bug causing basic lands to not be added; updated removal tagging logic causing non-removal cards to be tagged due to wording
2025-09-01 20:20:04 -07:00
mwisnowski
6c48fb3437
feat(combos): add Combos & Synergies detection, chip-style UI with dual hover; JSON persistence and headless honoring; stage ordering; docs and tests; bump to v2.2.1
2025-09-01 16:55:24 -07:00
matt
341a216ed3
feat(web): Multi-Copy modal earlier; Multi-Copy stage before lands; bump version to 2.1.1; update CHANGELOG\n\n- Modal triggers after commander selection (Step 2)\n- Multi-Copy applied first in Step 5, lands next\n- Keep mc_summary/clamp/adjustments wiring intact\n- Tests green
2025-08-29 09:19:03 -07:00
matt
721e1884af
feat: locks/replace/compare/permalinks; perf: virtualization, LQIP, caching, diagnostics; add tests, docs, and issue/PR templates (flags OFF)
2025-08-28 14:57:22 -07:00
matt
8d1f6a8ac4
feat(web,docs): visual summaries (curve, pips/sources incl. 'C', non‑land sources), tooltip copy, favicon; diagnostics (/healthz, request‑id, global handlers); fetches excluded, basics CSV fallback, list highlight polish; README/DOCKER/release-notes/CHANGELOG updated
2025-08-26 20:00:07 -07:00
mwisnowski
625f6abb13
Web/builder: Owned stability+enrichment+exports; prefer-owned toggle & bias; staged build show-skipped; UI polish; docs update
2025-08-26 16:25:34 -07:00
mwisnowski
fd7fc01071
Web + backend: propagate tag_mode (AND/OR) end-to-end; AND-mode overlap prioritization for creatures and theme spells; headless configs support tag_mode; add Scryfall attribution footer and configs UI indicators; minor polish. (#and-overlap-pass)
2025-08-26 11:34:42 -07:00
mwisnowski
0f73a85a4e
Web UI: setup progress + logs folding, Finished Decks library, commander search UX (debounce, keyboard, highlights, color chips), ranking fixes (first-word priority, substring include), optional auto-select; setup start reliability (POST+GET), force runs, status with percent/ETA/timestamps; stepwise builder with added stage reporting and sidecar summaries; keyboard grid wrap-around; restrict commander search to eligible rows
2025-08-26 09:48:25 -07:00
mwisnowski
acfb29cafb
feat(owned-cards): add owned-only workflow, multi-file parsing, and recommendations export\n\n- Prompt to use only owned cards (gated by presence of lists)\n- Support .txt/.csv owned lists, multi-select; commander exempt\n- Owned-only filtering + add guard; recommendations CSV/TXT when incomplete\n- CSV Owned column when not owned-only\n- Docs and Docker updated (owned_cards + config mounts)\n- CI: Windows EXE on tag; Docker Hub tag fix (no major.minor)\n- Changelog added; RELEASE_NOTES.md ignored
2025-08-25 09:48:05 -07:00
matt
5f922835a6
chore(release): v1.1.2 bump, notes/template + README updates, Docker Hub description updater, headless/docs tweaks
2025-08-23 15:29:45 -07:00
matt
99005c19f8
Release v1.1.0: headless runner + tagging updates (Discard Matters, Freerunning, Craft, Spree, Explore/Map, Rad, Energy/Resource Engine, Spawn/Scion)
2025-08-22 16:32:39 -07:00
matt
cb710d37ed
feat!: auto-setup/tagging; direct builder + rerun prompt; fix(type-summary, .txt dup); refactor(export filenames); ci(DockerHub+GH releases); docs(minimal Windows guide, release notes template)
2025-08-21 17:01:21 -07:00
mwisnowski
6fc859b766
Planned first release
2025-08-21 10:50:22 -07:00
mwisnowski
661bf236d9
Preperly functional Docker instance created and working
2025-08-21 10:28:10 -07:00
mwisnowski
0135eeeb3d
Finished modularization with assistance from Github copilot
2025-08-21 08:40:31 -07:00
mwisnowski
d9b56d8e12
Add text file export along with csv, for easy import into moxfield or other deck building sites
2025-08-20 11:17:51 -07:00
mwisnowski
760c36d75d
With assistance from Github CoPilot, massively overhauled the builder functionality, splitting it into smaller modules to provide a better step-by-step focus and drastically reduce the overall size of the core builder module
2025-08-20 10:46:23 -07:00
mwisnowski
ff1912f979
Enacted some cleanup of builder.py. moved Imports to the top and cut out duplicate code/moved it to builder_utils.py
2025-08-19 15:00:28 -07:00
mwisnowski
b7ee6ea57d
Finished core deck builder. Still need to do cleanup, implement cards that are not singleton, and pricing
2025-08-19 14:15:23 -07:00
mwisnowski
8478bc2534
Implemented logic for adding creatures by themes, with weighted values. Added logic for keeping track of how many cards with what themes have been added as well
2025-08-19 10:18:53 -07:00
mwisnowski
411f042af8
Builder tool has been restrcutured up through adding lands, still a bit of cleanup to do, but will come back after other parts
2025-08-19 09:00:51 -07:00
mwisnowski
a8a181c4af
Started remaking the builder module, Currently up through adding the standard/staple lands
2025-08-18 11:58:25 -07:00
mwisnowski
a69a4c8384
Started work on redoing the builder module, moved existing code to new dir and setup new builder.py file
2025-08-15 10:11:56 -07:00
mwisnowski
dd04dd0505
Revert "Massively overhauled the tagging process, refactored code to improve general effeciciency, implemented parallel processing to reduce total runtime"
...
This reverts commit 27ee13fb54 .
2025-08-15 10:04:19 -07:00
mwisnowski
039b8fe89e
Consolidated constants that are duplicated in various constant files. Implemented dataclass methodoligies for tagging counter-related cards tagging
2025-08-15 09:36:37 -07:00