- Add
docs/microsoft-store.mdwith what the first Microsoft Store submission needs: the Store listing text, runFullTrust justification, certification notes, age rating guidance and a publication record to fill in. Add Store screenshots rendered from a recorded MSH Quick Draft, two of them without card art. (#328) - The Windows CI job now builds the MSIX with MakeAppx and zips it into a
.msixupload. It installs a test-signed copy, runs the mock smoke test from the installed package, and removes the package. It then uploads the.msixuploadand the SHA-256 of the.msixinside it as a CI artifact. (#756) - Add the Microsoft Store MSIX package definition for the Windows app: a
manifest with the Partner Center identity, the Store logos, and
scripts/msix_package.py, which stages the package folder, mapsX.Y.ZtoX.Y.Z.0, and rejects a release version that does not increase. (#755) - WOE now has a published augmented model with a Card Pairs table. On held-out PremierDraft picks, Pool Shape raises top-1 from 0.4912 to 0.5398 and MRR from 0.6692 to 0.7110 over Basic DO. The Card Pairs test passed with a held-out gap of +3.88 pp [+3.56, +4.26]. At the selected weight of 0.25, pairs raise top-1 to 0.5424 and MRR to 0.7127.
- When the Card Pairs correction moves a card up the ranking, the GUI card
preview and the TUI focused card details show
Pairs well with <card>. The named card is the pool card with the largest pair score. Cards that pairs did not move up show no line. (#745) - The TUI can now use Augmented Intelligence. The configuration opened with
chas an Augmented Intelligence switch, off by default and saved intui-preferences.json. When it is on, the TUI loads the set’s model, from the cache or the published manifest, and DO scores include its adjustment. (#745) - Pick scores now use the Card Pairs table to break close calls. Each offered card gets the sum of its pair scores against the current pool, centered on the pack average, times a weight, and clipped to ±8 points. The Card Pairs and Pool Shape corrections together stay within ±8 points. The build picks the weight with the best validation MRR, then top-1, where weight zero is Pool Shape alone. It stores the weight in the table and prints it with held-out top-1 and MRR with and without pairs. An artifact without a table, or with a table that has no weight, scores as before. (#744)
build-augmented-setnow also downloads the set’s 17Lands game dump through the checksummed draft dump cache. It builds a Card Pairs table from games drafted before Model C’s validation period and tests it on the later games. The table is published under the artifact’strainingfield only when decks with better pairs win more games than decks of equal card strength in the same colours and player rank, with a 95% lower bound above zero. A failed test publishes the model without a table. The build prints the gap, its range and the result. Released clients still load the artifact, because they accept any object undertraining. (#743)build-augmented-setnow matches pool columns to pack columns by card name, so dumps such as WOE that list them in a different order load. It still fails when the two column sets name different cards. (#741)- Add
scripts/compare_augmented_candidates.py, an offline spike that ranks held-out picks with three candidate models next to Basic DO and Pool Shape, the name now used for Model C. Card Pairs scores cards by how often they win together in 17Lands game data. Player Picks learns the card players take from the exact pack and pool, and Winner Picks does the same from 7-win drafts only. The script uses Model C’s chronological split and reports top-1 and mean reciprocal rank with bootstrap ranges, a view limited to 7-win drafts, and the rank-adjusted win-rate gap of drafts that followed each candidate. Its--games-onlymode tests the pair signal on held-out 17Lands games: whether decks with better pairs win more than decks of equal card strength in the same colours and player rank. It reorders pool columns for dumps such as WOE that list them in a different order. No app code changes. (#717) - Show 17Lands card-rating counts in the Profile Refresh summary. Each successful set and format pair lists the fetched rows, the rows accepted into the profile, and the rejected rows grouped by reason. It also says whether those counts add up and how many profile ratings came from other formats. The static card-data counts are now labelled as set artifacts. (#402)
- Update the release skill for signed macOS releases: the new asset names, the run time, and a check that a downloaded DMG is notarized and stapled.
- Fix a segfault when the live adapter shuts down while its worker thread is
finishing.
shutdown()now queues the stop through an adapter signal instead of calling the worker, which the thread may be deleting. (#727)