@instruments/taxonomy 1.14.0 → 2.0.0

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.
package/dist/match.d.ts CHANGED
@@ -52,7 +52,7 @@ export interface AlternativesMatch {
52
52
  alternative: CanonicalBundle;
53
53
  match: BundleMatch;
54
54
  }
55
- /** The strongest eligible reading wins; bundle identity makes ties deterministic. */
55
+ /** The strongest eligible meaning wins; bundle identity makes ties deterministic. */
56
56
  export declare const matchAlternatives: (alternatives: CanonicalAlternatives, candidateAssertions: Iterable<string>) => AlternativesMatch;
57
57
  /** How well a candidate answered the query. `exact` matched every member, accents included. */
58
58
  export type MatchTier = "exact" | "eligible" | "relaxed";
package/dist/term.d.ts CHANGED
@@ -213,8 +213,8 @@ export type StyleKind = "movement" | "tradition" | "market-idiom";
213
213
  * field, the accent or the thing left alone is a decision a scheme makes about one room, and it
214
214
  * changes from room to room, while placement is a property of the element itself.
215
215
  *
216
- * `field` is the broad plane a scheme's main colour lands on. `joinery` is shop-made woodwork
217
- * handled as one body with its own colour. `trim` is the run of profile and opening frame a
216
+ * `field` is the broad plane a scheme's main color lands on. `joinery` is shop-made woodwork
217
+ * handled as one body with its own color. `trim` is the run of profile and opening frame a
218
218
  * decorator cuts in by hand. `overhead` and `underfoot` are the two planes a room is bounded by
219
219
  * above and below, each with its own conventions. `unpainted` is an element a decorator masks or
220
220
  * works around rather than coats - glass, light fittings, sanitaryware and electrical accessories.
@@ -317,7 +317,7 @@ export type RelationPredicate =
317
317
  * ABSENCE IS A CLAIM, NOT A GAP. A SPACE term carrying no serves edge and inheriting none
318
318
  * through `broaderSlug` asserts that no market is part of its identity: it serves whatever
319
319
  * market its project serves, and a consumer must read it as unrestricted - fail-open - never as
320
- * a restriction nobody wrote down. What makes that reading safe is `MARKET_NEUTRAL_SPACES`
320
+ * a restriction nobody wrote down. What makes that meaning safe is `MARKET_NEUTRAL_SPACES`
321
321
  * (`axes/space/market-neutral.ts`, with the authoring criterion): every SPACE term either
322
322
  * carries an edge or is registered there as reviewed-neutral, and the build fails naming any
323
323
  * term that is neither. A reviewed absence and an unreviewed one cannot be confused - the same
package/dist/v1.d.ts CHANGED
@@ -3,7 +3,7 @@ import type { ElementPlacement, ExternalMapping, ExternalScheme, PeriodSpan, Rel
3
3
  export type { FacetHolds } from "./axes/index.js";
4
4
  export declare const TAXONOMY_BASE_URI: "https://taxonomy.materialinstruments.com";
5
5
  export declare const TAXONOMY_SNAPSHOT: "2026-10-02";
6
- export declare const TAXONOMY_VERSION: "1.14.0";
6
+ export declare const TAXONOMY_VERSION: "2.0.0";
7
7
  export type CanonicalConceptUri = `${typeof TAXONOMY_BASE_URI}/id/${string}`;
8
8
  export type LifecycleStatus = "active" | "deprecated";
9
9
  export interface Lifecycle {
@@ -93,9 +93,11 @@ export interface KnowledgeGraph {
93
93
  nodes: readonly KnowledgeGraphNode[];
94
94
  }
95
95
  export declare const KNOWLEDGE_GRAPH: KnowledgeGraph;
96
+ /** Trade-usage priority; never a consumer query selection. */
97
+ export type MeaningPriority = "primary" | "secondary";
96
98
  export interface TaxonomyTarget {
97
99
  authority: "taxonomy";
98
- role?: "primary" | "secondary";
100
+ meaningPriority?: MeaningPriority;
99
101
  uri: CanonicalConceptUri;
100
102
  }
101
103
  export declare const COLOR_SCOPE_REFERENCE_KINDS: readonly ["chroma-level", "color-family", "lightness-level", "named-color", "palette-mood", "temperature-level"];
@@ -105,40 +107,40 @@ export interface ColorScopeTarget {
105
107
  authorityUri: "https://colorscope.materialinstruments.com";
106
108
  identifier: string;
107
109
  referenceKind: ColorScopeReferenceKind;
108
- role?: "primary" | "secondary";
110
+ meaningPriority?: MeaningPriority;
109
111
  }
110
- export type LexicalTarget = TaxonomyTarget | ColorScopeTarget;
111
- export type LexicalContext = "colour" | "material";
112
- interface LexicalBase {
112
+ export type PhraseMeaning = TaxonomyTarget | ColorScopeTarget;
113
+ export type MeaningContext = "color" | "material";
114
+ interface PhraseBase {
113
115
  explanation: string;
114
116
  governance: Governance;
115
117
  phrase: string;
116
118
  }
117
- export type LexicalEntry = (LexicalBase & {
119
+ export type PhraseEntry = (PhraseBase & {
118
120
  outcome: "equivalent";
119
- target: LexicalTarget;
120
- }) | (LexicalBase & {
121
+ target: PhraseMeaning;
122
+ }) | (PhraseBase & {
121
123
  contextualPreferences?: readonly {
122
- context: LexicalContext;
123
- target: LexicalTarget;
124
+ context: MeaningContext;
125
+ target: PhraseMeaning;
124
126
  }[];
125
- /** An explicitly authored default reading; never inferred from array order. */
126
- defaultTarget?: LexicalTarget;
127
+ /** An explicitly authored default meaning; never inferred from array order. */
128
+ defaultMeaning?: PhraseMeaning;
127
129
  outcome: "ambiguous";
128
- readings: readonly [LexicalTarget, LexicalTarget, ...LexicalTarget[]];
129
- }) | (LexicalBase & {
130
+ meanings: readonly [PhraseMeaning, PhraseMeaning, ...PhraseMeaning[]];
131
+ }) | (PhraseBase & {
130
132
  outcome: "declined";
131
133
  reason: string;
132
134
  });
133
- /** Declarative readings only. Consumers choose indexing and application behaviour. */
134
- export declare const LEXICAL_ENTRIES: readonly LexicalEntry[];
135
+ /** Declarative meanings only. Consumers choose indexing and application behaviour. */
136
+ export declare const PHRASE_ENTRIES: readonly PhraseEntry[];
135
137
  /** Content address for CI drift checks; changes whenever the public corpus representation changes. */
136
138
  export declare const TAXONOMY_CORPUS_REVISION: string;
137
139
  export declare const TAXONOMY_CORPUS_METADATA: {
138
140
  readonly edgeCount: number;
139
- readonly lexicalEntryCount: number;
140
141
  readonly nodeCount: number;
142
+ readonly phraseEntryCount: number;
141
143
  readonly revision: string;
142
144
  readonly snapshot: "2026-10-02";
143
- readonly version: "1.14.0";
145
+ readonly version: "2.0.0";
144
146
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instruments/taxonomy",
3
- "version": "1.14.0",
3
+ "version": "2.0.0",
4
4
  "description": "Canonical data-only interiors and architecture knowledge graph and lexical corpus.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "repository": {