Skip to content

History / Data Layer

Revisions

  • Record PR #272: TCGplayer ids TCGdex lacks are derived from TCGCSV Data Layer §4.5 update note, Contribution Record line, and the Decision Log regenerated from decisions/ (pnpm decisions:wiki). On-Behalf-Of: @cheyras Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

    @cheyras cheyras committed Oct 2, 2026
  • Record 30th Classic artwork sources and verified branding On-Behalf-Of: @cheyras Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

    @cheyras cheyras committed Sep 21, 2026
  • Document verified price recovery and 30th Celebration release On-Behalf-Of: @cheyras Co-Authored-By: Codex (GPT-5.6 Sol) <noreply@anthropic.com>

    @cheyras cheyras committed Sep 20, 2026
  • Document administration tiers, feature controls and AI usage Synchronize the owner guide, architecture, security boundaries, UI conventions and decision record with app commit 8f44c4b6. Live release verification remains separate. On-Behalf-Of: @cheyras Co-Authored-By: GPT-6 <noreply@anthropic.com>

    @cheyras cheyras committed Sep 15, 2026
  • Document administration, roles and configurable AI credits Add the owner guide and synchronize architecture, schema, frontend, MCP and decision records for DeckPal PR188. Production schema and payment verification remain pending. On-Behalf-Of: @cheyras Co-Authored-By: Codex in-session worker <noreply@anthropic.com>

    @cheyras cheyras committed Sep 13, 2026
  • Sync wiki: Project Holo 2c (parts 1 and 2) card-art re-sourcing Decision-Log: snapshot both 2026-08-31 DECISIONS.md entries (PR #150's pkmn.gg-surface retirement, and the pokemontcg.io re-sourcing execution). Data-Layer: image-source section now reflects the executed reality (pokemontcg.io adopted, 1,417 assets re-sourced, 495 deleted, 952-card published no-art list) instead of the pre-decision research state. UI-Spec: notes the pkmnDark -> deckpalDark root class rename. Contribution- Record: one ledger row per work session (2c part 1 and 2c part 2). On-Behalf-Of: @cheyras Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MExGVHFfAsqf2HDAhG2wAa

    @cheyras cheyras committed Sep 1, 2026
  • prices-cardmarket: the job now reports what it wrote, and what production showed The write path was correct all along — proved against a real Postgres and then on the live database (28,490 EUR observations inserted, read back, persisting; three-week-stale EUR prices current again). The real defect was that the job reported its intentions rather than its results, so `sync_run` could not be used as evidence about it. Records the fix, and the still-unexplained loss of fifteen nights of EUR rows with its strong candidate: price_observation cascades from card_variant, which holds 41,471 rows against a maximum id of 154,037. On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @cheyras cheyras committed Aug 30, 2026
  • Price retention tiers on production: 2.374 GiB -> 0.495 GiB, and the two production-only defects 23 months rolled oldest-first against the live database with every verification exact. Records the measured reclaim, and the two things no local harness could model: Supabase's 2-minute statement_timeout on the database role, and a PWA serving the previous bundle against the new response shape — bump the SW API cacheName on every shape change, and never let a chart throw on a point it cannot place. Also moves the Contribution Record footer back below the last ledger line, where the 2026-08-29 entry had landed above it. On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @cheyras cheyras committed Aug 30, 2026
  • Price history tiered retention: Data-Layer §4.7, the decision, the ledger Daily price rows forever are ~6.6 GB/year against an 8 GB allowance. Records the tiers (daily ~30d / weekly ~6mo / monthly forever), the measurements behind OHLC-not-close, the verify-before-delete order, and the two guards an adversarial review added: RLS on every partition, and a refusal to roll up a month with days nobody ingested. On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @cheyras cheyras committed Aug 29, 2026
  • Card art sourcing: TCGplayer ruled out too; the replacement search is finished Data-Layer 5.3a and the Decision Log now record the outcome rather than an open question. pkmn.gg and TCGplayer images are both ruled out -- the latter because its Terms forbid automated collection outside the API, the API Terms bar redistribution to end users, and new API access is not granted, so there is no compliant route rather than an unattractive one. The 403-to-automated-fetch caveat is recorded, since the finding rests on search summaries rather than the primary text and that limit should travel with it. pokemontcg.io is the surviving candidate at 88 of 592; 504 cards have no approved source and are documented in research/card-art-residue.json rather than chased. Notes the reusable lesson: four independent catalogs lack the same trainer kits, which is evidence the scans are not public rather than that nobody looked. On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqQ2pWdA2FAhXPjsooPy7K

    @cheyras cheyras committed Aug 26, 2026
  • Card art: direct object URLs, cloud warm path, and the 2026-08-26 measurements Architecture: the SPA no longer goes through the image function for art that is already in the bucket; records why a HIT was never free (invocation + Storage probe before the 302) and that the proxied path remains the fallback. Also corrects the "no manifest row is a FAIL" description, which was a permanent placeholder for 585 cards. Data-Layer 5.3a: the cloud tier had no bulk warmer at all -- the disk warmers cannot reach it and storage:backfill only mirrors a disk cache -- so the bucket held only what someone had looked at (18,840 of 21,066 cards missing). warm:cloud is that path now. Frontend-Research C.2a: the SW route matches two origins, the image cache is deckpal-img-v2, and the rename is load-bearing because v1 held opaque responses the browser pads against the origin quota. Decision Log + Contribution Record: the full entry with before/after figures. Both the Decision Log and Data-Layer note that pkmn.gg is ruled out as a source on the owner's decision, so warm:pkmn is not the route for the remaining 592 cards and should not be reached for on the next gap either. On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VqQ2pWdA2FAhXPjsooPy7K

    @cheyras cheyras committed Aug 26, 2026
  • Sync the wiki, and correct a page that described branch work as shipped Brings Architecture, Decision Log and the Contribution Record in line with the 2026-08-22 work on `decke-agent` (PR #74, open): the approval `signature` bug that broke every approved write once DECKE_APPROVAL_SECRET was set, the round trip extracted into a testable module, the narration transform's move, search_cards no longer grounding a guessed set id, and the chat model switch. Twelve DECISIONS entries appended verbatim -- this page is a snapshot, not a rewrite. The correction that mattered most was to our OWN previous sync. MCP Setup said the 23 tools "are defined once, in the packages/agent-tools workspace package". That package does not exist on origin/main. It is branch-only work from PR #74, and the 2026-08-21 sync wrote it up as current behaviour -- so a reader following that page would have gone looking in a directory that is not there, and Deck-E in production has its own separate tool set rather than a share of the MCP registry. The page now says what is true today and names the pending PR without claiming it. Everything new is marked as branch-only for the same reason. Nothing here describes the collection-write path as working, because it does not: the model will not call `log_cards` at all, which is recorded plainly rather than omitted. Two older pages get a banner instead of a rewrite. Data Layer and Frontend Research §D sized a single-user Raspberry Pi deployment that the project abandoned for Vercel + Supabase the same week they were finished. Their measurements are captioned with the command that produced them, so they are left as measured and the banner says which sections are still evidence and which describe a plan that was dropped. A dated measurement rewritten to a current number stops being evidence. Also: removed an orphaned mid-file footer from Decision Log and the Contribution Record, each left behind by an earlier sync that appended below it, so both pages now carry exactly one and a reader scanning for the date gets the right one. TypeScript's entry corrected to 7.0.2. Home was checked against the files on disk and the AGENTS.md inventory and left alone. Dex Data, Prior Art, Project Brief and UI Spec were checked and deliberately not touched -- Project Brief is historical by designation, and UI Spec already carries its own supersession notice. On-Behalf-Of: @cheyras Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

    @cheyras cheyras committed Aug 22, 2026
  • Rename the product to DeckPal Follows the repo rename: DeckScout → DeckPal, deckscout.io → deckpal.app, and the MCP server rotom-mcp → deckpal-mcp.

    @cheyras cheyras committed Aug 15, 2026
  • docs: initialize DeckScout wiki with design docs and attribution system Pages: Home, Architecture, Data-Layer, Frontend-Research, Dex-Data, UI-Spec, Prior-Art (merged with raw scan), Project-Brief, Decision-Log (snapshot), Contribution-Record (attribution ledger). All content authored from current (homelab-stripped) repo sources. Every page carries an agent+human attribution footer. On-Behalf-Of: @cheyras Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0136MZx8gJRZn4ET9ieof6bt

    @cheyras cheyras committed Aug 9, 2026