Hoops Card DB

2016-17 Threads

Base set 
200 cards · checklist
Parallels 
53 · 8 on the base set
Released 
May 17, 2017

licensed (NBA)

  • G-002 BECKETT WAS NOT READ AND ITS PAGE FOR THIS PRODUCT PROVABLY EXISTS, SO THIS IS A NAMED HOLE RATHER THAN AN ABSENCE. A web search surfaced a Beckett result titled "2016-17 Panini Threads Basketball Checklist, Release Date" at https://www.beckett.com/news/2016-17-panini-threads-basketball-returns-to-hobby-shops/ plus three further Beckett URLs for this product. Per CAV-033 beckett.com has 302-redirected every request to a maintenance page since at least 2026-09-20 across seventeen products, so no Beckett URL was fetched and the search-result TITLE is cited here as a title only, never as evidence of anything. Consequence stated plainly: the third structural source this catalogue historically leaned on is unavailable, so "two sources" on this release means cardboardconnection plus tcdb or plus Panini's own blog, never Beckett. Re-open when Beckett returns; its news page is the single most likely place to find an independent third statement of the May 17 date.
  • G-004 base_set_size=200 AGAINST A PARENT HEADER OF 287, AND THE 87-CARD DIFFERENCE IS THREE NAMED SETS - EXTRACTION_SPEC 5.3 EXCLUSION APPLIED. Cards 201-287 are Leather Rookies (201-230, 30), Wood Rookies (231-254, 24) and Micro Etch Rookies (255-287, 33); 30+24+33=87 and 200+87=287 reconciles the header exactly. All three are filed in sets.csv and flagged in their notes rather than gapped, per EXTRACTION_SPEC 5.5 and the two reversals it records. CAV-045 WAS RUN: the rows past the base run were opened and their flag column read, and it renders ONLY "RC" - no AU and no MEM anywhere - so this is NOT the impeccable-bkb-2016-17 hidden-autograph-block shape and the exclusion rests on the two-lineage boundary proof and the repeating roster rather than on a flag. CONVENTION DIVERGENCE INSIDE THIS CATALOGUE, NAMED NOT SMOOTHED: contenders-bkb-2019-20 (base_set_size=165) and contenders-bkb-2021-22 (165) INCLUDE an autograph block filed past the base run, while this release, contendersoptic-bkb-2019-20 (100), contenders-bkb-2020-21 (100), contenders-bkb-2022-23 (100), contenders-bkb-2023-24 (100) and this line's own threads-bkb-2018-19 (base_set_size=100 under a parent of 220, excluding a 120-card jersey SP block) EXCLUDE it. This release follows the exclusion rule and agrees with its own line. Nothing in either release row tells a consumer which convention it is under; that is the repair this row records.
  • G-005 card_count UNIT DISAGREEMENT ON Team Threads Die Cuts, DECOMPOSED RATHER THAN PICKED. cardboardconnection prints ONE section "### Team Threads Die-Cuts Set Checklist" with "100 cards" (https://www.cardboardconnection.com/2016-17-panini-threads-basketball-cards). tcdb files TWO sets: sid 152975 "Team Threads Die Cuts", header "Total Cards: 60", 60 rows over span 1-60 complete and self-consistent, and sid 152976 "Team Threads Rookie Die Cuts", header "Total Cards: 40", 40 rows over span 1-40 complete. 60+40=100 EXACTLY, so cardboardconnection's 100 is two products added together - EXTRACTION_SPEC 5.4 unit 1 (parallel-tier lines) in a new form: two SETS merged rather than tiers summed. 60 and 40 are written as two rows. THE CONFIRMATION IS NOT FULLY INDEPENDENT: sportscardchecklist also lists them as 60 and 40 (https://www.sportscardchecklist.com/sport-basketball/year-2016-17/index-panini-threads/trading-card-checklists-and-product-information) but its counts match tcdb exactly on all 76 of its entries including tcdb's own odd figures (37, 27, 29, 67), which is a shared-upstream signature, so the decomposition rests on tcdb's two rendered pages plus arithmetic, not on two lineages.
  • G-006 CAV-044 REPRODUCED ON Rookie Signage: tcdb'S BASE PAGE IS THREE ROWS SHORT OF ITS OWN PARALLELS AND THE HEADER AGREES WITH THE SHORT PAGE. sid 152980 states "Total Cards: 37" and renders 37 numbers over span 1-40, omitting 5, 7 and 21 - which read off that page alone is three unissued interior numbers, and the header corroborating the short count makes it look settled. It is not. Its Century Proof Gold parallel (https://www.tcdb.com/Checklist.cfm/sid/152981/2016-17-Panini-Threads-Rookie-Signage-Century-Proof-Gold?PageIndex=1&sort=0&v=2) states "Total Cards: 40", renders all 40 numbers with no gap, and renders card 5 Patrick McCaw, card 7 Tyler Ulis and card 21 Caris LeVert explicitly, each flagged "AU, SN10"; the Century Proof Platinum parallel also states 40 and renders 40. cardboardconnection independently states "40 cards". So those three numbers ARE issued, the base page is short, and card_count=40 is written. WHAT THIS ADDS TO CAV-044: here the PARENT-SIDE header agreed with the short rendering rather than contradicting it, so the internal-consistency check that usually flags a problem passed. Only opening the parallel caught it.
  • G-007 FOUR SET-SCOPE "Prime" TIERS ARE PER-CARD VARIABLE AND THE SCHEMA CANNOT HOLD THEM - THE FIFTH-CONSECUTIVE-SEASON EXPRESSIVENESS GAP, WITH THE REAL VALUES RECORDED HERE. Each was swept over EVERY row of a complete page, never sampled: Authentic Threads Prime (sid 152984, 37 rows over span 1-40, header 37) = {"MEM, SN10" x36, "MEM, SN5" x1 - Chris Paul, card 39}, confirmed on a second differently-varied fetch (https://www.tcdb.com/ViewSet.cfm/sid/152984/threads-authentic-threads-prime-probe renders the same two-token set and quotes card 39 back as "MEM, SN5"); Century Collection Materials Prime (sid 152964, 27 rows, span 1-30 with 2, 12 and 22 absent, header 27) = {"MEM, SN10" x25, "MEM, SN5" x1, "MEM, SN1" x1}; Debut Threads Prime (sid 152967, 29 rows, span 1-30 with 26 absent, header 29) = {"MEM, SN25" x28, "MEM, SN5" x1}; Materials Prime (sid 152959, 67 rows, span 1-70 with 32, 49 and 58 absent, header 67) = {"MEM, SN10" x66, "MEM, SN2" x1 - Chris Paul, card 66}. All four are written print_run=UNKNOWN / serial_numbered=UNKNOWN per EXTRACTION_SPEC 2.3, which forbids the modal token. A print_run_basis column, or permitting serial_numbered=yes with print_run=UNKNOWN, would convert this spend into recorded fact. NOTE THE STRUCTURAL SURPRISE: the 2016-17 scope memo 7.5 generalisation says variability concentrates in the BASE TIERS OF AUTOGRAPH SETS, and on this release it is 0 of 6 autograph-set tiers and 4 of 4 memorabilia Prime tiers - a different location for the same phenomenon, and the generalisation as worded does not predict it.
  • G-008 SIX SETS CARRY THEIR OWN PRINT RUN AND sets.csv HAS NOWHERE TO PUT IT (EXTRACTION_SPEC 2.2) - THE FIGURES ARE RECORDED HERE IN WORDS SO THEY ARE NOT LOST. All from complete-page row-level sweeps. UNIFORM: Century Collection Materials (sid 152963) renders "MEM, SN99" on all 30 of 30 rows, and cardboardconnection independently states "Serial numbered #/99"; Team Threads Die Cuts Autographs (sid 152977) renders "AU, SN99" on all 20 of 20, cardboardconnection "Serial numbered #/99"; Team Threads Rookie Die Cuts Autographs (sid 152978) renders "AU, SN199" on all 33 of 33, cardboardconnection "Serial numbered #/199". PER-CARD VARIABLE: Signage (sid 152971) distinct token set over all 30 rows = {"AU, SN99" x15, "AU, SN49" x9, "AU, SN75" x2} and cardboardconnection independently states the cards are "#/ 99," "#/ 49," or "#/ 75" - an exact three-for-three agreement between two lineages; Rookie Signage (sid 152980) = {"AU, SN199", "AU, SN299"} against cardboardconnection's "#/ 199," "#/10," or "#/ 299", where the #/10 is the Century Proof Gold parallel and not a base-page run; NBA Legends Ink (sid 152968) = {SN99, SN49, SN59, SN10, SN69} against cardboardconnection's "#/ 99," "#/ 59," "#/ 49," or "#/ 10". THAT LAST ONE IS A REAL DISAGREEMENT: tcdb renders SN69, which cardboardconnection does not carry at all, and cardboardconnection carries #/10 where tcdb's base page shows SN10 on one row. Neither is written into any structured field. None of these six is a parallel tier, so none belongs in parallels.csv.
  • G-009 CHANNEL IS UNKNOWN WITH AN EMPTY channel_basis ON ALL 45 SET-SCOPE PARALLELS, AND THAT IS A DECISION, NOT AN OMISSION. This product has unusually rich first-party channel evidence: Panini America states "Look for additional hobby-only inclusions such as Red, Holofoil, Gold and Platinum parallels..." and "Retail inserts and Century Proof Dazzle parallels are available across all retail configurations, but unique color variations (Blue, Green and Orange) are exclusive to each individual SKU." (https://blog.paniniamerica.net/the-panini-america-quality-control-gallery-2016-17-threads-basketball-100-pics/). Both sentences are about the BASE-SET Century Proof tiers and the rookie blocks. Neither names an insert set's tier. EXTRACTION_SPEC 2.3 forbids promoting a product-level note onto tiers it does not cover, and migrations/003_parallels.sql enforces (channel = 'UNKNOWN') = (channel_basis IS NULL), so basis is EMPTY rather than "unsupported". The eight BASE-scope rows DO carry a channel, sourced per tier from those sentences. What would close this: a sell sheet or a pack-odds sheet naming the channel of the insert-set Century Proof tiers. channel_sku is empty everywhere for a related reason - Panini says the three Dazzle colour variations are "exclusive to each individual SKU" without naming which SKU gets which colour.
  • G-010 A THREE-WAY COLOUR-NAME DISAGREEMENT ON THE BASE DAZZLE TIERS, AND IT COST A channel_basis DOWNGRADE. Panini America, first-party, names the three SKU-exclusive retail colour variations "Blue, Green and Orange" (https://blog.paniniamerica.net/the-panini-america-quality-control-gallery-2016-17-threads-basketball-100-pics/). tcdb catalogues Century Proof Dazzle Green (sid 152887), Dazzle Orange (152889) and Dazzle PURPLE (152890) and carries no Blue at any scope in this release. cardboardconnection also says Purple: "CENTURY PROOF PARALLELS: Dazzle, Holo, Red #/199, Dazzle Orange #/25, Dazzle Green #/15, Dazzle Purple #/15, Gold #/10, Platinum 1/1." (https://www.cardboardconnection.com/2016-17-panini-threads-basketball-cards). Two of three lineages say Purple, so "Century Proof Dazzle Purple" is the name written. But identifying Panini's "Blue" WITH that tier would be an inference, so Panini's per-SKU exclusivity claim was NOT applied to it: Dazzle Purple carries channel_basis=sourced-presence off the broader retail clause in the same sentence, while Dazzle Green and Dazzle Orange - which Panini names explicitly - carry sourced-exclusive. Unresolved: whether Panini's copy is simply wrong about the colour, or whether a Blue variant exists that no catalogue carries.
  • G-011 parallel_family WAS DERIVED BY AST-LIFTING family_of() FROM pipeline/fix_schema.py AND NO ENTRY WAS ADDED, AS INSTRUCTED - AND THE DERIVATION SPLITS ONE VISUAL SYSTEM ACROSS THREE FAMILIES. This release's parallels are a single named system, "Century Proof", in eight finishes. family_of() returns "Holo" for Century Proof Holo (6 rows), "Platinum" for Century Proof Platinum (9 rows) and "other" for the remaining 38 - Dazzle, Dazzle Green, Dazzle Orange, Dazzle Purple, Red, Gold and Prime. So a consumer grouping this release by parallel_family sees three groups where the product has one, and the two non-"other" groups are the two tiers whose names happen to contain an existing pattern. The derived values are written anyway and nothing was minted. THIS IS THE CAV-021 QUESTION AND THE CAV-039 QUESTION AT ONCE, and this line is already the worst case for both: threads-bkb-2018-19 carries 93 hand-written values ("Dazzle", "Premium") that family_of() cannot reproduce - the largest such block in the corpus - so 2016-17 Threads and 2018-19 Threads now answer "what family is this?" by two different methods for the same brand. A "Century Proof" family would fix this release and split that one; the decision has to move whole lines together and is not an agent decision.
  • G-013 THE SID BLOCK 152886-152984 IS INTERLEAVED WITH FOREIGN PRODUCTS AND ONE OF THEM IS ANOTHER 2016-17 BASKETBALL PRODUCT - A NEW TRAP, FROM THE INTERIOR RATHER THAN THE BOUNDARY. Inserts.cfm enumerated 75 child sids (8 Parallel Sets + 67 Insert Sets) leaving two numeric gaps, 152934-152949 and 152951-152958, and EXTRACTION_SPEC requires probing them. Four of those 24 gap sids were probed and NONE is a Threads set: 152934 = "1889 Wm S. Kimball & Co. Ballet Queens (N182)" (Non-Sport, 50 cards); 152944 = "2016-17 Panini Instant NBA - Purple" (basketball, 2016-17, 426 cards); 152951 = "2017 Finest - Refractor" (baseball, 125); 152955 = "2017 Finest - Gold Refractor" (baseball, 125). 152944 IS THE HAZARD: a DIFFERENT 2016-17 NBA product sitting inside this product's own sid gap, which is the Kobe/2K17 three-way collision the scope memo 7.2 records at a block BOUNDARY, now reproducing in the INTERIOR. BOTH OUTER BOUNDARIES WERE ALSO PROVED: 152885 = "1990-91 Upper Deck - Hockey Superstars Holograms/Stickers" (hockey, 9 cards) and 152985 = "2015 Grandstand Savannah Sand Gnats" (baseball, 36) - and neither rendered the tcdb home page, so both are real foreign sets rather than non-existent sids. ALSO A REFUTATION OF THIS SEASON'S OWN MEMO: scope memo 7.1 reports the parent FAR from its children on 4 of 4 parents measured (3,257 / 5,751 / 1,232 / 3,268 sids). Here the parent is 152880 and its first child is 152886 - SIX sids away. Inserts.cfm was still used as the enumeration; the point is that "far from its children" is not a property of the season. 20 of the 24 gap sids remain unprobed, which is what keeps this row open.
  • G-015 THE THREE ROOKIE BLOCKS HAVE NO tcdb SET PAGE, SO THEIR NAMES REST ON TWO NON-tcdb SOURCES AND THE TWO DISAGREE ON SPELLING. Neither tcdb nor sportscardchecklist carries a set page for Leather Rookies, Wood Rookies or Micro Etch Rookies; the cards exist only as rows 201-287 of the parent checklist. The names written come from cardboardconnection's section headings ("Leather Rookies Set Checklist", "Wood Rookies Set Checklist", "Micro Etch Rookies Set Checklist", https://www.cardboardconnection.com/2016-17-panini-threads-basketball-cards) and are corroborated in substance by Panini America ("two hobby-exclusive Leather Rookies", "a 30-card Leather Rookies insert set", "retail-only chases, including Wood Rookie Cards and Micro-Etch Rookie Cards"). THE SPELLINGS DIFFER: Panini writes "Micro-Etch" hyphenated and "Wood Rookie Cards" / "Leather Rookie Cards" in the singular-possessive form; cardboardconnection writes "Micro Etch" and "Wood Rookies". cardboardconnection's forms are written because it is the source that also supplies the card ranges, but a resolver matching on the manufacturer's own string will miss them. Card-level rows for all three are a CHASE_CHECKLIST_SPEC pass, not this one.
  • G-017 THREADS IS NOT AT ITS FLOOR AND NO FLOOR IS CLAIMED. The 2016-17 scope memo 3a measures Threads present in tcdb's 2015-16 index (sid 126637) and its 2014-15 index (sid 109294), so at least two seasons run below this one. Panini America's own blog adds a first-party statement that pushes the line much deeper and is worth recording verbatim because it is the kind of sentence the STUDIO LESSON says a floor needs: "In fact, one week from tomorrow, a Threads Basketball product will arrive in hobby shops across North America for the first time since the 2012-13 season." and "Following a two-year run as a Target-exclusive retail release, Panini America's popular Threads Basketball franchise is readying for a proud hobby comeback." (https://blog.paniniamerica.net/the-panini-america-quality-control-gallery-2016-17-threads-basketball-100-pics/). Those two sentences together date the Target-exclusive retail run to roughly 2014-15 and 2015-16 and put a hobby Threads product at 2012-13 or earlier. So the line runs to at least 2012-13 and the depth below that is unmeasured. NO floor is claimed for threads by this build, and none should be inferred from the seasons present in data/.
  • G-018 STRUCTURAL REVERSAL AGAINST BOTH ADJACENT SEASONS OF THIS LINE, STATED PLAINLY BECAUSE IT IS THE "DO NOT INHERIT" RULE PAYING OFF. data/threads-bkb-2017-18 is base_set_size=100 under a parent of 100 with 3 sets, 9 parallels and a RETAIL-ONLY (Target) channel, and it wrote release_date=UNKNOWN after eight sources. data/threads-bkb-2018-19 is base_set_size=100 under a parent of 220 with 23 sets and 97 parallels, hobby absent, three retail formats plus an online Premium Edition. THIS release is base_set_size=200 under a parent of 287, 26 sets, 53 parallels, a HOBBY product with a retail wing, and a resolved date. Every one of those is different from both neighbours. Three specific inheritances that would have been wrong: (a) base_set_size 100 - it is 200 here; (b) the parallel vocabulary - both siblings use "Dazzle"/"Premium"/"Prime" tier names while this season uses "Century Proof <finish>" and carries no Premium tier at all; (c) the channel - 2017-18 is Target retail-only and this season is Panini's own "proud hobby comeback". The 2017-18 sibling was read for QUESTIONS only, as instructed, and supplied one useful one: it was the reason the parent was checked for a numbered block past the base run at all.

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