Release date: June 25, 2026
Baseline: v92.0.0
Range documented: v92.0.0..f7f638af5
Implementation endpoint: f7f638af5de73c52907608f63246d23dc2120fff
Commit count: 139
This file is the mechanical repository ledger for the v93.0.0 release arc. It documents every committed implementation change from the v92.0.0 tag through f7f638af5, before the v93.0.0 release-lock documentation and version edits.
Range stats:
854 files changed, 114773 insertions(+), 3371 deletions(-)The v93.0.0 arc crossed the threshold from Sports Arena as a fast proof game into Sports Arena and Sports Economy as a proof-native, bounded, public, history-complete artifact system. The major implementation findings were:
- Deterministic proof value must be projected from one shared source. Seller ask, chart display, market panel, logged-in console, and single-card surfaces cannot each interpret value independently.
- Full card-wrapped history is user-facing proof truth. The latest transfer is not enough when the user is inspecting provenance, ownership, settlement, or value lineage.
- Sports Economy proof reads must be bounded and page-shaped. Broad ledger scans and payload sorts are allowed only when they stay below the visible surface and preserve the same proof rows.
- DB indexes are mechanics, not authority. They may accelerate append and event proof ledgers only when the ledger payload and proof identity remain the source of truth.
- Known proof must paint before background enrichment. The app became materially faster when verified local, archived, bundled, or ledger-projected truth was reused first and background work appended behind it.
- User-visible performance improved most when pressure was removed from hot proof paths, not when proof was hidden. Compact RPCs, summary projections, foreground cadence controls, and bounded pagination preserved experience while reducing database load.
- Visual evidence is release evidence. Screenshots and live browser behavior caught value, history, bio, command, and loading regressions that type checks alone could not prove.
| Commit | Date | Subject |
|---|---|---|
d009254bc |
2026-06-18 | Implemented the rarity/value correction and premium rarity elevation. |
cc9054957 |
2026-06-19 | patched pitch comannd center for after midnight |
3a5605acc |
2026-06-19 | Done. The current tree has the rarity/value logic, premium rarity presentation, event OG fallback, pitch selected-game binding, and post-midnight live-day handling in place. J. Miz Mythic #1 issuance #1 comes out to $1,022,803,582.36. |
10023f6bb |
2026-06-19 | The 17th and 16th were slow because they were cold historical dates. |
291665128 |
2026-06-19 | Implemented the value correction. |
0f1af6174 |
2026-06-19 | Fixed the history count regression. |
af4013ace |
2026-06-19 | Update AGENTS.md |
311ccd72b |
2026-06-19 | Validated one concrete regression from recent history and fixed it. |
dc73b4365 |
2026-06-19 | mplemented a Pack Derby upgrade pass using the requested game skills. |
f86f5911a |
2026-06-19 | Implemented the full-frame film approach. |
f14e770e5 |
2026-06-19 | update deby pack game plan for full realism on mobile |
c959ca1e0 |
2026-06-19 | update the realistic derby pack visual |
b23b7db5f |
2026-06-19 | Update derby film assets and atlas generation |
d761bffb0 |
2026-06-19 | Pack Derby mobile film frames and backfill |
0f857d961 |
2026-06-19 | Guard deterministicManifest.stamp in ProfileClient |
340e867cb |
2026-06-19 | Preserve originals when merging live-player snapshots |
4b42c08ef |
2026-06-19 | Add pack-derby film playback and stabilization |
4477a2969 |
2026-06-20 | Pack Derby: 60-frame broadcast film atlas |
2a6276247 |
2026-06-20 | Remove unused packDerby broadcast layers |
08ded1032 |
2026-06-20 | Pack Derby: add pitch frames, timing & version bump |
2611ddc46 |
2026-06-20 | Add day-proof backfill and proof tool dock |
031d71236 |
2026-06-20 | Serve pitch-command day-proofs from public |
ccd06ccf2 |
2026-06-20 | Separate archive file IO into new module |
1ef3b9ee7 |
2026-06-20 | Remove drawPremiumPortraitGlassOverlay |
c3f4cea5f |
2026-06-20 | Add card-scoped event-proof dedupe & counts |
f49dca9bf |
2026-06-20 | Pass subjectDetail to chat email and add migration |
b86b5b8c5 |
2026-06-20 | Add sports arena append sync guard |
1db46ab3d |
2026-06-20 | Use entry-append summary RPC and add migrations |
ee3e762e3 |
2026-06-20 | Use compact read RPCs for sports appends |
5bd16ee54 |
2026-06-20 | Resolve rookie status and include in seal payload |
963243f07 |
2026-06-20 | Show base diamond and dot counters in HUD |
3584395bf |
2026-06-20 | Bump release to 92.0.2 and pack-derby UI tweaks |
2e978cbaa |
2026-06-20 | chore: append pitch command day proof archive |
d23cd022d |
2026-06-20 | Include derby packs and add variant ceilings |
aee8eab77 |
2026-06-20 | Merge branch 'main' of https://github.com/kojibai/receiz |
8027db946 |
2026-06-20 | Add runtimeVersion utilities and refactor |
e7a05fa98 |
2026-06-20 | Add resolvedSportsCardRookieStatus helper |
c7900c830 |
2026-06-20 | Bump version to 92.0.3 |
b012c9db1 |
2026-06-20 | Add rarity-audit sampling and fresh run support |
1b59ffdc0 |
2026-06-20 | Add SportsRarityRateKey type and use it |
348133bac |
2026-06-20 | Auto-run live rarity scoring on mount |
608fdacbf |
2026-06-20 | Support unique-pack-pulls rarity sampling |
ee3e361f9 |
2026-06-20 | Add rarity audit sampling & SW version bump |
755e1e539 |
2026-06-20 | Add sports arena summary rollups and UI/sim updates |
ebe26c91f |
2026-06-20 | Add 3D pitch flight replay popover |
c694f961f |
2026-06-20 | Use flight popover object & refine 3D camera |
b8c87355f |
2026-06-20 | Add MLB media API and popover media UI |
9853ba6e1 |
2026-06-20 | Add initialWitnessId support; remove empty media |
1f9ab2cb5 |
2026-06-20 | Hide flight replay button by default |
aeba0d7ce |
2026-06-21 | Support live snapshot admission & witness ordering |
97fd2b7c6 |
2026-06-21 | Refactor live feed readiness logic |
ea90f94d2 |
2026-06-21 | Assert declaration order in sports arena test |
453786b19 |
2026-06-21 | Prefer seed over proof for pitch snapshot |
923b09ba9 |
2026-06-21 | Prefer proof over seed; simplify pitch snapshot logic |
ea58948fc |
2026-06-21 | Simplify SportsPitchCommandPopover snapshot logic |
32a77c38e |
2026-06-21 | Separate live and date snapshot reuse timings |
5512a1b77 |
2026-06-21 | Prefer local archived proofs and avoid forced refresh |
b334acef3 |
2026-06-21 | Disable refresh for historical source dates |
cb3cbf550 |
2026-06-21 | Prefer claim truth; add rookie handling |
b1ddda95b |
2026-06-21 | Add historical-date check and accept RECEIZ_APP_URL |
b3e525929 |
2026-06-21 | Support archived day proofs and skip pregame games |
e3478683e |
2026-06-21 | Require final slate for archived pitch proofs |
f5042596a |
2026-06-21 | Add pitch-command day-proof projection and use in UI |
0ecb7dd9c |
2026-06-21 | Add recent-day projection archive & workflow |
49c904eeb |
2026-06-21 | chore: append pitch command day proof archive |
5a5e2bf65 |
2026-06-21 | Add Play Command UI and play proof handling |
b280cd41d |
2026-06-21 | Merge pull request #215 from kojibai/codex/play-command-center |
2f6249d35 |
2026-06-21 | Root cause: the archive workflow committed the pitch proof append as receiz-proof-archive@users.noreply.github.com, which Vercel cannot map to a GitHub account. The append commit happened, but Vercel blocked deployment before the build. |
976354c75 |
2026-06-21 | I found the remaining pressure concentrated in the top five rows: sports_arena_latest_appends_page_v1, |
80bae73da |
2026-06-21 | Implemented the Play Command, event video, exact Pitch proof, cycle milestone, and Derby regression fixes. |
bb018b565 |
2026-06-21 | Changed: - Fixed the live append path so active signed-in Sports Arena views warm MLB appends every visible poll cadence instead of waiting behind the 75-second stale guard. |
10ca90545 |
2026-06-21 | patch lint error |
f5c1515e8 |
2026-06-21 | patched lint error |
259738026 |
2026-06-21 | fixed lint patch |
edd5eae0e |
2026-06-21 | v92.1.0 |
34ba8b72f |
2026-06-22 | The cutoff was coming from the bottom rail being treated as a single-line ticker inside a clipped field panel. |
0ae2d88f9 |
2026-06-22 | I put the ticker-strip motion back and kept the original single-line strip styling. The fix is narrower now: long text gets the duplicate marquee copy again, but the moving track is no longer capped/ellipsized, so the full sentence scrolls through the strip. |
1e7200470 |
2026-06-22 | Found the issue: the card back renderer already knew how to show full bio rows, but the Sports Arena inspector was feeding it live field attributes instead of the card/claim playerBio, and the static MLB first-paint card set was missing that playerBio payload. |
f484e94d0 |
2026-06-22 | You were right: G. Cole was fixed because he was in the first-paint card set, but J. Misiorowski, Chris Sale, and other |
150190dad |
2026-06-22 | Implemented both fixes. |
2769c26ab |
2026-06-22 | Implemented the rare+ value refinement in sportsArenaCardValue.ts and added value contracts in |
9900bfe7f |
2026-06-22 | chore: append pitch command day proof archive |
7add19154 |
2026-06-22 | Fixed it in sportsArenaCardValue.ts. TypeScript inferred selected as literal 55, so assigning other bucket weights failed. I annotated it as number; no runtime value behavior changed. |
143b95d0a |
2026-06-22 | Merge branch 'main' of https://github.com/kojibai/receiz |
25cac2e0f |
2026-06-22 | Fix profile PDFs, Sports proof identity, and twin promotion reads |
26463329a |
2026-06-22 | 92.1.1 Root cause was in app/lib/performanceRoutes.ts: |
f72071c53 |
2026-06-22 | Implemented in full, including the actual public proof Market panel that showed missing when we tested bjklock's real card. |
12f2e797e |
2026-06-22 | Fixed. The value panel no longer treats the seller ask/list price as the deterministic proof value. |
32deef85e |
2026-06-22 | Value basis now starts closed, opens/closes from the pill, and shows the deterministic math for rare+ and base cards. - Rare+ low-score cards are scaled down harder, while live |
dff84f7f5 |
2026-06-22 | value patch one deterministic value projected everywhere |
6776e87ff |
2026-06-22 | You were right. The screenshots were failing evidence, and my prior "fixed" claim was wrong. |
0f37898b0 |
2026-06-22 | patch for value and for play field telemetry |
315e406f0 |
2026-06-22 | patch for deterministic value projection on all card chart surfaces |
2bf491ab4 |
2026-06-22 | Fixed the build error with the smallest patch: sportsArenaPacks.ts |
68ca1b8f0 |
2026-06-22 | patch for logged in value display |
afdc4aa9c |
2026-06-22 | Yes. It was from the slow-query/compact-read split. |
82f1476d1 |
2026-06-22 | made max on chart show full max value through range from isuance |
cb603a1b2 |
2026-06-22 | conformance patch and appends proof objects gets readmitted if not added to event memory |
7cd1c3f45 |
2026-06-23 | I fixed the remount/pressure path surgically. |
15d6b19ab |
2026-06-23 | Current owner says BJ Klock. The J. Miz card is not hidden. The difference from a normal vault card is that J. Miz had a bad no-op provenance row: BJ Klock -> BJ Klock. That came from importing an already-owned card image, which incorrectly created an offline transfer append. |
1f0963b15 |
2026-06-23 | chore: append pitch command day proof archive |
e5c04f57b |
2026-06-23 | The existing client guarded seeded/cached wallet summaries by identity, but trusted the fresh `/api/wallet/me? |
58a484eb4 |
2026-06-23 | Merge branch 'main' of https://github.com/kojibai/receiz |
46d3b690c |
2026-06-23 | Fixed profile PDF inline viewing to use the same documentOriginal media route as live player before falling back to download: [ProfileClient.shared.tsx](/Users/bjklock/Kai- |
77dd663bd |
2026-06-23 | Implemented and verified end to end. The broad contract issue was that the first projection showed only the latest transfer proof; that was truthful but not the full value lineage. I fixed the projector to walk previousCausalProofHash and display the whole card-wrapped proof chain. |
f6d470644 |
2026-06-23 | updated economy view |
3275add98 |
2026-06-23 | update to sports economy page for real data |
c89c2af3e |
2026-06-23 | patched the economy page |
f38d570d6 |
2026-06-23 | - Changed: Opened Pack Inventory and Score Ledger now overlay upward with taller internal scroll areas, instead of pushing t |
9c67e81f7 |
2026-06-23 | Implemented the downloaded Sports card export change. |
4ba99cd81 |
2026-06-23 | lint patch |
c2a3fa8e4 |
2026-06-23 | Implemented and verified. |
25d8b0ce6 |
2026-06-23 | Speed up sports pack opening, Derby rewards, card sends, and verified imports without weakening proof truth. |
c1069f0d2 |
2026-06-23 | Merge pull request #216 from kojibai/Speed-up-sports-pack-opening,-Derby-rewards,-card-sends,-and-verified-imports-without-weakening-proof-truth |
5b1fa1dd4 |
2026-06-24 | Added a compact Pitch Command cycler in PitchCommandConsole.tsx: previous pitch, LIVE, next pitch. Review mode uses existing selected-witness state; live mode still follows newest verified witness appends. Added responsive styling in pitch-command.module.css. Strengthened the contract in pitchCommandContract.test.ts. |
b07f7bae9 |
2026-06-24 | The bio details were dropped because the logged-in console had drifted into its own card-back projection path. The shared card renderer still supported the full back, and the single-card viewer still used |
15226fa87 |
2026-06-24 | Fixed the logic generically, not hardcoded to Trey Mancini. |
6a54a7533 |
2026-06-24 | chore: append pitch command day proof archive |
c1304ee50 |
2026-06-24 | That was showing three prices because I exposed the internal economics in the buyer UI: $79 customer price, $67 estimated cost, $12 margin. That should not be on the sales surface. |
1c0b4d6e1 |
2026-06-24 | Merge branch 'main' of https://github.com/kojibai/receiz |
5fa0c59c4 |
2026-06-24 | I cleaned it by keying/blending the example images in the /activate stage instead of destructively editing the source PNGs. The cards now fade into the stage with a soft mask, so the rectangular photo backgrounds no longer read as pasted-on blocks. |
0f54ae9f1 |
2026-06-24 | Changed: Fixed the player-bio drop by adding shared per-field bio merging in [sportsArena.ts](/Users/bjklock/Kai- |
4912767c5 |
2026-06-24 | Public/economy were right. Logged-in console was wrong. |
d60ab52bc |
2026-06-24 | For Pete Alonso, this was not a live-score math problem and not primarily a limit. The score path used the shared card matcher, but the event-proof popover |
55541e1ce |
2026-06-24 | lint patch |
bb9344332 |
2026-06-24 | 92.1.3 |
a4cf3e5af |
2026-06-24 | Changed: Patched economy, slate, lock, and conformance upload value paths. |
648aa62d6 |
2026-06-24 | Double-play RBI fix & live-field pitch snapshot |
2fedac08a |
2026-06-24 | Prefer representative single-card value |
9430bbd1 |
2026-06-25 | Add visible-card live appends and paging |
258e16af7 |
2026-06-25 | Extract projectSportsCardProofMemory and use in console |
ba519dace |
2026-06-25 | Add issuedAtMs and deterministic market-cap chart |
d500981e8 |
2026-06-25 | chore: append pitch command day proof archive |
a3347d0b3 |
2026-06-25 | Revert "Add issuedAtMs and deterministic market-cap chart" |
5fd626793 |
2026-06-25 | Merge branch 'main' of https://github.com/kojibai/receiz |
3aa3141fa |
2026-06-25 | Stabilize representative value and issue labels |
23332bb92 |
2026-06-25 | Sports arena: single-game commit + DB indexes |
71a32617e |
2026-06-25 | Good. The RPC migration is live and the signatures match the route code. |
f7f638af5 |
2026-06-25 | Add RPC for user-live game appends |
pnpm release:lock 93.0.0 must require this document for v93.0.0 and later release cuts. A release that omits commit history is incomplete because the v92.0.0..f7f638af5 implementation boundary would not be explicit release truth.