P3 registry consumption plus discovery and catalog-builder skills#8
Open
xymeow wants to merge 7 commits into
Open
P3 registry consumption plus discovery and catalog-builder skills#8xymeow wants to merge 7 commits into
xymeow wants to merge 7 commits into
Conversation
Pointing the watchlist at a confirmed registry entry via active_canonical_event now derives everything that was hand-written before: both markets (alerts and the suspected-score signal on the primary side, silent mirror on the other), the aggregated probability bar with per-outcome colors/flags and the Polymarket mapping, goal signal team names, and the start time that drives adaptive polling. Soccer event sources wire up ESPN commentary automatically; other categories stay market-only until their category adapter lands (P4). Registry entries gain optional outcome_labels and display hints. Startup validation checks the entry against both venues through adapter metadata(): missing or settled Kalshi markets warn, an inconsistent Polymarket market drops that mapping and the bar degrades to single venue, and unconfirmed entries are rejected — confirmation stays human. Hot reload keeps the previous config when a bad edit fails to load instead of killing a running watch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
market-pairing gains a discovery workflow: open-ended "what's on this week?" requests rank fixtures by Polymarket 24h volume as the heat signal, cross-check that Kalshi carries the same winner market, and flow straight into pairing proposals. The registry entry format now documents outcome_labels/display and the post-confirmation step of pointing the watchlist at the entry. New player-catalog-builder skill fetches ESPN team rosters, diffs them against config/espn_player_catalog.json by athlete id, and drafts skeleton entries with context for proposing Chinese names. Translated names and nicknames stay human-confirmed; the skill also flags the espn:<id> key question to settle before non-soccer categories join the catalog (P4). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
No command-surface changes. The bump packages the post-1.6.0 reliability fixes (XS heap instruments, TTS stall watchdog, per-connection HTTP close) under a version a device can report. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
User-approved; the watchlist now points at it via active_canonical_event and the live watcher derived the full setup from this entry. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Team logos ride the existing flag mechanism as flag-<code>.png, so the bar renders club marks with no new device pathway: the flag-code check widens from country shapes (fr, gb-eng) to short dashed codes (mlb-lad), and a new generator rasterizes 22x18 alpha logos from the ESPN CDN (all 30 MLB clubs ship, ~43KB in the archive). pkbar gains an optional seventh token choosing the center icon (football default, baseball); unknown names clamp to the football and pre-1.8.0 mods ignore the extra token, so the watcher omits it for football watches and older devices never see a change. The watcher derives the icon from the registry category (mlb -> baseball) and the seeded MLB entries now point display.flag at logo codes. Assets stay compiled into the mod deliberately: the 2MB xs partition sits at ~15% after this change and resources render memory-mapped from flash, so an SD-card path (host reflash + runtime PNG decode that does cost RAM) buys nothing at this scale. Verified on device: bar shows mlb-lad 44 / mlb-phi 56 with club colors and the baseball icon on mod 1.8.0. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The flag skin samples FLAG_WIDTH x FLAG_HEIGHT (24x20) from its texture; the logo pack rendered 22x18, so the out-of-bounds columns drew as black bars on the device. The country flags are 22x18 content plus a 1px border for the same reason. Generate logos on a 24x20 canvas and pin the layout test to the state.js constants so a future size drift fails in CI instead of on the screen. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Isolated on device: the baseball icon (8-bit palette + alpha) renders, country flags (4-bit palette, opaque) render, but club logos render blank because their 3-4 color art compiles into 2-bit palette bitmaps and palette-plus-alpha textures draw nothing on the CoreS3. Flatten logos onto white PNG24 tiles — the exact country-flag format — and pin the layout test to opaque RGB so a transparent regression fails in CI. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #7 (multi-venue P1+P2). Lands P3 of the roadmap plus the two agent-tooling follow-ups.
P3 — Pairing-registry consumption
active_canonical_eventin the watchlist points at one confirmed registry entry; the watcher derives both markets (alerts + suspected-score signal on the primary side, silent mirror on the other), the aggregated probability bar (team colors/flags, Polymarket mapping), goal-signal team names, and the adaptive-polling start time. A 4-line watchlist now replaces the previous hand-written market blocks.outcome_labelsanddisplayhints (all three seeded MLB entries updated).metadata(): missing/settled Kalshi markets warn; an inconsistent Polymarket market drops that mapping and degrades the bar to single venue; unconfirmed entries are rejected — confirmation stays human. Hot reload keeps the previous config when a bad edit fails to load instead of killing a running watch.Agent tooling
Testing
pkbar us 44 005A9C us 56 E81828from live Kalshi+Polymarket quotes;validate_registry_venuesreturned no warnings against both live venues.🤖 Generated with Claude Code