@instruments/taxonomy 1.9.0 → 1.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  export declare const RETRIEVAL_LEXICON_SOURCE = "colour-material lexicon in a materials-retrieval system (src-05)";
2
- export declare const COLORSCOPE_CROSSOVER_SOURCE = "materialinstruments/colorscope@c0662caabe7cd8604241a8a7b2608fa5bc71de51:packages/core/data/reference/v1/taxonomy.json";
2
+ export declare const COLORSCOPE_CROSSOVER_SOURCE = "materialinstruments/colorscope@5feb29b267a7954c135976ede8039f37121afd27:packages/core/data/reference/v1/taxonomy.json";
3
3
  export declare const BRASS_MATERIAL_SOURCE = "https://archive.copper.org/applications/industrial/DesignGuide/terms.php";
4
4
  export declare const BRASS_FINISH_SOURCE = "https://nickelinstitute.org/media/lxxh1zwr/2023-nickelplatinghandbooka5_printablepdf.pdf section 5";
5
5
  export declare const NICKEL_MATERIAL_SOURCE = "https://nickelinstitute.org/en/nickel-applications/";
package/dist/index.js CHANGED
@@ -1396,7 +1396,7 @@ var ELEMENT_TERMS = [
1396
1396
 
1397
1397
  // src/crossover-sources.ts
1398
1398
  var RETRIEVAL_LEXICON_SOURCE = "colour-material lexicon in a materials-retrieval system (src-05)";
1399
- var COLORSCOPE_CROSSOVER_SOURCE = "materialinstruments/colorscope@c0662caabe7cd8604241a8a7b2608fa5bc71de51:packages/core/data/reference/v1/taxonomy.json";
1399
+ var COLORSCOPE_CROSSOVER_SOURCE = "materialinstruments/colorscope@5feb29b267a7954c135976ede8039f37121afd27:packages/core/data/reference/v1/taxonomy.json";
1400
1400
  var BRASS_MATERIAL_SOURCE = "https://archive.copper.org/applications/industrial/DesignGuide/terms.php";
1401
1401
  var BRASS_FINISH_SOURCE = "https://nickelinstitute.org/media/lxxh1zwr/2023-nickelplatinghandbooka5_printablepdf.pdf section 5";
1402
1402
  var NICKEL_MATERIAL_SOURCE = "https://nickelinstitute.org/en/nickel-applications/";
@@ -7140,7 +7140,10 @@ var PRODUCT_CATEGORY_TERMS = [
7140
7140
  "textile",
7141
7141
  "Textile",
7142
7142
  "A woven, knitted or non-woven fabric supplied by the length or hide for upholstery, drapery or acoustic use.",
7143
- { external: [uniclass2("Pr_35_57_88", "Textiles", "exact")] }
7143
+ {
7144
+ altLabels: ["fabric"],
7145
+ external: [uniclass2("Pr_35_57_88", "Textiles", "exact")]
7146
+ }
7144
7147
  ),
7145
7148
  fromCorpus(
7146
7149
  "coating",
@@ -11756,8 +11759,8 @@ var resolveReference = (reference) => INDEX.byKey.get(canonicalKey(reference));
11756
11759
 
11757
11760
  // src/v1.ts
11758
11761
  var TAXONOMY_BASE_URI = "https://taxonomy.materialinstruments.com";
11759
- var TAXONOMY_SNAPSHOT = "2026-09-27";
11760
- var TAXONOMY_VERSION = "1.9.0";
11762
+ var TAXONOMY_SNAPSHOT = "2026-10-02";
11763
+ var TAXONOMY_VERSION = "1.10.1";
11761
11764
  var PUBLISHED_V1_BASELINE = "2026-08-30";
11762
11765
  var TAX45_REVIEW_SNAPSHOT = "2026-08-31";
11763
11766
  var LIMESTONE_INTRODUCED = "2026-09-01";
@@ -12037,7 +12040,7 @@ var WALNUT_MATERIAL = {
12037
12040
  uri: `${TAXONOMY_BASE_URI}/id/material/walnut`
12038
12041
  };
12039
12042
  var WALNUT_COLOUR = {
12040
- ...colorScope("brown-grayish-walnut", NAMED_COLOR_REFERENCE_KIND),
12043
+ ...colorScope("walnut", NAMED_COLOR_REFERENCE_KIND),
12041
12044
  role: "secondary"
12042
12045
  };
12043
12046
  var ordered = (path, role) => ({
@@ -12061,9 +12064,10 @@ var HIERARCHY_REVIEW_LIFECYCLE = {
12061
12064
  };
12062
12065
  var AMBIGUITY_GOVERNANCE = "Taxonomy preserves the governed readings without assigning a default, role, contextual preference, or consumer route.";
12063
12066
  var ORDERED_READING_GOVERNANCE = "The two readings are deliberately separate; the default records trade usage and does not merge the concepts.";
12067
+ var TAX_1_9_0_DATE = "2026-09-27";
12064
12068
  var TAXONOMY_SNAPSHOT_LIFECYCLE = {
12065
- introducedAt: TAXONOMY_SNAPSHOT,
12066
- reviewedAt: TAXONOMY_SNAPSHOT,
12069
+ introducedAt: TAX_1_9_0_DATE,
12070
+ reviewedAt: TAX_1_9_0_DATE,
12067
12071
  status: "active"
12068
12072
  };
12069
12073
  var TAX57_DATE4 = "2026-09-26";
@@ -12081,7 +12085,7 @@ var REVIEW_LIFECYCLE = {
12081
12085
  status: "active"
12082
12086
  };
12083
12087
  var REVIEW_SOURCE9 = "everyday-interiors vocabulary review";
12084
- var COLORSCOPE_INSTALLED = "@instruments/colorscope 7.6.0 data/reference/v1/taxonomy.json";
12088
+ var COLORSCOPE_INSTALLED = "@instruments/colorscope 9.4.0 data/reference/v1/taxonomy.json";
12085
12089
  var reviewedTaxonomy = (path) => ({
12086
12090
  authority: "taxonomy",
12087
12091
  uri: `${TAXONOMY_BASE_URI}/id/${path}`
@@ -12105,6 +12109,30 @@ var referencedCrossover = (phrase, taxonomyPath, colorScopeIdentifier, explanati
12105
12109
  ...additionalReadings
12106
12110
  ]
12107
12111
  });
12112
+ var WOOD_HANDBOOK5 = "USDA Wood Handbook (2021), chapter 2";
12113
+ var colorscope940Crossover = (phrase, taxonomyPath, colorScopeIdentifier, explanation, definitionSource, additionalReadings = []) => ({
12114
+ explanation,
12115
+ governance: lexicalGovernance(
12116
+ AMBIGUITY_GOVERNANCE,
12117
+ {
12118
+ basis: "referenced",
12119
+ snapshot: TAXONOMY_SNAPSHOT,
12120
+ source: `${definitionSource}; ${COLORSCOPE_INSTALLED} concept ${colorScopeIdentifier}`
12121
+ },
12122
+ {
12123
+ introducedAt: TAXONOMY_SNAPSHOT,
12124
+ reviewedAt: TAXONOMY_SNAPSHOT,
12125
+ status: "active"
12126
+ }
12127
+ ),
12128
+ outcome: "ambiguous",
12129
+ phrase,
12130
+ readings: [
12131
+ reviewedTaxonomy(taxonomyPath),
12132
+ colorScope(colorScopeIdentifier, NAMED_COLOR_REFERENCE_KIND),
12133
+ ...additionalReadings
12134
+ ]
12135
+ });
12108
12136
  var crossoverAmbiguity = (phrase, taxonomyUri, colorScopeIdentifier, explanation, source, additionalTaxonomyUris = []) => ({
12109
12137
  explanation,
12110
12138
  governance: lexicalGovernance(
@@ -12227,14 +12255,14 @@ var AUTHORED_LEXICAL_ENTRIES = [
12227
12255
  crossoverAmbiguity(
12228
12256
  "alabaster",
12229
12257
  `${TAXONOMY_BASE_URI}/id/material/alabaster`,
12230
- "cream-soft-cream-white",
12231
- "Alabaster can name decorative gypsum stone or an explicit ColorScope alias for Cream White; neither reading establishes the other.",
12232
- crossoverSource("alabaster")
12258
+ "alabaster",
12259
+ "Alabaster can name decorative gypsum stone or the ColorScope named colour Alabaster; neither reading establishes the other.",
12260
+ `${crossoverSource("alabaster")}; @instruments/colorscope 9.4.0 id "alabaster", family cream, matching the retired "cream-soft-cream-white" reading's cream family`
12233
12261
  ),
12234
12262
  crossoverAmbiguity(
12235
12263
  "brass",
12236
12264
  `${TAXONOMY_BASE_URI}/id/material/brass`,
12237
- "yellow-warm-brass",
12265
+ "brass",
12238
12266
  "Brass can name a copper-zinc alloy, an exposed applied brass finish, or a ColorScope named colour; none establishes either of the others.",
12239
12267
  crossoverSource("brass"),
12240
12268
  [`${TAXONOMY_BASE_URI}/id/finish/treatment/brass`]
@@ -12242,105 +12270,105 @@ var AUTHORED_LEXICAL_ENTRIES = [
12242
12270
  crossoverAmbiguity(
12243
12271
  "bronze",
12244
12272
  `${TAXONOMY_BASE_URI}/id/material/bronze`,
12245
- "brown-mid-bronze",
12273
+ "bronze",
12246
12274
  "Bronze can name a copper-alloy family or a ColorScope named colour; the unmodified word does not identify a specific composition.",
12247
12275
  crossoverSource("bronze")
12248
12276
  ),
12249
12277
  crossoverAmbiguity(
12250
12278
  "chrome",
12251
12279
  `${TAXONOMY_BASE_URI}/id/finish/treatment/chrome`,
12252
- "gray-pale-chrome",
12280
+ "chrome",
12253
12281
  "Chrome can name a metallic chromium coating or a ColorScope named colour; it is not silently normalized to chromium as a material.",
12254
12282
  crossoverSource("chrome")
12255
12283
  ),
12256
12284
  crossoverAmbiguity(
12257
12285
  "cherry",
12258
12286
  `${TAXONOMY_BASE_URI}/id/material/cherry`,
12259
- "red-warm-cherry-red",
12260
- "Cherry can name timber or an explicit ColorScope alias for Cherry Red; the common name does not prove species or colour.",
12261
- crossoverSource("cherry")
12287
+ "cherry",
12288
+ "Cherry can name timber or the ColorScope named colour Cherry; the common name does not prove species or colour.",
12289
+ `${crossoverSource("cherry")}; @instruments/colorscope 9.4.0 id "cherry", family red, matching the retired "red-warm-cherry-red" reading's red family`
12262
12290
  ),
12263
12291
  crossoverAmbiguity(
12264
12292
  "chestnut",
12265
12293
  `${TAXONOMY_BASE_URI}/id/material/chestnut`,
12266
- "brown-warm-chestnut",
12294
+ "chestnut",
12267
12295
  "Chestnut can name timber or a ColorScope named colour; neither reading proves species, construction, or appearance.",
12268
12296
  crossoverSource("chestnut")
12269
12297
  ),
12270
12298
  crossoverAmbiguity(
12271
12299
  "clay",
12272
12300
  `${TAXONOMY_BASE_URI}/id/material/clay`,
12273
- "orange-warm-clay",
12301
+ "clay",
12274
12302
  "Clay can name a fine-grained earthy material or a ColorScope named colour; the word alone proves neither firing nor appearance.",
12275
12303
  crossoverSource("clay")
12276
12304
  ),
12277
12305
  crossoverAmbiguity(
12278
12306
  "copper",
12279
12307
  `${TAXONOMY_BASE_URI}/id/material/copper`,
12280
- "brown-mid-copper",
12308
+ "copper",
12281
12309
  "Copper can name a metal or a ColorScope named colour; colour resemblance does not establish copper content.",
12282
12310
  crossoverSource("copper")
12283
12311
  ),
12284
12312
  crossoverAmbiguity(
12285
12313
  "denim",
12286
12314
  `${TAXONOMY_BASE_URI}/id/material/denim`,
12287
- "blue-vivid-denim",
12315
+ "denim",
12288
12316
  "Denim can name a woven fabric construction or a ColorScope named colour; denim need not be blue.",
12289
12317
  crossoverSource("denim")
12290
12318
  ),
12291
12319
  crossoverAmbiguity(
12292
12320
  "ebony",
12293
12321
  `${TAXONOMY_BASE_URI}/id/material/ebony`,
12294
- "black-warm-ebony",
12322
+ "ebony",
12295
12323
  "Ebony can name traded timber or a ColorScope named colour; the trade name does not prove botanical identity or black colour.",
12296
12324
  crossoverSource("ebony")
12297
12325
  ),
12298
12326
  crossoverAmbiguity(
12299
12327
  "gold",
12300
12328
  `${TAXONOMY_BASE_URI}/id/material/gold`,
12301
- "yellow-bright-gold",
12329
+ "gold",
12302
12330
  "Gold can name the metallic element or a ColorScope named colour; appearance does not establish composition or coating.",
12303
12331
  crossoverSource("gold")
12304
12332
  ),
12305
12333
  crossoverAmbiguity(
12306
12334
  "gunmetal",
12307
12335
  `${TAXONOMY_BASE_URI}/id/material/gunmetal`,
12308
- "gray-muted-gunmetal",
12336
+ "gunmetal",
12309
12337
  "Gunmetal can name a casting-alloy family or a ColorScope named colour; grade and appearance remain separate claims.",
12310
12338
  crossoverSource("gunmetal")
12311
12339
  ),
12312
12340
  crossoverAmbiguity(
12313
12341
  "iron",
12314
12342
  `${TAXONOMY_BASE_URI}/id/material/iron`,
12315
- "gray-dark-iron",
12343
+ "iron",
12316
12344
  "Iron can name the metallic element or a ColorScope named colour; the bare word does not settle material form or appearance.",
12317
12345
  crossoverSource("iron")
12318
12346
  ),
12319
12347
  crossoverAmbiguity(
12320
12348
  "jade",
12321
12349
  `${TAXONOMY_BASE_URI}/id/material/jade`,
12322
- "green-mid-jade",
12350
+ "jade",
12323
12351
  "Jade can name an umbrella gem material or a ColorScope named colour; jade is not one mineral and need not be green.",
12324
12352
  crossoverSource("jade")
12325
12353
  ),
12326
12354
  crossoverAmbiguity(
12327
12355
  "linen",
12328
12356
  `${TAXONOMY_BASE_URI}/id/material/linen`,
12329
- "cream-pale-linen",
12357
+ "linen",
12330
12358
  "Linen can name a flax-derived material or a ColorScope named colour; colour does not establish fibre composition.",
12331
12359
  crossoverSource("linen")
12332
12360
  ),
12333
12361
  crossoverAmbiguity(
12334
12362
  "mahogany",
12335
12363
  `${TAXONOMY_BASE_URI}/id/material/mahogany`,
12336
- "brown-dark-mahogany",
12364
+ "mahogany",
12337
12365
  "Mahogany can name commercially grouped timber or a ColorScope named colour; neither reading proves species or appearance.",
12338
12366
  crossoverSource("mahogany")
12339
12367
  ),
12340
12368
  crossoverAmbiguity(
12341
12369
  "nickel",
12342
12370
  `${TAXONOMY_BASE_URI}/id/material/nickel`,
12343
- "gray-muted-nickel",
12371
+ "nickel",
12344
12372
  "Nickel can name a bulk metallic material, an electrodeposited finish, or a ColorScope named colour; the bare word does not select among them.",
12345
12373
  crossoverSource("nickel"),
12346
12374
  [`${TAXONOMY_BASE_URI}/id/finish/treatment/nickel`]
@@ -12348,63 +12376,63 @@ var AUTHORED_LEXICAL_ENTRIES = [
12348
12376
  crossoverAmbiguity(
12349
12377
  "obsidian",
12350
12378
  `${TAXONOMY_BASE_URI}/id/material/obsidian`,
12351
- "black-cool-obsidian",
12379
+ "obsidian",
12352
12380
  "Obsidian can name volcanic glass or a ColorScope named colour; the material is not necessarily black.",
12353
12381
  crossoverSource("obsidian")
12354
12382
  ),
12355
12383
  crossoverAmbiguity(
12356
12384
  "onyx",
12357
12385
  `${TAXONOMY_BASE_URI}/id/material/onyx`,
12358
- "black-warm-onyx",
12386
+ "onyx",
12359
12387
  "Onyx can name commercial architectural stone or a ColorScope named colour; architectural onyx is not necessarily black.",
12360
12388
  crossoverSource("onyx")
12361
12389
  ),
12362
12390
  crossoverAmbiguity(
12363
12391
  "pewter",
12364
12392
  `${TAXONOMY_BASE_URI}/id/material/pewter`,
12365
- "gray-soft-pewter",
12393
+ "pewter",
12366
12394
  "Pewter can name a variable tin-alloy family or a ColorScope named colour; composition and appearance remain separate.",
12367
12395
  crossoverSource("pewter")
12368
12396
  ),
12369
12397
  crossoverAmbiguity(
12370
12398
  "platinum",
12371
12399
  `${TAXONOMY_BASE_URI}/id/material/platinum`,
12372
- "gray-light-platinum",
12400
+ "platinum",
12373
12401
  "Platinum can name a metal or a ColorScope named colour; solid metal, plating, and appearance require separate evidence.",
12374
12402
  crossoverSource("platinum")
12375
12403
  ),
12376
12404
  crossoverAmbiguity(
12377
12405
  "rosewood",
12378
12406
  `${TAXONOMY_BASE_URI}/id/material/rosewood`,
12379
- "red-dark-rosewood",
12407
+ "rosewood",
12380
12408
  "Rosewood can name traded timber or a ColorScope named colour; species and appearance remain separate claims.",
12381
12409
  crossoverSource("rosewood")
12382
12410
  ),
12383
12411
  crossoverAmbiguity(
12384
12412
  "silver",
12385
12413
  `${TAXONOMY_BASE_URI}/id/material/silver`,
12386
- "gray-light-silver",
12414
+ "silver",
12387
12415
  "Silver can name the metallic element or a ColorScope named colour; appearance does not establish elemental silver.",
12388
12416
  crossoverSource("silver")
12389
12417
  ),
12390
12418
  crossoverAmbiguity(
12391
12419
  "slate",
12392
12420
  `${TAXONOMY_BASE_URI}/id/material/slate`,
12393
- "gray-muted-slate",
12394
- "Slate can name dimension stone or a ColorScope named colour; neither reading implies the other.",
12395
- crossoverSource("slate")
12421
+ "slate-gray",
12422
+ "Slate can name dimension stone or the ColorScope named colour Slate Gray; neither reading implies the other.",
12423
+ `${crossoverSource("slate")}; @instruments/colorscope 9.4.0 offers "slate-blue" (family blue) and "slate-gray" (family gray); "slate-gray" decided, matching the retired "gray-muted-slate" reading's gray family`
12396
12424
  ),
12397
12425
  crossoverAmbiguity(
12398
12426
  "steel",
12399
12427
  `${TAXONOMY_BASE_URI}/id/material/steel`,
12400
- "gray-cool-steel",
12428
+ "steel",
12401
12429
  "Steel can name an iron-carbon alloy family or a ColorScope named colour; appearance does not identify a steel grade.",
12402
12430
  crossoverSource("steel")
12403
12431
  ),
12404
12432
  crossoverAmbiguity(
12405
12433
  "stone",
12406
12434
  `${TAXONOMY_BASE_URI}/id/material/stone`,
12407
- "taupe-warm-stone",
12435
+ "stone",
12408
12436
  "Stone can name a specific building material, a retrieval-oriented material family, or a ColorScope named colour; none is a consumer route.",
12409
12437
  crossoverSource("stone"),
12410
12438
  [`${TAXONOMY_BASE_URI}/id/material-family/stone`]
@@ -12412,7 +12440,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
12412
12440
  crossoverAmbiguity(
12413
12441
  "terracotta",
12414
12442
  `${TAXONOMY_BASE_URI}/id/material/terracotta`,
12415
- "orange-mid-terracotta",
12443
+ "terracotta",
12416
12444
  "Terracotta can name a fired-clay material or a ColorScope named colour; firing and composition do not establish orange appearance.",
12417
12445
  crossoverSource("terracotta")
12418
12446
  ),
@@ -12423,7 +12451,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
12423
12451
  {
12424
12452
  basis: "referenced",
12425
12453
  snapshot: REVIEW_DATE12,
12426
- source: `Wikidata Q40089 brick, https://www.wikidata.org/wiki/Q40089; ${COLORSCOPE_INSTALLED} concept red-mid-brick`
12454
+ source: `Wikidata Q40089 brick, https://www.wikidata.org/wiki/Q40089; ${COLORSCOPE_INSTALLED} concept brick`
12427
12455
  },
12428
12456
  REVIEW_LIFECYCLE
12429
12457
  ),
@@ -12431,7 +12459,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
12431
12459
  phrase: "brick",
12432
12460
  readings: [
12433
12461
  reviewedTaxonomy("material/brick"),
12434
- colorScope("red-mid-brick", NAMED_COLOR_REFERENCE_KIND)
12462
+ colorScope("brick", NAMED_COLOR_REFERENCE_KIND)
12435
12463
  ]
12436
12464
  },
12437
12465
  // Colour-material crossovers found by comparing every material label with the installed
@@ -12440,7 +12468,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
12440
12468
  referencedCrossover(
12441
12469
  "porcelain",
12442
12470
  "material/porcelain",
12443
- "white-off-porcelain",
12471
+ "porcelain",
12444
12472
  "Porcelain can name a vitrified ceramic body or a ColorScope named colour; the colour does not establish the body.",
12445
12473
  "ISO 13006:2018; ANSI A137.1",
12446
12474
  PUBLISHED_V1_BASELINE
@@ -12448,7 +12476,7 @@ var AUTHORED_LEXICAL_ENTRIES = [
12448
12476
  referencedCrossover(
12449
12477
  "sand",
12450
12478
  "material/sand",
12451
- "beige-muted-sand",
12479
+ "sand",
12452
12480
  "Sand can name loose mineral grains, a ColorScope named colour, or the beige colour family ColorScope lists it under; none implies another.",
12453
12481
  "ISO 14688-1:2017",
12454
12482
  PUBLISHED_V1_BASELINE,
@@ -12457,30 +12485,173 @@ var AUTHORED_LEXICAL_ENTRIES = [
12457
12485
  referencedCrossover(
12458
12486
  "camel",
12459
12487
  "material/camel-hair",
12460
- "beige-cream-camel",
12488
+ "camel",
12461
12489
  "Camel can name hair from a camel or a ColorScope named colour; the fibre need not be that colour.",
12462
12490
  "Regulation (EU) No 1007/2011 Annex I row 2"
12463
12491
  ),
12464
12492
  referencedCrossover(
12465
12493
  "ash",
12466
12494
  "material/ash",
12467
- "gray-light-ash-gray",
12468
- "Ash can name timber of the genus Fraxinus or an alias of the ColorScope named colour Ash Gray; neither reading implies the other.",
12469
- "USDA Wood Handbook (2021), chapter 2"
12495
+ "ash",
12496
+ "Ash can name timber of the genus Fraxinus or the ColorScope named colour Ash; neither reading implies the other.",
12497
+ `USDA Wood Handbook (2021), chapter 2; @instruments/colorscope 9.4.0 id "ash", family gray, matching the retired "gray-light-ash-gray" reading's gray family`
12470
12498
  ),
12471
12499
  referencedCrossover(
12472
12500
  "eucalyptus",
12473
12501
  "material/eucalyptus",
12474
- "green-grayish-eucalyptus",
12502
+ "eucalyptus",
12475
12503
  "Eucalyptus can name timber of the genus Eucalyptus or a ColorScope named colour; neither reading implies the other.",
12476
12504
  "EN 13556:2003"
12477
12505
  ),
12478
12506
  referencedCrossover(
12479
12507
  "pine",
12480
12508
  "material/pine",
12481
- "green-deep-pine",
12482
- "Pine can name timber of the genus Pinus or a ColorScope named colour; neither reading implies the other.",
12483
- "USDA Wood Handbook (2021), chapter 2"
12509
+ "pine-green",
12510
+ "Pine can name timber of the genus Pinus or the ColorScope named colour Pine Green; neither reading implies the other.",
12511
+ `USDA Wood Handbook (2021), chapter 2; @instruments/colorscope 9.4.0 has no flat "pine" id, so id "pine-green" (family green), matching the retired "green-deep-pine" reading's green family`
12512
+ ),
12513
+ // ColorScope 9.4.0 crossovers, found by re-running the 2026-09-22 comparison against the
12514
+ // installed 9.4.0 release. `chromium` reads against ColorScope's own alias, not a separate
12515
+ // colour: 9.4.0's `chrome` colour carries the alias "Chromium", so the material label collides
12516
+ // with `chrome`'s identity, not with a colour named `chromium`. It is a different phrase from
12517
+ // `chrome` itself, whose two taxonomy readings (a finish and a material) are unrelated to
12518
+ // `material/chromium`.
12519
+ colorscope940Crossover(
12520
+ "granite",
12521
+ "material/granite",
12522
+ "granite",
12523
+ "Granite can name the quarried igneous rock or the ColorScope named colour Granite; neither reading implies the other.",
12524
+ "Wikidata Q41177 granite, https://www.wikidata.org/wiki/Q41177"
12525
+ ),
12526
+ colorscope940Crossover(
12527
+ "sandstone",
12528
+ "material/sandstone",
12529
+ "sandstone",
12530
+ "Sandstone can name the quarried sedimentary rock or the ColorScope named colour Sandstone; neither reading implies the other.",
12531
+ "Wikidata Q13085 sandstone, https://www.wikidata.org/wiki/Q13085"
12532
+ ),
12533
+ colorscope940Crossover(
12534
+ "basalt",
12535
+ "material/basalt",
12536
+ "basalt",
12537
+ "Basalt can name the quarried volcanic rock or the ColorScope named colour Basalt; neither reading implies the other.",
12538
+ "Wikidata Q43338 basalt, https://www.wikidata.org/wiki/Q43338"
12539
+ ),
12540
+ colorscope940Crossover(
12541
+ "soapstone",
12542
+ "material/soapstone",
12543
+ "soapstone",
12544
+ "Soapstone can name the quarried talc-rich rock or the ColorScope named colour Soapstone; neither reading implies the other.",
12545
+ "Wikidata Q707896 soapstone, https://www.wikidata.org/wiki/Q707896"
12546
+ ),
12547
+ colorscope940Crossover(
12548
+ "hemp",
12549
+ "material/hemp",
12550
+ "hemp",
12551
+ "Hemp can name the Cannabis sativa bast fibre or the ColorScope named colour Hemp; neither reading implies the other.",
12552
+ "Wikidata Q13414920 hemp fiber, https://www.wikidata.org/wiki/Q13414920"
12553
+ ),
12554
+ colorscope940Crossover(
12555
+ "rattan",
12556
+ "material/rattan",
12557
+ "rattan",
12558
+ "Rattan can name the climbing-palm stem material or the ColorScope named colour Rattan; neither reading implies the other.",
12559
+ "Wikidata Q323021 rattan, https://www.wikidata.org/wiki/Q323021"
12560
+ ),
12561
+ colorscope940Crossover(
12562
+ "gypsum",
12563
+ "material/gypsum",
12564
+ "gypsum",
12565
+ "Gypsum can name the mineral calcium sulfate dihydrate or the ColorScope named colour Gypsum; neither reading implies the other.",
12566
+ "EN 13279-1:2008"
12567
+ ),
12568
+ colorscope940Crossover(
12569
+ "cement",
12570
+ "material/cement",
12571
+ "cement",
12572
+ "Cement can name the hydraulic binder or the ColorScope named colour Cement; neither reading implies the other.",
12573
+ "EN 197-1:2011"
12574
+ ),
12575
+ colorscope940Crossover(
12576
+ "carbon black",
12577
+ "material/carbon-black",
12578
+ "carbon-black",
12579
+ "Carbon black can name the pigment and reinforcing filler or the ColorScope named colour Carbon Black; neither reading implies the other.",
12580
+ "CAS Registry 1333-86-4"
12581
+ ),
12582
+ colorscope940Crossover(
12583
+ "titanium white",
12584
+ "material/titanium-dioxide",
12585
+ "titanium-white",
12586
+ "Titanium white can name the titanium dioxide pigment or the ColorScope named colour Titanium White; neither reading implies the other.",
12587
+ "CAS Registry 13463-67-7"
12588
+ ),
12589
+ colorscope940Crossover(
12590
+ "chromium",
12591
+ "material/chromium",
12592
+ "chrome",
12593
+ 'Chromium can name the metallic element or the ColorScope named colour Chrome, of which "Chromium" is an alias; neither reading implies the other.',
12594
+ "CAS Registry 7440-47-3"
12595
+ ),
12596
+ // `shell` and `seashell` are one material term (`material/shell`) with two label forms, and
12597
+ // 9.4.0 gives each its own, different colour: `shell` collides with Shell Pink, `seashell` with
12598
+ // the separate colour Seashell. Two phrases, not one, because the two labels now resolve to two
12599
+ // different colours.
12600
+ colorscope940Crossover(
12601
+ "shell",
12602
+ "material/shell",
12603
+ "shell-pink",
12604
+ "Shell can name the mollusc-shell material or the ColorScope named colour Shell Pink; neither reading implies the other.",
12605
+ "Wikidata Q213096 seashell, https://www.wikidata.org/wiki/Q213096"
12606
+ ),
12607
+ colorscope940Crossover(
12608
+ "seashell",
12609
+ "material/shell",
12610
+ "seashell",
12611
+ "Seashell can name the mollusc-shell material or the ColorScope named colour Seashell; neither reading implies the other.",
12612
+ "Wikidata Q213096 seashell, https://www.wikidata.org/wiki/Q213096"
12613
+ ),
12614
+ colorscope940Crossover(
12615
+ "cashmere",
12616
+ "material/cashmere",
12617
+ "cashmere",
12618
+ "Cashmere can name the goat-hair fibre or the ColorScope named colour Cashmere; neither reading implies the other.",
12619
+ "Regulation (EU) No 1007/2011 Annex I row 2"
12620
+ ),
12621
+ colorscope940Crossover(
12622
+ "hickory",
12623
+ "material/hickory",
12624
+ "hickory",
12625
+ "Hickory can name timber of the genus Carya or the ColorScope named colour Hickory; neither reading implies the other.",
12626
+ WOOD_HANDBOOK5
12627
+ ),
12628
+ colorscope940Crossover(
12629
+ "pear",
12630
+ "material/pear",
12631
+ "pear",
12632
+ "Pear can name timber of Pyrus communis or the ColorScope named colour Pear; neither reading implies the other.",
12633
+ WOOD_HANDBOOK5
12634
+ ),
12635
+ colorscope940Crossover(
12636
+ "pecan",
12637
+ "material/carya-illinoinensis",
12638
+ "pecan",
12639
+ "Pecan can name timber of Carya illinoinensis or the ColorScope named colour Pecan; neither reading implies the other.",
12640
+ WOOD_HANDBOOK5
12641
+ ),
12642
+ colorscope940Crossover(
12643
+ "cedar",
12644
+ "material/cedar",
12645
+ "cedar",
12646
+ "Cedar can name softwood traded as cedar or the ColorScope named colour Cedar; neither reading implies the other.",
12647
+ WOOD_HANDBOOK5
12648
+ ),
12649
+ colorscope940Crossover(
12650
+ "redwood",
12651
+ "material/redwood",
12652
+ "redwood",
12653
+ "Redwood can name timber of Sequoia sempervirens or the ColorScope named colour Redwood; neither reading implies the other.",
12654
+ WOOD_HANDBOOK5
12484
12655
  ),
12485
12656
  // Quartz and melamine each name two materials in one word, and the trade uses the word for one
12486
12657
  // of them first: `quartz` is the engineered surfacing before the mineral, `melamine` the faced
@@ -12543,10 +12714,11 @@ var AUTHORED_LEXICAL_ENTRIES = [
12543
12714
  phrase: "plaster",
12544
12715
  target: reviewedTaxonomy("material/plaster")
12545
12716
  },
12546
- crossoverEquivalent(
12717
+ crossoverAmbiguity(
12547
12718
  "cotton",
12548
12719
  `${TAXONOMY_BASE_URI}/id/material/cotton`,
12549
- "Cotton has one governed material reading in this corpus; fibre identity does not establish weave, blend, dye, or finish, and ColorScope 7.3 has no exact named-colour identity.",
12720
+ "cotton",
12721
+ "Cotton can name the plant fibre or the ColorScope named colour Cotton; fibre identity does not establish weave, blend, dye, or finish, and neither reading implies the other.",
12550
12722
  crossoverSource("cotton")
12551
12723
  ),
12552
12724
  crossoverTaxonomyAmbiguity(
@@ -12567,16 +12739,18 @@ var AUTHORED_LEXICAL_ENTRIES = [
12567
12739
  "Wood names both a retrieval-oriented material family and a specific lignocellulosic material; neither reading establishes species, construction, stain, oil, or coating, and ColorScope 7.3 has no exact named-colour identity.",
12568
12740
  crossoverSource("wood")
12569
12741
  ),
12570
- crossoverEquivalent(
12742
+ crossoverAmbiguity(
12571
12743
  "jute",
12572
12744
  `${TAXONOMY_BASE_URI}/id/material/jute`,
12573
- "Jute has one governed material reading in this corpus; construction, blend, treatment, and colour remain unspecified, and ColorScope 7.3 has no exact named-colour identity.",
12745
+ "jute",
12746
+ "Jute can name the plant bast fibre or the ColorScope named colour Jute; construction, blend, treatment, and colour remain unspecified, and neither reading implies the other.",
12574
12747
  crossoverSource("jute")
12575
12748
  ),
12576
- crossoverEquivalent(
12749
+ crossoverAmbiguity(
12577
12750
  "sisal",
12578
12751
  `${TAXONOMY_BASE_URI}/id/material/sisal`,
12579
- "Sisal has one governed material reading in this corpus; fibre and products made from it remain distinct, and ColorScope 7.3 has no exact named-colour identity.",
12752
+ "sisal",
12753
+ "Sisal can name the plant fibre or the ColorScope named colour Sisal; fibre and products made from it remain distinct, and neither reading implies the other.",
12580
12754
  crossoverSource("sisal")
12581
12755
  ),
12582
12756
  crossoverEquivalent(
@@ -12597,19 +12771,19 @@ var AUTHORED_LEXICAL_ENTRIES = [
12597
12771
  "Suede has one governed leather-material reading in this corpus; it does not establish a suede-look finish on another substrate, and ColorScope 7.3 has no exact named-colour identity.",
12598
12772
  crossoverSource("suede")
12599
12773
  ),
12600
- crossoverTaxonomyAmbiguity(
12774
+ crossoverAmbiguity(
12601
12775
  "concrete",
12602
- [
12603
- `${TAXONOMY_BASE_URI}/id/material-family/concrete`,
12604
- `${TAXONOMY_BASE_URI}/id/material/concrete`
12605
- ],
12606
- "Concrete names both a retrieval-oriented material family and a specific cement-and-aggregate composite; neither reading establishes mix, reinforcement, coating, polish, or imitation, and ColorScope 7.3 has no exact named-colour identity.",
12607
- crossoverSource("concrete")
12776
+ `${TAXONOMY_BASE_URI}/id/material-family/concrete`,
12777
+ "concrete",
12778
+ "Concrete names both a retrieval-oriented material family and a specific cement-and-aggregate composite, or the ColorScope named colour Concrete; neither reading establishes mix, reinforcement, coating, polish, or imitation, and none implies another.",
12779
+ crossoverSource("concrete"),
12780
+ [`${TAXONOMY_BASE_URI}/id/material/concrete`]
12608
12781
  ),
12609
- crossoverEquivalent(
12782
+ crossoverAmbiguity(
12610
12783
  "travertine",
12611
12784
  `${TAXONOMY_BASE_URI}/id/material/travertine`,
12612
- "Travertine has one governed dimension-stone reading in this corpus; quarry, grade, fill, cut, and surface treatment remain unspecified, and ColorScope 7.3 has no exact named-colour identity.",
12785
+ "travertine",
12786
+ "Travertine can name the dimension stone or the ColorScope named colour Travertine; quarry, grade, fill, cut, and surface treatment remain unspecified, and neither reading implies the other.",
12613
12787
  crossoverSource("travertine")
12614
12788
  ),
12615
12789
  crossoverEquivalent(
@@ -12618,28 +12792,46 @@ var AUTHORED_LEXICAL_ENTRIES = [
12618
12792
  "Marble has one governed commercial dimension-stone reading in this corpus; its scientific and commercial boundaries remain explicit, and ColorScope 7.3 has no exact named-colour identity.",
12619
12793
  crossoverSource("marble")
12620
12794
  ),
12621
- crossoverEquivalent(
12622
- "limestone",
12623
- `${TAXONOMY_BASE_URI}/id/material/limestone`,
12624
- "Limestone has one governed carbonate-stone reading in this corpus; formation, quarry, grade, cut, finish, and similarly named paint identities remain separate, and ColorScope 7.3 has no exact named-colour identity.",
12625
- crossoverSource("limestone"),
12626
- LIMESTONE_INTRODUCED,
12627
- {
12628
- introducedAt: LIMESTONE_INTRODUCED,
12629
- reviewedAt: LIMESTONE_INTRODUCED,
12630
- status: "active"
12631
- }
12632
- ),
12633
- crossoverEquivalent(
12795
+ {
12796
+ // Written inline rather than through `crossoverAmbiguity`, which stamps a fixed evidenced
12797
+ // snapshot: limestone was introduced later than the rest of this batch (2026-09-01, ADR-dated)
12798
+ // and keeps that date now that ColorScope 9.4.0 gives it a colour reading too.
12799
+ explanation: "Limestone can name the carbonate stone or the ColorScope named colour Limestone; formation, quarry, grade, cut, finish, and similarly named paint identities remain separate, and neither reading implies the other.",
12800
+ governance: lexicalGovernance(
12801
+ "Taxonomy preserves the evidenced readings without assigning a default, role, contextual preference, or consumer route.",
12802
+ {
12803
+ basis: "evidenced",
12804
+ snapshot: LIMESTONE_INTRODUCED,
12805
+ source: crossoverSource("limestone")
12806
+ },
12807
+ {
12808
+ introducedAt: LIMESTONE_INTRODUCED,
12809
+ reviewedAt: LIMESTONE_INTRODUCED,
12810
+ status: "active"
12811
+ }
12812
+ ),
12813
+ outcome: "ambiguous",
12814
+ phrase: "limestone",
12815
+ readings: [
12816
+ {
12817
+ authority: "taxonomy",
12818
+ uri: `${TAXONOMY_BASE_URI}/id/material/limestone`
12819
+ },
12820
+ colorScope("limestone", NAMED_COLOR_REFERENCE_KIND)
12821
+ ]
12822
+ },
12823
+ crossoverAmbiguity(
12634
12824
  "oak",
12635
12825
  `${TAXONOMY_BASE_URI}/id/material/oak`,
12636
- "Oak has one governed timber reading in this corpus; species group, cut, stain, coating, and appearance remain distinct, and ColorScope 7.3 has no exact named-colour identity.",
12826
+ "oak",
12827
+ "Oak can name the timber species group or the ColorScope named colour Oak; species group, cut, stain, coating, and appearance remain distinct, and neither reading implies the other.",
12637
12828
  crossoverSource("oak")
12638
12829
  ),
12639
- crossoverEquivalent(
12830
+ crossoverAmbiguity(
12640
12831
  "teak",
12641
12832
  `${TAXONOMY_BASE_URI}/id/material/teak`,
12642
- "Teak has one governed timber reading in this corpus; timber, finish, and colour remain distinct, and ColorScope 7.3 has no exact named-colour identity.",
12833
+ "teak",
12834
+ "Teak can name the timber or the ColorScope named colour Teak; timber, finish, and colour remain distinct, and neither reading implies the other.",
12643
12835
  crossoverSource("teak")
12644
12836
  ),
12645
12837
  {
package/dist/v1.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { ElementPlacement, ExternalMapping, ExternalScheme, PeriodSpan, RelationPredicate, SearchedWithout, StyleKind, TermProvenance, TermUsage, UsageWithheld } from "./term.js";
2
2
  export declare const TAXONOMY_BASE_URI: "https://taxonomy.materialinstruments.com";
3
- export declare const TAXONOMY_SNAPSHOT: "2026-09-27";
4
- export declare const TAXONOMY_VERSION: "1.9.0";
3
+ export declare const TAXONOMY_SNAPSHOT: "2026-10-02";
4
+ export declare const TAXONOMY_VERSION: "1.10.1";
5
5
  export type CanonicalConceptUri = `${typeof TAXONOMY_BASE_URI}/id/${string}`;
6
6
  export type LifecycleStatus = "active" | "deprecated";
7
7
  export interface Lifecycle {
@@ -135,7 +135,7 @@ export declare const TAXONOMY_CORPUS_METADATA: {
135
135
  readonly lexicalEntryCount: number;
136
136
  readonly nodeCount: number;
137
137
  readonly revision: string;
138
- readonly snapshot: "2026-09-27";
139
- readonly version: "1.9.0";
138
+ readonly snapshot: "2026-10-02";
139
+ readonly version: "1.10.1";
140
140
  };
141
141
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instruments/taxonomy",
3
- "version": "1.9.0",
3
+ "version": "1.10.1",
4
4
  "description": "Canonical data-only interiors and architecture knowledge graph and lexical corpus.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "repository": {
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "devDependencies": {
27
27
  "@howells/lint": "^3.5.1",
28
- "@instruments/colorscope": "7.8.0",
28
+ "@instruments/colorscope": "9.4.0",
29
29
  "@taxonomy/lint-policy": "npm:@howells/lint@1.0.0",
30
30
  "@types/node": "^26.6.2",
31
31
  "tsup": "^8.5.1",