Hoops Card DB

2018-19 Contenders

Base set 
100 cards · checklist
Parallels 
73 · 15 on the base set
Released 
December 26, 2018

licensed (NBA)

  • G-001 CONVENTION DIVERGENCE UNDER SECTION 5.3, RECORDED NOT RESOLVED. This release writes base_set_size=100 and files the Rookie Ticket autograph block (parent checklist cards 101-145, every row flagged with the literal tokens "AU, RC") as two separate auto sets, applying the spec's exclusion rule. TWO EXISTING RELEASES IN THIS CATALOGUE DISAGREE, and both are in this same line: data/contenders-bkb-2019-20/release.csv carries base_set_size=165 with 165 rows in base_cards.csv (card_number 1 to 165, card_type values 'base' and 'rookie-auto'), and its notes read "cards 101-145 are the hobby Rookie Season Ticket cards, which are on-card AUTOGRAPHS (the brand's Rookie Ticket Autograph chase); cards 146-165 are Rookie Season Ticket Stickers". data/contenders-bkb-2021-22/release.csv likewise carries base_set_size=165 with 165 base_cards rows and card_type values 'base' and 'rookie-auto'. The other four Contenders releases exclude: 2020-21=100, 2022-23=100, 2023-24=100, and every contendersoptic season=100. WHAT 2018-19 ADDS, AS THE EARLIEST SEASON OF THE LINE: the 2018-19 structure is the SAME structure the two 165 releases describe - one continuous parent checklist whose veteran base run ends at 100 and whose Rookie Ticket autographs continue from 101 - and yet here the block CANNOT be carried as base cards at all, because tcdb renders its numbers as "101a" and "101b" (a plain and a photo-variation row for each of the 45 rookies) and cards.card_number is INTEGER NOT NULL per migrations/002_core_entities.sql. The earliest season of the family therefore has no 165-style reading available to it even in principle. That is evidence the 165 figure is a per-agent judgement call about one continuous numbering, not a deliberate house convention for the Contenders line: a real convention would have to survive the season where the numbering is alphanumeric, and it does not. Additional evidence in the same direction: the 2018-19 rookie block also carries no sticker-autograph tail (2019-20's 146-165), so 165 is not a stable family figure either. Recommended repair, for a human to gate: 2019-20 and 2021-22 move to base_set_size=100 with their 101-165 rows re-filed as auto sets, matching 2018-19, 2020-21, 2022-23, 2023-24 and all of contendersoptic. NEITHER RELEASE WAS EDITED BY THIS BUILD. Evidence: https://www.tcdb.com/Checklist.cfm/sid/188543/2018-19-Panini-Contenders?PageIndex=2 ; https://www.tcdb.com/Gallery.cfm/sid/188543/2018-19-Panini-Contenders?PageIndex=19&sort=0 ; https://www.checklistcenter.com/2018-19-panini-contenders-basketball/
  • G-002 CHANNEL UNRESOLVED ON ALL 73 PARALLEL ROWS. Every row carries channel=UNKNOWN with an EMPTY channel_basis, which migrations/003_parallels.sql requires as the pair. This is a deliberate refusal, not an omission. The only channel-bearing quote found anywhere in this pass is product-level: Steel City Collectibles' blaster box page renders "Look for Blaster Exclusive Parallels!" and "Find 2 Blaster Exclusive Parallels and 5 inserts per box, on average!" - establishing that blaster-exclusive parallels exist in this product while naming none of them. Attaching it to a tier would be the exact inference section 1.5 forbids. A second, weaker lead was found and NOT written: a web search result titled "2018-19 Panini Contenders Game Ticket Blaster Exclusive Red Basketball #28 Chris Paul Houston Rockets Official NBA Trading Card By Panini" on amazon.com, whose product page could not be fetched (robots.txt disallows it), so the title was never read on a page I opened. If it is confirmed it would make Game Ticket Red channel=blaster with channel_sku blaster, and by family the other three Game Ticket colours are the obvious candidates. For contrast, data/contenders-bkb-2019-20 asserts the Game Ticket tiers are retail-only for its own season. Evidence: https://www.steelcitycollectibles.com/i/2018-19-panini-contenders-basketball-5ct-blaster-box ; https://www.amazon.com/Panini-Contenders-Exclusive-Basketball-Official/dp/B0857KMX65 [REVIEWED 2026-08-19: still open; 73 of 73 parallels lack a sourced channel.]
  • G-003 INSERTS.CFM NOTES COLUMN DOES NOT CARRY PRINT RUNS ON THIS PARENT. The briefing and section 3.2 record that Inserts.cfm renders a per-set Notes column carrying the print run, measured on the 2018-19 Prizm parent (sid 188541), where one fetch returned "Serial numbered to 299" and similar for all 37 base parallels. On the 2018-19 Contenders parent (sid 188543) the same column carries IMAGE-COMPLETION PERCENTAGES instead - "0.3% of images added", "71.0% of images added", "87.0% of images added" - for all 64 insert rows and all 15 parallel rows, with several rows blank. Confirmed on two differently-varied URLs (bare, and with ?x=1). So the largest documented fetch saving on this project is PARENT-DEPENDENT in its CONTENT as well as in its truncation, and on this parent it returned zero print runs. Consequence for the budget: all 73 print runs here were obtained by probing tier sids individually plus one calibrated aggregator, not from the Notes column. A blank Notes cell on THIS parent is not a discriminative signal for unnumbered and must not be read as one. Evidence: https://www.tcdb.com/Inserts.cfm/sid/188543/2018-19-Panini-Contenders ; https://www.tcdb.com/Inserts.cfm/sid/188543/2018-19-Panini-Contenders?x=1
  • G-004 SECTION 5.5 MIRROR CONFIRMED ON THIS LINE. tcdb files "2018-19 Panini Contenders Update I: Historic Rookie Season Ticket" (sid 605152) and ten Update I parallel subsets (sids 605153-605162) INSIDE the 2019-20 Panini Contenders parent (sid 216974), not inside the 2018-19 parent. The set page title renders as "2019-20 Panini Contenders - 2018-19 Panini Contenders Update I: Historic Rookie Season Ticket", "Total Cards: 2", rows HST-JEM Joel Embiid "AU" and HST-RML Reggie Miller "AU". It is listed in this release's sets.csv and flagged, per the section 5.5 addendum. IT IS ABSENT FROM data/contenders-bkb-2019-20/sets.csv as well, so before this build it was catalogued in neither release - a cross-season coverage hole, not merely a filing question. A human should decide which release owns it; this build did not touch the 2019-20 directory. Note this block does NOT rescue any unissued base number, because the 2018-19 base run 1-100 is already contiguous with no unissued number to rescue. Evidence: https://www.tcdb.com/Inserts.cfm/sid/216974/2019-20-Panini-Contenders ; https://www.tcdb.com/ViewSet.cfm/sid/605152/2018-19-Panini-Contenders-Update-I-Historic-Rookie-Season-Ticket
  • G-005 PRINT RUNS FOR THE TEN 2018-19 CONTENDERS UPDATE I PARALLEL SUBSETS (tcdb sids 605153, 605154, 605155, 605156, 605157, 605158, 605159, 605160, 605161, 605162, filed under the 2019-20 parent) were not probed and no parallel rows were written for that scope. Their names are rendered: Historic Rookie Championship Ticket, Historic Rookie Cracked Ice Ticket, Historic Rookie Playoff Ticket, Historic Rookie Season Ticket Premium Edition, Historic Rookie Season Ticket Premium Edition Gold, Historic Rookie Season Ticket Printing Plate Black, Cyan, Magenta and Yellow, and Historic Rookie The Finals Ticket. Evidence: https://www.tcdb.com/Inserts.cfm/sid/216974/2019-20-Panini-Contenders
  • G-006 CARD COUNT CONTESTED - MVP Contenders Autographs. tcdb renders "Total Cards: 9" and nine rows, enumerated and counted by hand rather than taken from the page's own total as section 3.2 requires: MVP-DLL Damian Lillard, MVP-GAN Giannis Antetokounmpo, MVP-JEM Joel Embiid, MVP-KAT Karl-Anthony Towns, MVP-KDR Kevin Durant, MVP-KIV Kyrie Irving, MVP-KLN Kawhi Leonard, MVP-NJK Nikola Jokic, MVP-SCY Stephen Curry. checklistcenter states "10 Cards - Serial Numbered #/199 or as Noted". sets.csv carries 9, the count I could verify row by row. value not resolved. Evidence: https://www.tcdb.com/ViewSet.cfm/sid/194886/2018-19-Panini-Contenders-MVP-Contenders-Autographs?x=1 ; https://www.checklistcenter.com/2018-19-panini-contenders-basketball/
  • G-007 CARD COUNT CONTESTED - Sophomore Contenders Autographs. tcdb renders "Total Cards: 7" and seven rows, enumerated and counted by hand: SC-DAF De'Aaron Fox, SC-DBK Dillon Brooks, SC-FNK Frank Ntilikina, SC-JIS Jonathan Isaac, SC-JTT Jayson Tatum, SC-LBL Lonzo Ball, SC-ZQI Zhou Qi. checklistcenter states "9 Cards - Serial Numbered #/199 or as Noted". sets.csv carries 7. value not resolved. Note the two contested counts both run the same direction (aggregator higher than tcdb) on the two smallest autograph sets, which is the shape of an aggregator header over-counting its own list - section 3.3 records that pattern - but it is equally the shape of tcdb not having catalogued two cards. Evidence: https://www.tcdb.com/ViewSet.cfm/sid/194905/2018-19-Panini-Contenders-Sophomore-Contenders-Autographs?x=1 ; https://www.checklistcenter.com/2018-19-panini-contenders-basketball/
  • G-008 TWO PARALLEL TIERS CLAIMED BY ONE SOURCE AND RENDERED BY NEITHER OTHER, NOT WRITTEN. checklistcenter lists a "Retail" parallel for both Hall of Fame Contenders and Most Valuable Contenders. tcdb's Inserts.cfm renders 64 insert subsets for this parent, four of which are Retail tiers (Front Row Seat Retail 194860, Lottery Ticket Retail 194882, Rookie of the Year Contenders Retail 194896, Superstar Die Cuts Retail 194912) and NONE of which is a Hall of Fame Contenders Retail or a Most Valuable Contenders Retail. The four tcdb does render were each probed and each renders no serial token. No row was written for the two claimed tiers. Evidence: https://www.tcdb.com/Inserts.cfm/sid/188543/2018-19-Panini-Contenders ; https://www.checklistcenter.com/2018-19-panini-contenders-basketball/
  • G-009 PRINTING PLATE GRANULARITY UNRESOLVED FOR THE TWO BLOCK SCOPES. checklistcenter lists "Printing Plates 1/1" as a single line for both its Rookie Ticket Auto Set and its Rookie Ticket Variation Auto Set, while tcdb splits plates into four colour subsets. For the base scope tcdb's four Season Ticket Printing Plates sids were each probed and four rows were written. For the two block scopes I could not establish from any source I fetched which plate colours cover cards 101-145 or whether the plain and variation rows each have their own plate, so NO plate rows were written under scope "Rookie Ticket Autographs" or "Rookie Ticket Variation Autographs". The tiers exist; their granularity is unsourced. Evidence: https://www.checklistcenter.com/2018-19-panini-contenders-basketball/ ; https://www.tcdb.com/Inserts.cfm/sid/188543/2018-19-Panini-Contenders
  • G-010 TCDB HAS NOT CATALOGUED EVERY PRINTING PLATE ROW. The parent renders 190 rows; the four base Season Ticket Printing Plates subsets render headers "Total Cards: 187" (Black, sid 194839), "Total Cards: 187" (Cyan, 194840), "Total Cards: 186" (Magenta, 194841) and "Total Cards: 187" (Yellow, 194842). Three different shortfalls against the same parent, so this is incomplete cataloguing on tcdb's side rather than a real difference in coverage. It does not affect the written print run, which is measured as the literal token "SN1" on the rows themselves, but it does mean no plate subset can be used to size anything. Evidence: https://www.tcdb.com/ViewSet.cfm/sid/194839/2018-19-Panini-Contenders-Season-Ticket-Printing-Plates-Black ; https://www.tcdb.com/ViewSet.cfm/sid/194841/2018-19-Panini-Contenders-Season-Ticket-Printing-Plates-Magenta
  • G-011 THE PARENT HEADER'S "Total Cards: 145" IS A THIRD UNIT AGAIN. It equals neither the base set size (100) nor the rendered row count (190): it counts DISTINCT CARD NUMBERS across the base run and the excluded autograph block, because the 45 block numbers each render twice (plain and "VAR"). Section 3.2 warns that Total Cards counts different things on different lines; this release adds the specific case where a photo-variation block makes rendered rows exceed distinct numbers by 45. Anyone sizing the base set off this header would have written 145. Evidence: https://www.tcdb.com/ViewSet.cfm/sid/188543/2018-19-Panini-Contenders ; https://www.tcdb.com/Gallery.cfm/sid/188543/2018-19-Panini-Contenders?PageIndex=20&sort=0
  • G-012 HEADER SCHEMA CONFLICT BETWEEN MY TASK PROMPT AND THE SPEC, RESOLVED IN FAVOUR OF THE SPEC. The task prompt required headers byte-identical to data/contenders-bkb-2019-20/*.csv. That release's parallels.csv header has 22 columns and is missing channel_confidence, channel_evidence_url and channel_evidence_quote, which section 2.3 lists as part of the live 25-column schema and which data/prizm-bkb-2018-19 (the season pilot built one day ago) and data/contendersoptic-bkb-2019-20 both carry. This release writes the 25-column spec header. The other four files are byte-identical to both references. Three Contenders releases are on the short header - 2019-20, 2020-21 and 2021-22 - and are candidates for a schema-fill pass; none was touched by this build. [REVIEWED 2026-08-19: still open; 73 of 73 parallels lack a sourced channel.]
  • G-013 BASE PRINT RUN IS ASSUMED, NOT SOURCED. base_print_run=unnumbered with basis=assumed. No source states in words that the Season Ticket base cards carry no serial numbering. The evidence is strong and indirect and section 2.1 names exactly this case: tcdb prints a literal serial token on the parallel rows of this very set - "SN199", "SN135", "SN99", "SN49", "SN25", "SN10", "SN1" - and prints no token on any of the 100 base rows, on Checklist.cfm and on Gallery.cfm pages 8, 9 and 10 alike. That is good evidence and it is still not a statement, so basis is assumed. Evidence: https://www.tcdb.com/Checklist.cfm/sid/188543/2018-19-Panini-Contenders?PageIndex=1 ; https://www.tcdb.com/Gallery.cfm/sid/188543/2018-19-Panini-Contenders?PageIndex=10&sort=0
  • G-014 RELEASE DATE RESTS ON TWO SOURCES AND BECKETT COULD NOT BE REACHED FOR A THIRD. tcdb's parent page renders "Release Date: December 26, 2018" and checklistcenter renders "December 26, 2018". Neither labels it an estimate, so 2018-12-26 is written rather than UNKNOWN. beckett.com/news' 2018-19 Contenders page 302-redirects to beckett-maintenance-page.s3.amazonaws.com, the seventh consecutive pass on which Beckett has been unreachable, and cardboardconnection.com - the scope memo's single source for every 2018-19 date - refused this environment with a robots.txt error on every attempt, so the memo's own date for this product could not be re-read. Evidence: https://www.tcdb.com/ViewSet.cfm/sid/188543/2018-19-Panini-Contenders ; https://www.checklistcenter.com/2018-19-panini-contenders-basketball/ ; https://www.beckett.com/news/2018-19-panini-contenders-basketball-cards/
  • G-015 FORTY-THREE OF THE 73 PRINT RUNS REST ON ONE SOURCE FOR THE FIGURE - 35 insert-scope rows and 8 block-scope rows. Their EXISTENCE is sourced to tcdb, which renders each insert-scope tier as its own subset with its own sid under the parent's "Insert Sets (64)" heading, and each block-scope tier as a subset under "Parallel Sets (15)" whose header states "Total Cards: 190" and which therefore demonstrably extends past the 100-card base run; the NUMBER in both cases is checklistcenter's. Those rows carry source_confidence=single. The other 30 rows - all 15 base-scope tiers, 11 insert-scope and 4 block-scope - carry a figure measured as a literal tcdb flag token on the tier's own rows and are marked multi. Calibration was run before relying on the aggregator, per section 3.3: checklistcenter was tested on 23 print runs that tcdb's rendered tokens also answer and agreed on all 23, including three cases where its BLANK annotation matched tcdb rendering no token at all. That is a strong calibration and it is still one source per figure. Note also that checklistcenter and cardboardconnection are not independent of each other per section 5.4, and cardboardconnection was unreachable here, so no second aggregator was consulted at all. Evidence: https://www.checklistcenter.com/2018-19-panini-contenders-basketball/ ; https://www.tcdb.com/Inserts.cfm/sid/188543/2018-19-Panini-Contenders
  • G-016 ONE TCDB SID CARRIES TWO SCOPES WITH DIFFERENT PRINT RUNS, WHICH THE SCHEMA HANDLES ONLY BECAUSE SCOPE IS A COLUMN. Six of the parent's parallel subsets state "Total Cards: 190" and therefore span both the 100-card base run and the excluded 101-145 block, with a different figure in each half. Measured on Playoff Ticket (sid 194836): "SN199" on rows 1-12 and 91-100, "AU, SN65" on the plain block rows and "AU, SN35, VAR" on the variation block rows, all from the same sid. Three rows are therefore written for that one sid under three scopes. Anyone reading a sid as one tier with one run would get two of the three wrong. Evidence: https://www.tcdb.com/Gallery.cfm/sid/194836/2018-19-Panini-Contenders-Playoff-Ticket?PageIndex=10&sort=0 ; https://www.tcdb.com/Gallery.cfm/sid/194836/2018-19-Panini-Contenders-Playoff-Ticket?PageIndex=11&sort=0
  • G-017 SET-LEVEL PRINT RUNS CANNOT BE STORED AND ARE RECORDED IN WORDS ONLY, per section 2.2. Four autograph sets are serial numbered at set level with a per-card variable figure: Legendary Contenders Autographs renders "AU, SN199" and "AU, SN99" on different rows; MVP Contenders Autographs renders "AU, SN199", "AU, SN188" and "AU, SN183"; Sophomore Contenders Autographs renders "AU, SN99", "AU, SN199" and "AU, SN49"; Up and Coming Contenders Autographs renders "AU, SN199". Both Rookie Ticket Swatches Autographs sets render "AU, MEM, SN10" uniformly. None of these figures is a parallel tier, so none is in parallels.csv, and sets.csv has no print_run column, so they live in notes as words. Evidence: https://www.tcdb.com/ViewSet.cfm/sid/194875/2018-19-Panini-Contenders-Legendary-Contenders-Autographs ; https://www.tcdb.com/ViewSet.cfm/sid/194901/2018-19-Panini-Contenders-Rookie-Ticket-Swatches-Autographs-Hobby
  • G-018 THE FETCH LAYER INVENTED GLOSSES FOR FLAG TOKENS ON THIS PASS, AS SECTION 3.3 WARNS. Three instances were caught and none reached the data. A Gallery fetch returned the token list plus the expansion "VAR: Different image on front"; a ViewSet fetch returned "AU (autograph), MEM (memorabilia/swatch), and SN10 (serial numbered to 10)"; a third returned "AU indicating autograph status". Only the literal tokens actually observed - AU, RC, MEM, VAR, SN1, SN10, SN25, SN35, SN49, SN65, SN99, SN135, SN183, SN188 and SN199 - were recorded anywhere in this release. Two figures written here, 15 and 20 (Historic Rookie Cracked Ice Ticket and Rookie Ticket Variation Cracked Ice Ticket), were NOT observed as tcdb tokens and come from checklistcenter alone, as the single-source gap records. A fourth artefact, a fetch describing the page's rating widget as "Rating is listed as TBA", was likewise not written into any field. Evidence: https://www.tcdb.com/Gallery.cfm/sid/188543/2018-19-Panini-Contenders?PageIndex=19&sort=0 ; https://www.tcdb.com/ViewSet.cfm/sid/194903/2018-19-Panini-Contenders-Rookie-Ticket-Swatches-Autographs-Retail
  • G-019 SCOPE MEMO SECTION 1 TRAP MET AND NOT ABSORBED. The 2018 season index renders three Contenders products: "2018-19 Panini Contenders" (sid 188543, this release), "2018-19 Panini Contenders Optic" (sid 206591) and "2018 Panini Contenders Draft Picks" (sid 178771). The draft-pick product of this season is Contenders Draft Picks, not Prizm Draft Picks, exactly as the memo warns, and it is a separate product that is NOT absorbed here. Contenders Optic 2018-19 is likewise separate and is not in data/ under any name - the memo's section 6 addendum lists Contenders Optic as missing from 2019-20 through 2023-24 but does not list the 2018-19 one, which tcdb indexes with its own parent sid. A single insert inside this release, Contenders Optic Preview (sid 194856, 100 cards), previews that product and is recorded as an insert of THIS release only; a copy check confirmed it is not the base run renamed. Evidence: https://www.tcdb.com/ViewAll.cfm/sp/Basketball/year/2018 ; https://www.tcdb.com/ViewSet.cfm/sid/194856/2018-19-Panini-Contenders-Contenders-Optic-Preview
  • G-020 NO UNISSUED NUMBERS IN THIS BASE RUN, AND BOTH FALSE-POSITIVE TESTS WERE STILL RUN. Cards 1-100 render contiguously with no skipped number, cross-read two ways: Checklist.cfm?PageIndex=1 renders 1 through 73 and Gallery.cfm pages 8, 9 and 10 render 71-80, 81-90 and 91-100, with 71, 72 and 73 appearing in both renderings with identical players and teams. The parallel-set test that reversed the 2021-22 card 111 conclusion was run anyway: the base-scope parallel sids that state "Total Cards: 100" (Conference Finals Ticket 194830 and the four Game Ticket colours) are consistent with a 100-card run with nothing skipped. The next-season Update test that reversed the 2022-23 card 125 conclusion was also run and DID find a 2018-19 Update block under the 2019-20 parent - see the section 5.5 gap - but it holds two lettered autographs, HST-JEM and HST-RML, not a missing base number. Evidence: https://www.tcdb.com/Checklist.cfm/sid/188543/2018-19-Panini-Contenders?PageIndex=1 ; https://www.tcdb.com/ViewSet.cfm/sid/194830/2018-19-Panini-Contenders-Conference-Finals-Ticket
  • G-021 ROOKIE FLAG IS A WITHIN-SID POSITIVE DISCRIMINATIVE TEST, NOT A DEFAULT. Every base row is written rookie_flag=no because the same renderer that prints the literal token "RC" on all 90 rows of the 101-145 block prints no token on any of the 100 base rows, on both Checklist.cfm and Gallery.cfm. That is the strongest form of the test named in section 6. The temporal check (section 4.3) agrees: the entire 2018 rookie class - Ayton, Doncic, Young, Bagley, Jackson Jr. and the rest - sits in the block, and the base run is veterans and earlier draft classes only. Evidence: https://www.tcdb.com/Checklist.cfm/sid/188543/2018-19-Panini-Contenders?PageIndex=2 ; https://www.tcdb.com/Gallery.cfm/sid/188543/2018-19-Panini-Contenders?PageIndex=9&sort=0
  • G-022 INSERT AND AUTOGRAPH CARD-LEVEL CHECKLISTS ARE OUT OF SCOPE FOR THIS PASS and no insert_cards.csv was written, per the spec's opening paragraph. The two sibling releases data/contenders-bkb-2019-20 and data/contenders-bkb-2021-22 both carry an insert_cards.csv from a later chase pass, so this release will look thinner than its siblings until CHASE_CHECKLIST_SPEC.md is run over it. Prefix inventory measured here for that pass: Historic Rookie Season Ticket HST- ; Legendary Contenders LC- ; MVP Contenders MVP- ; Sophomore Contenders SC- ; Up and Coming UC- ; Rookie Ticket Swatches RT- ; Rookie Ticket Dual Swatches RD- . Evidence: https://www.tcdb.com/ViewSet.cfm/sid/194867/2018-19-Panini-Contenders-Historic-Rookie-Season-Ticket ; https://www.tcdb.com/ViewSet.cfm/sid/194897/2018-19-Panini-Contenders-Rookie-Ticket-Dual-Swatches

If you know a source that answers one of these, tell us — name the question's label and where to look.

Draft — sourced but not independently verified. How this catalogue is built