This website requires JavaScript.
535bdd7c70
fix: make Forge deck paths fully portable using %~dp0 and auto-generate forge.profile.properties
KoalaTrapLord
2026-04-02 00:59:10 -04:00
d98e6331e9
fix: point all deck lookups to precon-decks directory
KoalaTrapLord
2026-04-01 23:10:32 -04:00
2b3196267f
fix: raise default clock from 300ms to 5000ms to prevent turn-1 draw games
KoalaTrapLord
2026-04-01 22:56:29 -04:00
433e8bc4d7
feat: wire precon card art through local /card-image/ API with Scryfall fallback
rgriffith
2026-04-01 22:09:13 -04:00
d74dd0a6bf
feat: wire precon card art through local /card-image/ API with Scryfall fallback (full file)
KoalaTrapLord
2026-04-01 21:45:15 -04:00
8037802dff
feat: wire precon card art through local /card-image/ API with Scryfall fallback
KoalaTrapLord
2026-04-01 21:45:01 -04:00
ca6c23a881
fix: wrap shutil.copy2 in try/except for install and install-batch endpoints
KoalaTrapLord
2026-04-01 21:32:19 -04:00
a81772c68a
fix: set cwd=CFG.forge_dir on Popen so Forge finds res/ (#184 )
KoalaTrapLord
2026-04-01 19:41:52 -04:00
99ca498b88
docs: add Unity TCGEngine Commander board implementation plan
KoalaTrapLord
2026-04-01 14:59:46 -04:00
395ad06cdd
fix: resolve deck names to full .dck paths in build_java_command (#183 )
KoalaTrapLord
2026-04-01 14:57:57 -04:00
e4a6ce644d
fix(#176 ): draw-game life capture, DrawGameAnalyzer, clock 6000→3000 (#181 )
KoalaTrapLord
2026-04-01 14:40:29 -04:00
968b68947e
fix(#176 ): wire drawGames summary into get_result() response
fix/176-draw-rate-dictate-kruphix
KoalaTrapLord
2026-04-01 14:27:10 -04:00
b6222cbc7c
fix(#176 ): capture life-at-timeout for draw games + add DrawGameAnalyzer
KoalaTrapLord
2026-04-01 13:55:43 -04:00
5411fd6bf6
fix(#175 ): alternate win condition parser & winType tagging (#179 )
KoalaTrapLord
2026-04-01 14:28:10 -04:00
2527b7cf98
fix: add User-Agent header to all Scryfall HTTP requests (required, 400 without it)
feature/unity-commander-gameboard
KoalaTrapLord
2026-04-01 13:46:08 -04:00
3a94de4c1f
fix(#180 ): wire win_type_override into Java batch JSON output in get_result()
fix/175-alternate-win-condition-parser
KoalaTrapLord
2026-04-01 13:44:20 -04:00
47dde2c896
chore: ignore TcgEngine third-party Unity asset folder
KoalaTrapLord
2026-04-01 13:42:49 -04:00
b2a25f7234
chore: ignore Eric VFX Studio third-party Unity asset folder
KoalaTrapLord
2026-04-01 13:41:35 -04:00
e0b538af6b
chore: add precon-decks, card images, and Unity generated files to .gitignore
KoalaTrapLord
2026-04-01 13:36:34 -04:00
c52323dd1d
fix(#175 ): add alternate win condition parser
KoalaTrapLord
2026-04-01 13:32:32 -04:00
f27fa61003
feat(phase-0): wire card_art router into lab_api + add tqdm/aiofiles to requirements
KoalaTrapLord
2026-04-01 13:32:07 -04:00
b07b59d206
feat(phase-0): implement Scryfall local card image cache
KoalaTrapLord
2026-04-01 13:30:08 -04:00
52cbefaccf
chore: init unity-commander-gameboard feature branch scaffolding
KoalaTrapLord
2026-04-01 12:29:17 -04:00
55fdc2ec4a
feat: add CreateBattlegroundScene editor script to build full scene programmatically
KoalaTrapLord
2026-03-30 20:31:09 -04:00
ddfe8e601e
fix(eval): parse batch JSON output instead of JSONL for Forge game results
KoalaTrapLord
2026-03-30 16:12:20 -04:00
9e3cd45936
fix(eval): require >= 3 decks for Forge availability check
KoalaTrapLord
2026-03-30 15:45:20 -04:00
c91f4c90bc
fix(eval): discover 4 decks for 4-player Commander (Forge requires >= 3)
KoalaTrapLord
2026-03-30 15:43:27 -04:00
80f67dd0a0
fix(eval): use precon-decks/ for deck discovery instead of decks/
KoalaTrapLord
2026-03-30 15:28:19 -04:00
10220ec747
feat: add 130+ precon commander deck files
rgriffith
2026-03-30 15:19:29 -04:00
6fadeaa387
fix(eval): replace Java bridge imports with subprocess CLI launch for Forge eval
rgriffith
2026-03-30 14:23:52 -04:00
517c17047b
fix: strip value_head keys when loading PPO checkpoint into PolicyNetwork
rgriffith
2026-03-30 13:31:59 -04:00
c62e75af52
fix(tests): update _build_document assertions to match NL sentence format
KoalaTrapLord
2026-03-30 12:36:00 -04:00
11940835fc
fix: validate ollama suggest_cards names against DB + Scryfall before pipeline merge
KoalaTrapLord
2026-03-30 12:33:28 -04:00
d12b47f874
fix: robust suggest_cards parsing — CSV fallback + one-shot JSON prompt
KoalaTrapLord
2026-03-30 12:26:28 -04:00
5b5bac42fb
fix: use vars(row) instead of dict(row) in _build_collection_from_bulk
KoalaTrapLord
2026-03-30 10:39:49 -04:00
574bb79a0b
fix(eval): correct indentation for load/reload in _load_policy_service
rgriffith
2026-03-30 10:36:43 -04:00
5554ef4dd7
fix(eval): call load() for embeddings before reload() for checkpoint
KoalaTrapLord
2026-03-30 09:53:56 -04:00
cf2d7ed806
fix(eval): use reload() with explicit checkpoint path instead of load()
KoalaTrapLord
2026-03-30 09:51:22 -04:00
aec1896094
fix(engine): promote assign_attackers/assign_blockers/resolve_combat_damage to public methods (#86 )
KoalaTrapLord
2026-03-30 09:50:56 -04:00
75785ae918
fix(tests): update RESPONSE_PHASES assertion to match current turn_manager design
KoalaTrapLord
2026-03-29 20:39:37 -04:00
252e46b288
fix(tests): swap Delta/Epsilon for Zeta/Theta to avoid _land_kw collision
KoalaTrapLord
2026-03-29 20:37:04 -04:00
e1bb2e7209
feat(coach): Phase 1 sim stats pass-through in prompt template (#108 )
KoalaTrapLord
2026-03-29 05:55:51 -04:00
e77a945805
test(encoder): unit tests for StateEncoder global features + Step 4 total_power (#83 Step 4)
KoalaTrapLord
2026-03-29 05:46:01 -04:00
3f5d6d12e8
feat: 4-player Commander Battleground UI (issues #138–#151)
KoalaTrapLord
2026-03-29 05:35:29 -04:00
915c745911
fix(eval): remove Set-StrictMode, fix curly-quotes and -- in strings (issue #153 )
KoalaTrapLord
2026-03-29 05:31:58 -04:00
2c67222de1
fix(lobby): wire OnConfirm to POST /api/game/start, save game_id to PlayerPrefs
feat/battleground-ui
KoalaTrapLord
2026-03-29 05:22:04 -04:00
d8238ec11f
feat(game): add routes/game.py + wire lab_api + fix GameWebSocketClient game_id URL
KoalaTrapLord
2026-03-29 05:17:48 -04:00
00374c1f03
feat(eval): add run_benchmark.ps1 — full benchmark pipeline for issue #153
KoalaTrapLord
2026-03-29 05:13:21 -04:00
6e71ba88fd
fix(encoder): read real total_power from snapshot dict at global index 7 (#83 Step 4)
KoalaTrapLord
2026-03-29 05:13:19 -04:00
7aed64a660
fix: add PostGameAction to ApiClient + update TODO.md all issues complete
KoalaTrapLord
2026-03-29 05:09:51 -04:00
73d8e8d220
test(policy): add Step 4 board-stats tests + fix schema alias (#83 Step 4)
KoalaTrapLord
2026-03-29 04:51:47 -04:00
bff7b3a81e
feat(eval): add forge_evaluator, eval_policy, compare_eval for issue #153
KoalaTrapLord
2026-03-29 04:49:43 -04:00
b1c17359f0
feat(policy): wire real Forge board stats into encoder snapshot (#83 Step 4)
KoalaTrapLord
2026-03-29 04:49:40 -04:00
7440d0ce17
test(policy): add round-trip tests for /api/policy/decide state_vector path (#83 Step 2)
KoalaTrapLord
2026-03-29 04:37:09 -04:00
4d73f134c2
feat(policy): consume state_vector from GameSession snapshots (#83 Step 2)
KoalaTrapLord
2026-03-29 04:32:52 -04:00
126684bb94
feat(bridge): Phase 2.3 — wire GameSession to real Forge IPC subprocess (issue #83 )
KoalaTrapLord
2026-03-29 04:31:49 -04:00
882e2370c1
fix(#127 ): persist built_at in ChromaDB collection metadata as sidecar fallback
KoalaTrapLord
2026-03-29 04:29:35 -04:00
bbca0b7985
fix(#126 ): add batch insert retry logic with exponential backoff
KoalaTrapLord
2026-03-29 04:24:58 -04:00
da8de77704
feat(bridge): add buildStateVector() emitting state_vector float[] in snapshots (#83 Step 1)
KoalaTrapLord
2026-03-29 04:24:55 -04:00
11990c2fd3
feat(ml): add --data-source forge flag to PPO trainer (issue #83 phase 1.3)
KoalaTrapLord
2026-03-29 03:02:30 -04:00
aefd0cace6
feat(rag): Phase 1 — rewrite build_card_text to natural-language format (#137 )
KoalaTrapLord
2026-03-29 02:11:38 -04:00
e3497a8f74
feat(#149 ): add GameWebSocketClient with reconnect, ping, and main-thread dispatch
KoalaTrapLord
2026-03-28 20:05:35 -04:00
6a655628c8
feat(#151 ): add Play Live button to SimulationController
KoalaTrapLord
2026-03-28 20:04:42 -04:00
e3d4eb5785
feat(#147 #150 #151 ): add LobbySetupModal, ZoneViewerModal, EliminationHandler; add Play Live button to SimulationController
KoalaTrapLord
2026-03-28 20:03:43 -04:00
abee551ab4
feat(#146 ): add StackZoneController, StackItemView, and ManaPoolDisplay
KoalaTrapLord
2026-03-28 20:02:23 -04:00
9fdb6d29fb
chore: mark issues 1-8 as complete in task tracker
KoalaTrapLord
2026-03-28 19:58:00 -04:00
2c8c6c26bd
feat(#144 ): add TokenModel POCO, TokenPanelController, and TokenRowView
KoalaTrapLord
2026-03-28 19:57:00 -04:00
9ffefd463c
feat(#143 ): add CommanderZoneWidget with art crop, cast counter, and tax display
KoalaTrapLord
2026-03-28 19:56:24 -04:00
4c99957e76
feat(#142 ): add CardZone and CardView battlefield zone components
KoalaTrapLord
2026-03-28 19:56:09 -04:00
e5e25a7553
feat(#141 ): add TurnOrderBar and TurnOrderPill
KoalaTrapLord
2026-03-28 19:55:40 -04:00
8d56feee80
feat(#140 ): add PhaseTrackerWidget and PhaseStepButton
KoalaTrapLord
2026-03-28 19:55:17 -04:00
837bb3d6f9
feat(#139 ): add LifeTrackerWidget, CommanderDamageRow, PoisonCounter
KoalaTrapLord
2026-03-28 19:54:56 -04:00
98b81ceab2
feat(#138 ): add BattlegroundController scene orchestrator
KoalaTrapLord
2026-03-28 19:54:24 -04:00
fae04a9336
feat(#148 ): add GameStateManager singleton and GameState/SeatState POCOs
KoalaTrapLord
2026-03-28 19:54:01 -04:00
8fd155a925
feat(#143 ): add LoadArtCrop and LoadCardRaw (RawImage) to ImageCache
KoalaTrapLord
2026-03-28 19:53:25 -04:00
34ce9bfbf7
feat(#142 ): add [NonSerialized] battleground runtime state to CardModel
KoalaTrapLord
2026-03-28 19:53:09 -04:00
07010a71ed
chore: add battleground UI task tracker (2026-03-28)
KoalaTrapLord
2026-03-28 19:50:06 -04:00
ac536999eb
Update lab_api.pyfeat: wire validate_forge_config into lifespan startup
KoalaTrapLord
2026-03-28 14:48:43 -04:00
2e43511d87
feat: add validate_forge_config() startup check
KoalaTrapLord
2026-03-28 14:34:50 -04:00
1bebe38e66
fix: forge_card_loader path resolution + reset_forge_cache helper
KoalaTrapLord
2026-03-28 14:31:42 -04:00
eca1653024
fix: backfill basic lands on card_entries to guarantee 99 cards
KoalaTrapLord
2026-03-28 00:26:42 -04:00
08f1cb7581
fix(deckgen): backfill basic lands after cross-category dedup to reach 99 cards
KoalaTrapLord
2026-03-28 00:10:52 -04:00
9d9e8675a9
fix: restore missing # on line 27 section banner in rules.py (SyntaxError on import)
KoalaTrapLord
2026-03-27 23:36:02 -04:00
64526b7bee
fix: exclude lands from cmc_buckets in _build_deck_report_from_db (matches deck_service behaviour)
KoalaTrapLord
2026-03-27 20:38:49 -04:00
e9732d292f
fix: expand _land_kw, hoist to module level, guard has_real_data for cmc=0 lands after Forge lookup
KoalaTrapLord
2026-03-27 20:36:22 -04:00
fa5349ea7c
fix: basic land name fallback in _build_deck_report_from_db when type_line is missing from collection join
KoalaTrapLord
2026-03-27 20:32:15 -04:00
1c491bc2b0
fix: add Land role detection to _detect_card_roles (fixes basics showing as Unknown)
KoalaTrapLord
2026-03-27 20:28:35 -04:00
81fe5108d2
fix: coach_apply rollback on partial write, 4-space reindent; ws_game hoist inline imports
KoalaTrapLord
2026-03-27 20:24:55 -04:00
61fa37dc48
fix: lifespan indent error, get_running_loop, remove double rag init, register policy routes
KoalaTrapLord
2026-03-27 20:22:42 -04:00
0118950939
fix: add anthropic_api_key to Config with env-var default (fixes AttributeError in ASGI mode)
KoalaTrapLord
2026-03-27 20:20:45 -04:00
22cf23b24d
fix: correct query_cards kwarg names in coach_service (n= -> n_results=, colors= -> color_identity=)
KoalaTrapLord
2026-03-27 20:17:14 -04:00
0010b0f394
refactor: RAG improvements — shared card_text, Chroma fallback, staleness monitor (fixes #133 , #134 , #135 ) (#136 )
KoalaTrapLord
2026-03-27 16:46:33 -04:00
d0cdafa66a
feat(rag): Phase 3 — inject RAG cards into coach prompts (#132 )
KoalaTrapLord
2026-03-27 15:20:49 -04:00
bcf558418a
fix(rag): squash all RAG/ChromaDB bugs #123–#130
KoalaTrapLord
2026-03-27 13:24:41 -04:00
946a4a2bef
test(rag): add tests/test_rag_store.py with full RAG pipeline coverage (closes #130 )
fix/rag-bugs-123-130
KoalaTrapLord
2026-03-27 12:36:47 -04:00
08f34806d6
fix(deps): add rag and coach-embeddings optional-dependencies to pyproject.toml (closes #129 )
KoalaTrapLord
2026-03-27 12:20:35 -04:00
281c839163
fix(rag): add ensure_rag_store() to lifespan handler so RAG builds under uvicorn ASGI mode (closes #125 )
KoalaTrapLord
2026-03-27 12:20:08 -04:00
96e51f59ae
fix(rag): batch_size param, failure tracking, sidecar build_meta, mana_cost in doc (closes #124 , #126 , #127 , #128 )
KoalaTrapLord
2026-03-27 12:13:36 -04:00
1d756bca49
fix(rag): use correct rag_store function names in routes/rag.py + wire batch_size (closes #123 , #124 )
KoalaTrapLord
2026-03-27 12:03:55 -04:00
61ac349445
fix: re-encode requirements.txt as UTF-8 (fixes pip install failure)
KoalaTrapLord
2026-03-27 11:14:34 -04:00