@usefragments/core 1.5.1 → 1.6.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.
Files changed (45) hide show
  1. package/dist/{chunk-AOG4FTV6.js → chunk-WVFNDPM4.js} +448 -190
  2. package/dist/chunk-WVFNDPM4.js.map +1 -0
  3. package/dist/codes/index.d.ts +1 -1
  4. package/dist/codes/index.js +1 -1
  5. package/dist/compiled-types/index.d.ts +1 -1
  6. package/dist/generate/index.d.ts +1 -1
  7. package/dist/{governance-B88uR3Zq.d.ts → governance-DxFipN5V.d.ts} +654 -22
  8. package/dist/index.d.ts +678 -40
  9. package/dist/index.js +534 -38
  10. package/dist/index.js.map +1 -1
  11. package/dist/react-types.d.ts +1 -1
  12. package/dist/test-utils.d.ts +1 -1
  13. package/package.json +1 -1
  14. package/src/__tests__/policy-exclude.test.ts +180 -0
  15. package/src/canonical-bridge.ts +69 -1
  16. package/src/canonical-direction.test.ts +118 -0
  17. package/src/canonical-direction.ts +43 -2
  18. package/src/codes/__tests__/codes.test.ts +14 -1
  19. package/src/codes/codes.ts +60 -0
  20. package/src/config.ts +20 -0
  21. package/src/facts/builders.ts +35 -0
  22. package/src/facts/compile.ts +135 -21
  23. package/src/facts/fact-index.ts +22 -2
  24. package/src/facts/facts.test.ts +19 -19
  25. package/src/facts/index.ts +9 -6
  26. package/src/facts/types.ts +45 -9
  27. package/src/governance-integrity.test.ts +277 -1
  28. package/src/governance-integrity.ts +616 -0
  29. package/src/governance.test.ts +20 -1
  30. package/src/governance.ts +131 -0
  31. package/src/index.ts +45 -2
  32. package/src/policy-exclude.ts +113 -0
  33. package/src/rules/families.test.ts +69 -0
  34. package/src/rules/families.ts +52 -0
  35. package/src/rules/index.ts +6 -0
  36. package/src/rules/jsx-preferred-import-path.ts +29 -11
  37. package/src/rules/rules.test.ts +125 -1
  38. package/src/rules/styles-no-raw-color.ts +13 -4
  39. package/src/rules/styles-no-raw-dimensions.ts +13 -4
  40. package/src/rules/styles-no-raw-spacing.test.ts +48 -0
  41. package/src/rules/styles-no-raw-spacing.ts +15 -7
  42. package/src/rules/styles-no-raw-typography.ts +13 -4
  43. package/src/rules/utils.ts +39 -0
  44. package/src/types.ts +21 -3
  45. package/dist/chunk-AOG4FTV6.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -3,8 +3,8 @@ export { b as AGENT_FORMAT_SCHEMA_VERSION, c as AgentErrorEnvelope, d as AgentOu
3
3
  import { Severity } from './severity.js';
4
4
  export { SEVERITIES, SEVERITY_RANK, SEVERITY_WEIGHTS, SeverityLevel, compareSeverity, maxSeverity, severityLevel, severitySchema, sortBySeverity } from './severity.js';
5
5
  export { BridgeViolationInput, CODES, CodeCategory, CodeLifecycle, EXPLAIN_URL_BASE, FuiCode, bridgeSourceViolation, bridgeSourceViolations, byCode, byRuleId, explainUrlForCode } from './codes/index.js';
6
- import { c as ContractDomain, d as ContractCatalogInput, G as GovernanceSeverity, b as CompiledFragment, e as GovernedFragmentDefinition, R as ResolvedGovernedFragmentDefinition, f as GovernanceConfig, g as FragmentsConfig, T as TokenConfig, h as FragmentComponent, B as BlockDefinition, C as CompiledBlock, F as FragmentDefinition, a as FragmentDefinitionV2, S as StorybookFilterConfig, i as FigmaStringMapping, j as FigmaBooleanMapping, k as FigmaEnumMapping, l as FigmaInstanceMapping, m as FigmaChildrenMapping, n as FigmaTextContentMapping, o as RelationshipType, V as VariantRenderOptions, p as VariantLoader, q as CanonicalSource, r as CanonicalBridgeV1, s as ContractCanonicalMappingInput } from './governance-B88uR3Zq.js';
7
- export { A as AIMetadata, t as AccessibilityGovernanceBuilder, u as AppConfig, v as BaselineInfo, w as BoundingBox, x as CONTRACT_DOMAINS, y as CONTRACT_PREIMAGE_CAPABILITY_HEADER, z as CONTRACT_PREIMAGE_SCHEMA, D as CanonicalMappingStatus, E as CompiledFragmentsFile, H as CompiledRecipe, I as CompiledTokenData, J as CompiledTokenEntry, K as ComponentGovernanceBuilder, L as ComponentGovernanceRecord, M as ComponentRef, N as ComponentRelation, O as CompositionMetadata, P as ContractComponentInput, Q as ContractIdentityPin, U as ContractPolicyInput, W as ContractPreimage, X as ContractPropMappingInput, Y as ContractTokenInput, Z as ContractWaiverInput, _ as ControlType, $ as DesignSystemConfig, a0 as DiffResult, a1 as FigmaPropMapping, a2 as FragmentContract, a3 as FragmentExample, a4 as FragmentGenerated, a5 as FragmentGuidance, a6 as FragmentMeta, a7 as FragmentProvenance, a8 as FragmentUsage, a9 as FragmentVariant, aa as GlobalGovernanceRecord, ab as GlobalJsxGovernanceRecord, ac as GlobalStyleGovernanceRecord, ad as GovernancePropValue, ae as InspectConfig, af as LocalCanonicalDeclaration, ag as LocalCanonicalResolveRule, ah as Manifest, ai as ObservedComponentUsage, aj as ObservedUsageProp, ak as PlayFunction, al as PlayFunctionContext, am as PropDefinition, an as PropGovernanceBuilder, ao as PropGovernanceOptions, ap as PropKey, aq as PropType, ar as RecipeDefinition, as as RegistryOptions, at as RepoRelativePath, au as ScaleGovernanceRecord, av as Screenshot, aw as ScreenshotConfig, ax as ScreenshotMetadata, ay as ServiceConfig, az as SnapshotConfig, aA as SnippetPolicyConfig, aB as Theme, aC as ThemeSeeds, aD as TokenSourceConfig, aE as TokenSourceFormat, aF as VerifyRequest, aG as VerifyResult, aH as Viewport, aI as canonicalBridgeV1Schema, aJ as componentGovernanceRecordSchema, aK as componentGovernanceRecordsSchema, aL as contractComponentsFromFragments, aM as contractPolicyFromGovernanceConfig, aN as diffContractDomains, aO as g, aP as globalGovernanceRecordSchema, aQ as globalJsxGovernanceRecordSchema, aR as globalStyleGovernanceRecordSchema, aS as governanceConfigSchema, aT as governanceConfigWithLocalCanonical, aU as governanceSeveritySchema, aV as localCanonicalContractMappings, aW as normalizeGovernanceConfig, aX as projectContractPreimage, aY as scaleGovernanceRecordSchema, aZ as verifiedContractPreimageFromPin } from './governance-B88uR3Zq.js';
6
+ import { c as ContractDomain, d as ContractCatalogInput, G as GovernanceSeverity, b as CompiledFragment, e as GovernedFragmentDefinition, R as ResolvedGovernedFragmentDefinition, f as GovernanceConfig, g as FragmentsConfig, T as TokenConfig, h as FragmentComponent, B as BlockDefinition, C as CompiledBlock, F as FragmentDefinition, a as FragmentDefinitionV2, S as StorybookFilterConfig, i as FigmaStringMapping, j as FigmaBooleanMapping, k as FigmaEnumMapping, l as FigmaInstanceMapping, m as FigmaChildrenMapping, n as FigmaTextContentMapping, o as RelationshipType, V as VariantRenderOptions, p as VariantLoader, q as CanonicalSource, r as CanonicalBridgeV1, s as ContractCanonicalMappingInput } from './governance-DxFipN5V.js';
7
+ export { A as AIMetadata, t as AccessibilityGovernanceBuilder, u as AppConfig, v as BaselineInfo, w as BoundingBox, x as CONTRACT_DOMAINS, y as CONTRACT_PREIMAGE_CAPABILITY_HEADER, z as CONTRACT_PREIMAGE_SCHEMA, D as CanonicalMappingStatus, E as CompiledFragmentsFile, H as CompiledRecipe, I as CompiledTokenData, J as CompiledTokenEntry, K as ComponentGovernanceBuilder, L as ComponentGovernanceRecord, M as ComponentRef, N as ComponentRelation, O as CompositionMetadata, P as ContractComponentInput, Q as ContractIdentityPin, U as ContractPolicyInput, W as ContractPreimage, X as ContractPropMappingInput, Y as ContractTokenInput, Z as ContractWaiverInput, _ as ControlType, $ as DesignSystemConfig, a0 as DiffResult, a1 as FigmaPropMapping, a2 as FragmentContract, a3 as FragmentExample, a4 as FragmentGenerated, a5 as FragmentGuidance, a6 as FragmentMeta, a7 as FragmentProvenance, a8 as FragmentUsage, a9 as FragmentVariant, aa as GlobalGovernanceRecord, ab as GlobalJsxGovernanceRecord, ac as GlobalStyleGovernanceRecord, ad as GovernancePropValue, ae as InspectConfig, af as LocalCanonicalDeclaration, ag as LocalCanonicalResolveRule, ah as Manifest, ai as ObservedComponentUsage, aj as ObservedUsageProp, ak as PlayFunction, al as PlayFunctionContext, am as PropDefinition, an as PropGovernanceBuilder, ao as PropGovernanceOptions, ap as PropKey, aq as PropType, ar as RecipeDefinition, as as RegistryOptions, at as RepoRelativePath, au as ScaleGovernanceRecord, av as Screenshot, aw as ScreenshotConfig, ax as ScreenshotMetadata, ay as ServiceConfig, az as SnapshotConfig, aA as SnippetPolicyConfig, aB as Theme, aC as ThemeSeeds, aD as TokenSourceConfig, aE as TokenSourceFormat, aF as VerifyRequest, aG as VerifyResult, aH as Viewport, aI as canonicalBridgeV1Schema, aJ as componentGovernanceRecordSchema, aK as componentGovernanceRecordsSchema, aL as contractComponentsFromFragments, aM as contractPolicyFromGovernanceConfig, aN as diffContractDomains, aO as g, aP as globalGovernanceRecordSchema, aQ as globalJsxGovernanceRecordSchema, aR as globalStyleGovernanceRecordSchema, aS as governanceConfigSchema, aT as governanceConfigWithLocalCanonical, aU as governanceSeveritySchema, aV as isPresetSourcedRule, aW as localCanonicalContractMappings, aX as markPresetSourcedRules, aY as normalizeGovernanceConfig, aZ as projectContractPreimage, a_ as scaleGovernanceRecordSchema, a$ as verifiedContractPreimageFromPin } from './governance-DxFipN5V.js';
8
8
  import { z } from 'zod';
9
9
  import { RegistryArtifact, RegistryDependency, RegistryInstallReceipt } from './registry.js';
10
10
  export { REGISTRY_ARTIFACT_SCHEMA_VERSION, REGISTRY_INSTALL_RECEIPT_SCHEMA_VERSION, REGISTRY_MANIFEST_SCHEMA_VERSION, RegistryArtifactInput, RegistryComponent, RegistryComponentExport, RegistryDependencyType, RegistryEntrypoint, RegistryFile, RegistryFileContent, RegistryFileInput, RegistryFileRole, RegistryInstallProfile, RegistryInstallReceiptComponent, RegistryInstallReceiptFile, RegistryManifest, RegistryManifestDraft, RegistrySource, assertValidRegistryArtifact, buildRegistryArtifact, buildRegistryFile, computeRegistryHash, finalizeRegistryManifest, hashRegistryFileContent, registryArtifactDigest, registryArtifactSchema, registryComponentExportSchema, registryComponentSchema, registryDependencySchema, registryDependencyTypeSchema, registryEntrypointSchema, registryFileContentSchema, registryFileRoleSchema, registryFileSchema, registryFileSize, registryInstallProfileSchema, registryInstallReceiptComponentSchema, registryInstallReceiptFileSchema, registryInstallReceiptSchema, registryManifestCanonicalPreimage, registryManifestDraftSchema, registryManifestSchema, registrySourceSchema } from './registry.js';
@@ -712,6 +712,68 @@ interface IdentityClassification {
712
712
  */
713
713
  declare function classifyIdentity(input: ClassifyIdentityInput): IdentityClassification;
714
714
 
715
+ /**
716
+ * Policy path excludes — the one vocabulary every scoped-exemption surface shares.
717
+ *
718
+ * A global governance record (`govern.styles[]` / `govern.jsx[]`) or a rule-id-keyed
719
+ * override (`govern.rules["styles/no-raw-color"]`) may carry `exclude` globs that scope
720
+ * that policy off a path *without* hiding the path from every other rule — the
721
+ * difference between an exemption and a baseline. Two authoring forms are accepted:
722
+ *
723
+ * ```ts
724
+ * exclude: ["src/legacy/vendor/**"]
725
+ * exclude: [{ glob: "src/legacy/vendor/**", reason: "vendor drop, tracked in DS-611" }]
726
+ * ```
727
+ *
728
+ * Both normalize to `PolicyExclude`. The reason is free text and carries no expiry: an
729
+ * exclude is a standing scope decision, not a dated debt receipt (that is what
730
+ * suppressions and baselines are for). It travels into the scan's ignored-finding
731
+ * accounting so an exemption is never invisible policy.
732
+ *
733
+ * Browser-safe: pure string work, no filesystem.
734
+ */
735
+
736
+ interface PolicyExclude {
737
+ /** Repo-relative glob; `*` stops at a path segment, `**` crosses segments. */
738
+ glob: string;
739
+ /** Why this path is out of scope for this policy. Surfaced in reports. */
740
+ reason?: string;
741
+ }
742
+ declare const policyExcludeSchema: z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
743
+ glob: z.ZodString;
744
+ reason: z.ZodOptional<z.ZodString>;
745
+ }, "strip", z.ZodTypeAny, {
746
+ glob: string;
747
+ reason?: string | undefined;
748
+ }, {
749
+ glob: string;
750
+ reason?: string | undefined;
751
+ }>]>, "many">;
752
+ /** The authored (pre-normalization) shape of an `exclude` list. */
753
+ type PolicyExcludeInput = z.infer<typeof policyExcludeSchema>;
754
+ /**
755
+ * Normalize an authored `exclude` list into `PolicyExclude[]`. Returns `undefined` when
756
+ * nothing usable was authored, so callers can omit the field entirely and keep fact
757
+ * shapes byte-identical for configs that declare no excludes.
758
+ */
759
+ declare function normalizePolicyExcludes(value: unknown): PolicyExclude[] | undefined;
760
+ /** Normalize a repo path for glob comparison (POSIX separators, no `./` prefix). */
761
+ declare function normalizeExcludePath(path: string): string;
762
+ /**
763
+ * Same glob dialect as the rest of the governance surface (`FactIndex.matchesGlob`,
764
+ * the scan's token-source matcher): `**` crosses path segments, `*` does not.
765
+ */
766
+ declare function excludeGlobToRegExp(glob: string): RegExp;
767
+ /** Whether `filePath` is inside `exclude`'s glob. */
768
+ declare function policyExcludeMatchesPath(exclude: PolicyExclude, filePath: string): boolean;
769
+ /** The first exclude covering `filePath`, or `undefined`. */
770
+ declare function matchPolicyExclude(excludes: readonly PolicyExclude[] | undefined, filePath: string): PolicyExclude | undefined;
771
+ /**
772
+ * The human half of the ignored-finding receipt: which policy stepped aside, on which
773
+ * glob, and why. `scope` is the policy's own identity (a record `kind` or a rule id).
774
+ */
775
+ declare function describePolicyExclude(scope: string, exclude: PolicyExclude): string;
776
+
715
777
  /**
716
778
  * Fact IR — discriminated union of governance facts.
717
779
  *
@@ -804,30 +866,39 @@ interface ScaleValueFact extends BaseFact {
804
866
  scale: string;
805
867
  value: number;
806
868
  }
807
- interface StyleRawColorForbiddenFact extends BaseFact {
869
+ /**
870
+ * Path excludes carried by a compiled policy fact. Present only when the authoring
871
+ * record declared them, so fact shapes are byte-identical for configs without
872
+ * excludes. Never part of the fact's `factId` inputs: scoping a policy off a path
873
+ * must not move fact ids or the finding fingerprints Cloud and baselines dedupe on.
874
+ */
875
+ type PolicyFactExcludes = {
876
+ exclude?: PolicyExclude[];
877
+ };
878
+ interface StyleRawColorForbiddenFact extends BaseFact, PolicyFactExcludes {
808
879
  kind: "style_raw_color_forbidden";
809
880
  except: string[];
810
881
  prefer: "token" | "css-variable";
811
882
  severity: GovernanceSeverity;
812
883
  }
813
- interface StyleRawDimensionForbiddenFact extends BaseFact {
884
+ interface StyleRawDimensionForbiddenFact extends BaseFact, PolicyFactExcludes {
814
885
  kind: "style_raw_dimension_forbidden";
815
886
  appliesTo: string[];
816
887
  prefer: "token" | "css-variable";
817
888
  severity: GovernanceSeverity;
818
889
  }
819
- interface StylePropertyScaleFact extends BaseFact {
890
+ interface StylePropertyScaleFact extends BaseFact, PolicyFactExcludes {
820
891
  kind: "style_property_scale";
821
892
  property: string;
822
893
  scale: string;
823
894
  severity: GovernanceSeverity;
824
895
  }
825
- interface StyleFontSizeScaleFact extends BaseFact {
896
+ interface StyleFontSizeScaleFact extends BaseFact, PolicyFactExcludes {
826
897
  kind: "style_font_size_scale";
827
898
  scale: string;
828
899
  severity: GovernanceSeverity;
829
900
  }
830
- interface StyleCssVarsMustBeDefinedFact extends BaseFact {
901
+ interface StyleCssVarsMustBeDefinedFact extends BaseFact, PolicyFactExcludes {
831
902
  kind: "style_css_vars_must_be_defined";
832
903
  severity: GovernanceSeverity;
833
904
  }
@@ -843,16 +914,16 @@ interface ContractTokenFact extends BaseFact {
843
914
  /** Custom-property name, normalized to `--`-prefixed form. */
844
915
  name: string;
845
916
  }
846
- interface JsxUnknownPropsForbiddenFact extends BaseFact {
917
+ interface JsxUnknownPropsForbiddenFact extends BaseFact, PolicyFactExcludes {
847
918
  kind: "jsx_unknown_props_forbidden";
848
919
  severity: GovernanceSeverity;
849
920
  }
850
- interface JsxInlineStyleForbiddenRawFact extends BaseFact {
921
+ interface JsxInlineStyleForbiddenRawFact extends BaseFact, PolicyFactExcludes {
851
922
  kind: "jsx_inline_style_forbidden_raw";
852
923
  property: string;
853
924
  severity: GovernanceSeverity;
854
925
  }
855
- interface JsxImportPathPreferredFact extends BaseFact {
926
+ interface JsxImportPathPreferredFact extends BaseFact, PolicyFactExcludes {
856
927
  kind: "jsx_import_path_preferred";
857
928
  from: string;
858
929
  to: string;
@@ -868,7 +939,7 @@ interface JsxImportPathPreferredFact extends BaseFact {
868
939
  decisionSource: "authored" | "migration";
869
940
  };
870
941
  }
871
- interface JsxComponentPreferredFact extends BaseFact {
942
+ interface JsxComponentPreferredFact extends BaseFact, PolicyFactExcludes {
872
943
  kind: "jsx_component_preferred";
873
944
  from: ComponentId;
874
945
  to: ComponentId;
@@ -1002,6 +1073,9 @@ interface UsageInlineStyleFact extends BaseFact {
1002
1073
  */
1003
1074
  valueKind: "static" | "number" | "css-variable" | "dynamic-raw";
1004
1075
  value: string;
1076
+ /** Set when `value` was resolved through a hop rather than authored inline.
1077
+ * Additive — the fact's identity key is unchanged. */
1078
+ valueFrom?: StyleValueProvenance;
1005
1079
  }
1006
1080
  interface UsageTextChildFact extends BaseFact {
1007
1081
  kind: "usage_text_child";
@@ -1118,6 +1192,26 @@ interface TailwindTokenResolvedFact extends BaseFact {
1118
1192
  * selector chain. Identity is `{ file, selector, declarationPath, property }`
1119
1193
  * so the ID stays stable when other lines move.
1120
1194
  */
1195
+ /**
1196
+ * How a style value reached the fact when the authored text at the use site was
1197
+ * not the value itself. Present only for `const-binding` today: the extractor
1198
+ * followed exactly one hop to a same-file, immutable, statically-initialized
1199
+ * `const` (`const c = '#FFC107'; sx={{ color: c }}`).
1200
+ *
1201
+ * Two consequences for rules, both load-bearing:
1202
+ * - The declaration line is the evidence a reader needs — the use site only
1203
+ * shows an identifier.
1204
+ * - **No deterministic fix may be attached.** The authored text at the finding's
1205
+ * location is the identifier, so any value replacement would be an edit the
1206
+ * user never wrote.
1207
+ */
1208
+ interface StyleValueProvenance {
1209
+ kind: "const-binding";
1210
+ /** Identifier the use site referenced. */
1211
+ name: string;
1212
+ /** Where the binding was declared. */
1213
+ location: FactLocation;
1214
+ }
1121
1215
  interface StyleDeclarationFact extends BaseFact {
1122
1216
  kind: "style_declaration";
1123
1217
  file: string;
@@ -1134,6 +1228,9 @@ interface StyleDeclarationFact extends BaseFact {
1134
1228
  * flagging ad hoc custom properties in product code.
1135
1229
  */
1136
1230
  declaredTokenSource?: boolean;
1231
+ /** Set when `value` was resolved through a hop rather than authored inline.
1232
+ * Additive — the fact's identity key is unchanged. */
1233
+ valueFrom?: StyleValueProvenance;
1137
1234
  }
1138
1235
  type UnsupportedStyleReason = "dynamic-template-expression" | "dynamic-object-value" | "object-spread" | "unsupported-array-element";
1139
1236
  interface StyleUnsupportedFact extends BaseFact {
@@ -1380,28 +1477,34 @@ declare function makeStyleRawColorForbiddenFact(input: {
1380
1477
  except: string[];
1381
1478
  prefer: "token" | "css-variable";
1382
1479
  severity: GovernanceSeverity;
1480
+ exclude?: readonly PolicyExclude[];
1383
1481
  }): StyleRawColorForbiddenFact;
1384
1482
  declare function makeStylePropertyScaleFact(input: {
1385
1483
  property: string;
1386
1484
  scale: string;
1387
1485
  severity: GovernanceSeverity;
1486
+ exclude?: readonly PolicyExclude[];
1388
1487
  }): StylePropertyScaleFact;
1389
1488
  declare function makeStyleFontSizeScaleFact(input: {
1390
1489
  scale: string;
1391
1490
  severity: GovernanceSeverity;
1491
+ exclude?: readonly PolicyExclude[];
1392
1492
  }): StyleFontSizeScaleFact;
1393
1493
  declare function makeStyleCssVarsMustBeDefinedFact(input: {
1394
1494
  severity: GovernanceSeverity;
1495
+ exclude?: readonly PolicyExclude[];
1395
1496
  }): StyleCssVarsMustBeDefinedFact;
1396
1497
  declare function makeContractTokenFact(input: {
1397
1498
  name: string;
1398
1499
  }): ContractTokenFact;
1399
1500
  declare function makeJsxUnknownPropsForbiddenFact(input: {
1400
1501
  severity: GovernanceSeverity;
1502
+ exclude?: readonly PolicyExclude[];
1401
1503
  }): JsxUnknownPropsForbiddenFact;
1402
1504
  declare function makeJsxInlineStyleForbiddenRawFact(input: {
1403
1505
  property: string;
1404
1506
  severity: GovernanceSeverity;
1507
+ exclude?: readonly PolicyExclude[];
1405
1508
  }): JsxInlineStyleForbiddenRawFact;
1406
1509
  declare function makeJsxImportPathPreferredFact(input: {
1407
1510
  from: string;
@@ -1410,12 +1513,14 @@ declare function makeJsxImportPathPreferredFact(input: {
1410
1513
  because?: string;
1411
1514
  severity: GovernanceSeverity;
1412
1515
  bridge?: JsxImportPathPreferredFact["bridge"];
1516
+ exclude?: readonly PolicyExclude[];
1413
1517
  }): JsxImportPathPreferredFact;
1414
1518
  declare function makeJsxComponentPreferredFact(input: {
1415
1519
  from: ComponentId;
1416
1520
  to: ComponentId;
1417
1521
  because?: string;
1418
1522
  severity: GovernanceSeverity;
1523
+ exclude?: readonly PolicyExclude[];
1419
1524
  }): JsxComponentPreferredFact;
1420
1525
  declare function makeTokenDefinitionFact(input: {
1421
1526
  name: string;
@@ -1472,6 +1577,7 @@ declare function makeUsageInlineStyleFact(input: {
1472
1577
  property: string;
1473
1578
  valueKind: "static" | "number" | "css-variable" | "dynamic-raw";
1474
1579
  value: string;
1580
+ valueFrom?: StyleValueProvenance;
1475
1581
  }): UsageInlineStyleFact;
1476
1582
  declare function makeUsageTextChildFact(input: {
1477
1583
  nodeId: FactId;
@@ -1531,6 +1637,7 @@ declare function makeStyleDeclarationFact(input: {
1531
1637
  value: string;
1532
1638
  location: FactLocation;
1533
1639
  declaredTokenSource?: boolean;
1640
+ valueFrom?: StyleValueProvenance;
1534
1641
  }): StyleDeclarationFact;
1535
1642
  declare function makeStyleUnsupportedFact(input: {
1536
1643
  file: string;
@@ -1556,6 +1663,21 @@ interface FactEvidence {
1556
1663
  factId: FactId;
1557
1664
  fact: Fact;
1558
1665
  }
1666
+ /**
1667
+ * The two facts involved in a first-wins drop: `kept` is already indexed, `skipped`
1668
+ * carries different logical content and is discarded. Handed to `onConflict` alongside
1669
+ * the rendered message so callers can classify the drop (a colliding *config record* is
1670
+ * a named user-facing diagnostic; anything else stays an internal debug line) instead of
1671
+ * re-parsing prose.
1672
+ */
1673
+ interface FactConflict {
1674
+ kept: Fact;
1675
+ skipped: Fact;
1676
+ }
1677
+ interface FactIndexOptions {
1678
+ /** Optional internal diagnostic route. Product output is quiet by default. */
1679
+ onConflict?: (message: string, conflict: FactConflict) => void;
1680
+ }
1559
1681
  /**
1560
1682
  * Match a literal path against a simple glob pattern. `*` matches any run of
1561
1683
  * non-separator characters; `**` matches any run of characters including
@@ -1563,10 +1685,12 @@ interface FactEvidence {
1563
1685
  */
1564
1686
  declare function matchesGlob(path: string, pattern: string): boolean;
1565
1687
  declare class FactIndex {
1688
+ private readonly options;
1566
1689
  private readonly facts;
1567
1690
  private readonly idsByKind;
1568
1691
  private readonly idsByComponent;
1569
1692
  private readonly tokenBySymbol;
1693
+ constructor(options?: FactIndexOptions);
1570
1694
  add(fact: Fact): void;
1571
1695
  addMany(facts: Iterable<Fact>): void;
1572
1696
  get(id: FactId): Fact | undefined;
@@ -1646,6 +1770,22 @@ declare class FactIndex {
1646
1770
  */
1647
1771
 
1648
1772
  declare function compileGlobalGovernanceFacts(govern: GovernanceConfig | undefined): PolicyFact[];
1773
+ interface SupersededImportPathPreference {
1774
+ from: string;
1775
+ imported?: string;
1776
+ to: string;
1777
+ packageName: string;
1778
+ underlyingExportName: string;
1779
+ localExportName: string;
1780
+ }
1781
+ /**
1782
+ * Name each non-bridge `jsx.importPath.prefer` record whose domain a confirmed
1783
+ * bridge covers. The rule suppresses the duplicate finding at match time
1784
+ * (report #2 B6); this projection is the compile-side voice of that
1785
+ * supersession, so the record is never silenced without a word — the exact
1786
+ * silence class the config-truth layer exists to kill.
1787
+ */
1788
+ declare function projectSupersededImportPathPreferences(govern: GovernanceConfig | undefined): SupersededImportPathPreference[];
1649
1789
  type ComponentFactInput = CompiledFragment | GovernedFragmentDefinition | ResolvedGovernedFragmentDefinition;
1650
1790
  declare function compileComponentFacts(componentId: ComponentId, input: ComponentFactInput): Fact[];
1651
1791
 
@@ -5762,12 +5902,12 @@ declare const fragmentsConfigSchema: z.ZodObject<{
5762
5902
  exclude: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, string, string>, "many">>;
5763
5903
  }, "strip", z.ZodTypeAny, {
5764
5904
  path?: string | undefined;
5765
- include?: string[] | undefined;
5766
5905
  exclude?: string[] | undefined;
5906
+ include?: string[] | undefined;
5767
5907
  }, {
5768
5908
  path?: string | undefined;
5769
- include?: string[] | undefined;
5770
5909
  exclude?: string[] | undefined;
5910
+ include?: string[] | undefined;
5771
5911
  }>>;
5772
5912
  designSystem: z.ZodOptional<z.ZodObject<{
5773
5913
  path: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
@@ -5997,15 +6137,15 @@ declare const fragmentsConfigSchema: z.ZodObject<{
5997
6137
  excludeSvgIcons: z.ZodOptional<z.ZodBoolean>;
5998
6138
  excludeSubComponents: z.ZodOptional<z.ZodBoolean>;
5999
6139
  }, "strip", z.ZodTypeAny, {
6000
- include?: string[] | undefined;
6001
6140
  exclude?: string[] | undefined;
6141
+ include?: string[] | undefined;
6002
6142
  excludeDeprecated?: boolean | undefined;
6003
6143
  excludeTests?: boolean | undefined;
6004
6144
  excludeSvgIcons?: boolean | undefined;
6005
6145
  excludeSubComponents?: boolean | undefined;
6006
6146
  }, {
6007
- include?: string[] | undefined;
6008
6147
  exclude?: string[] | undefined;
6148
+ include?: string[] | undefined;
6009
6149
  excludeDeprecated?: boolean | undefined;
6010
6150
  excludeTests?: boolean | undefined;
6011
6151
  excludeSvgIcons?: boolean | undefined;
@@ -6086,15 +6226,15 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6086
6226
  }, "strip", z.ZodTypeAny, {
6087
6227
  kind: "npm";
6088
6228
  specifier: string;
6229
+ exclude?: string[] | undefined;
6089
6230
  implementationPath?: string | undefined;
6090
6231
  include?: string[] | undefined;
6091
- exclude?: string[] | undefined;
6092
6232
  }, {
6093
6233
  kind: "npm";
6094
6234
  specifier: string;
6235
+ exclude?: string[] | undefined;
6095
6236
  implementationPath?: string | undefined;
6096
6237
  include?: string[] | undefined;
6097
- exclude?: string[] | undefined;
6098
6238
  }>, z.ZodObject<{
6099
6239
  kind: z.ZodLiteral<"directory">;
6100
6240
  path: z.ZodString;
@@ -6103,13 +6243,13 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6103
6243
  }, "strip", z.ZodTypeAny, {
6104
6244
  path: string;
6105
6245
  kind: "directory";
6106
- include?: string[] | undefined;
6107
6246
  exclude?: string[] | undefined;
6247
+ include?: string[] | undefined;
6108
6248
  }, {
6109
6249
  path: string;
6110
6250
  kind: "directory";
6111
- include?: string[] | undefined;
6112
6251
  exclude?: string[] | undefined;
6252
+ include?: string[] | undefined;
6113
6253
  }>, z.ZodObject<{
6114
6254
  kind: z.ZodLiteral<"registry">;
6115
6255
  registryId: z.ZodString;
@@ -6127,8 +6267,8 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6127
6267
  installPath: string;
6128
6268
  severity?: "error" | "info" | "warn" | undefined;
6129
6269
  importPath?: string | undefined;
6130
- include?: string[] | undefined;
6131
6270
  exclude?: string[] | undefined;
6271
+ include?: string[] | undefined;
6132
6272
  registryHash?: string | undefined;
6133
6273
  }, {
6134
6274
  kind: "registry";
@@ -6136,8 +6276,8 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6136
6276
  installPath: string;
6137
6277
  severity?: "error" | "info" | "warn" | undefined;
6138
6278
  importPath?: string | undefined;
6139
- include?: string[] | undefined;
6140
6279
  exclude?: string[] | undefined;
6280
+ include?: string[] | undefined;
6141
6281
  registryHash?: string | undefined;
6142
6282
  receiptPath?: string | undefined;
6143
6283
  }>]>, "many">>;
@@ -6267,89 +6407,215 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6267
6407
  except: z.ZodArray<z.ZodString, "many">;
6268
6408
  prefer: z.ZodEnum<["token", "css-variable"]>;
6269
6409
  severity: z.ZodEnum<["error", "warn", "info"]>;
6410
+ exclude: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
6411
+ glob: z.ZodString;
6412
+ reason: z.ZodOptional<z.ZodString>;
6413
+ }, "strip", z.ZodTypeAny, {
6414
+ glob: string;
6415
+ reason?: string | undefined;
6416
+ }, {
6417
+ glob: string;
6418
+ reason?: string | undefined;
6419
+ }>]>, "many">>;
6270
6420
  }, "strip", z.ZodTypeAny, {
6271
6421
  kind: "style.rawColors.forbid";
6272
6422
  severity: "error" | "info" | "warn";
6273
6423
  except: string[];
6274
6424
  prefer: "token" | "css-variable";
6425
+ exclude?: (string | {
6426
+ glob: string;
6427
+ reason?: string | undefined;
6428
+ })[] | undefined;
6275
6429
  }, {
6276
6430
  kind: "style.rawColors.forbid";
6277
6431
  severity: "error" | "info" | "warn";
6278
6432
  except: string[];
6279
6433
  prefer: "token" | "css-variable";
6434
+ exclude?: (string | {
6435
+ glob: string;
6436
+ reason?: string | undefined;
6437
+ })[] | undefined;
6280
6438
  }>, z.ZodObject<{
6281
6439
  kind: z.ZodLiteral<"style.rawDimensions.forbid">;
6282
6440
  appliesTo: z.ZodArray<z.ZodString, "many">;
6283
6441
  prefer: z.ZodEnum<["token", "css-variable"]>;
6284
6442
  severity: z.ZodEnum<["error", "warn", "info"]>;
6443
+ exclude: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
6444
+ glob: z.ZodString;
6445
+ reason: z.ZodOptional<z.ZodString>;
6446
+ }, "strip", z.ZodTypeAny, {
6447
+ glob: string;
6448
+ reason?: string | undefined;
6449
+ }, {
6450
+ glob: string;
6451
+ reason?: string | undefined;
6452
+ }>]>, "many">>;
6285
6453
  }, "strip", z.ZodTypeAny, {
6286
6454
  kind: "style.rawDimensions.forbid";
6287
6455
  severity: "error" | "info" | "warn";
6288
6456
  prefer: "token" | "css-variable";
6289
6457
  appliesTo: string[];
6458
+ exclude?: (string | {
6459
+ glob: string;
6460
+ reason?: string | undefined;
6461
+ })[] | undefined;
6290
6462
  }, {
6291
6463
  kind: "style.rawDimensions.forbid";
6292
6464
  severity: "error" | "info" | "warn";
6293
6465
  prefer: "token" | "css-variable";
6294
6466
  appliesTo: string[];
6467
+ exclude?: (string | {
6468
+ glob: string;
6469
+ reason?: string | undefined;
6470
+ })[] | undefined;
6295
6471
  }>, z.ZodObject<{
6296
6472
  kind: z.ZodLiteral<"style.rawSpacing.mustMatchScale">;
6297
6473
  scale: z.ZodString;
6298
6474
  appliesTo: z.ZodArray<z.ZodString, "many">;
6299
6475
  severity: z.ZodEnum<["error", "warn", "info"]>;
6476
+ exclude: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
6477
+ glob: z.ZodString;
6478
+ reason: z.ZodOptional<z.ZodString>;
6479
+ }, "strip", z.ZodTypeAny, {
6480
+ glob: string;
6481
+ reason?: string | undefined;
6482
+ }, {
6483
+ glob: string;
6484
+ reason?: string | undefined;
6485
+ }>]>, "many">>;
6300
6486
  }, "strip", z.ZodTypeAny, {
6301
6487
  kind: "style.rawSpacing.mustMatchScale";
6302
6488
  severity: "error" | "info" | "warn";
6303
6489
  scale: string;
6304
6490
  appliesTo: string[];
6491
+ exclude?: (string | {
6492
+ glob: string;
6493
+ reason?: string | undefined;
6494
+ })[] | undefined;
6305
6495
  }, {
6306
6496
  kind: "style.rawSpacing.mustMatchScale";
6307
6497
  severity: "error" | "info" | "warn";
6308
6498
  scale: string;
6309
6499
  appliesTo: string[];
6500
+ exclude?: (string | {
6501
+ glob: string;
6502
+ reason?: string | undefined;
6503
+ })[] | undefined;
6310
6504
  }>, z.ZodObject<{
6311
6505
  kind: z.ZodLiteral<"style.fontSize.mustMatchScale">;
6312
6506
  scale: z.ZodString;
6313
6507
  severity: z.ZodEnum<["error", "warn", "info"]>;
6508
+ exclude: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
6509
+ glob: z.ZodString;
6510
+ reason: z.ZodOptional<z.ZodString>;
6511
+ }, "strip", z.ZodTypeAny, {
6512
+ glob: string;
6513
+ reason?: string | undefined;
6514
+ }, {
6515
+ glob: string;
6516
+ reason?: string | undefined;
6517
+ }>]>, "many">>;
6314
6518
  }, "strip", z.ZodTypeAny, {
6315
6519
  kind: "style.fontSize.mustMatchScale";
6316
6520
  severity: "error" | "info" | "warn";
6317
6521
  scale: string;
6522
+ exclude?: (string | {
6523
+ glob: string;
6524
+ reason?: string | undefined;
6525
+ })[] | undefined;
6318
6526
  }, {
6319
6527
  kind: "style.fontSize.mustMatchScale";
6320
6528
  severity: "error" | "info" | "warn";
6321
6529
  scale: string;
6530
+ exclude?: (string | {
6531
+ glob: string;
6532
+ reason?: string | undefined;
6533
+ })[] | undefined;
6322
6534
  }>, z.ZodObject<{
6323
6535
  kind: z.ZodLiteral<"style.cssVars.mustBeDefined">;
6324
6536
  severity: z.ZodEnum<["error", "warn", "info"]>;
6537
+ exclude: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
6538
+ glob: z.ZodString;
6539
+ reason: z.ZodOptional<z.ZodString>;
6540
+ }, "strip", z.ZodTypeAny, {
6541
+ glob: string;
6542
+ reason?: string | undefined;
6543
+ }, {
6544
+ glob: string;
6545
+ reason?: string | undefined;
6546
+ }>]>, "many">>;
6325
6547
  }, "strip", z.ZodTypeAny, {
6326
6548
  kind: "style.cssVars.mustBeDefined";
6327
6549
  severity: "error" | "info" | "warn";
6550
+ exclude?: (string | {
6551
+ glob: string;
6552
+ reason?: string | undefined;
6553
+ })[] | undefined;
6328
6554
  }, {
6329
6555
  kind: "style.cssVars.mustBeDefined";
6330
6556
  severity: "error" | "info" | "warn";
6557
+ exclude?: (string | {
6558
+ glob: string;
6559
+ reason?: string | undefined;
6560
+ })[] | undefined;
6331
6561
  }>]>, "many">>;
6332
6562
  jsx: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
6333
6563
  kind: z.ZodLiteral<"jsx.unknownProps.forbid">;
6334
6564
  severity: z.ZodEnum<["error", "warn", "info"]>;
6565
+ exclude: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
6566
+ glob: z.ZodString;
6567
+ reason: z.ZodOptional<z.ZodString>;
6568
+ }, "strip", z.ZodTypeAny, {
6569
+ glob: string;
6570
+ reason?: string | undefined;
6571
+ }, {
6572
+ glob: string;
6573
+ reason?: string | undefined;
6574
+ }>]>, "many">>;
6335
6575
  }, "strip", z.ZodTypeAny, {
6336
6576
  kind: "jsx.unknownProps.forbid";
6337
6577
  severity: "error" | "info" | "warn";
6578
+ exclude?: (string | {
6579
+ glob: string;
6580
+ reason?: string | undefined;
6581
+ })[] | undefined;
6338
6582
  }, {
6339
6583
  kind: "jsx.unknownProps.forbid";
6340
6584
  severity: "error" | "info" | "warn";
6585
+ exclude?: (string | {
6586
+ glob: string;
6587
+ reason?: string | undefined;
6588
+ })[] | undefined;
6341
6589
  }>, z.ZodObject<{
6342
6590
  kind: z.ZodLiteral<"jsx.inlineStyle.forbidRaw">;
6343
6591
  properties: z.ZodArray<z.ZodString, "many">;
6344
6592
  severity: z.ZodEnum<["error", "warn", "info"]>;
6593
+ exclude: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
6594
+ glob: z.ZodString;
6595
+ reason: z.ZodOptional<z.ZodString>;
6596
+ }, "strip", z.ZodTypeAny, {
6597
+ glob: string;
6598
+ reason?: string | undefined;
6599
+ }, {
6600
+ glob: string;
6601
+ reason?: string | undefined;
6602
+ }>]>, "many">>;
6345
6603
  }, "strip", z.ZodTypeAny, {
6346
6604
  kind: "jsx.inlineStyle.forbidRaw";
6347
6605
  severity: "error" | "info" | "warn";
6348
6606
  properties: string[];
6607
+ exclude?: (string | {
6608
+ glob: string;
6609
+ reason?: string | undefined;
6610
+ })[] | undefined;
6349
6611
  }, {
6350
6612
  kind: "jsx.inlineStyle.forbidRaw";
6351
6613
  severity: "error" | "info" | "warn";
6352
6614
  properties: string[];
6615
+ exclude?: (string | {
6616
+ glob: string;
6617
+ reason?: string | undefined;
6618
+ })[] | undefined;
6353
6619
  }>, z.ZodObject<{
6354
6620
  kind: z.ZodLiteral<"jsx.importPath.prefer">;
6355
6621
  from: z.ZodString;
@@ -6357,11 +6623,25 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6357
6623
  imported: z.ZodOptional<z.ZodString>;
6358
6624
  because: z.ZodOptional<z.ZodString>;
6359
6625
  severity: z.ZodEnum<["error", "warn", "info"]>;
6626
+ exclude: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
6627
+ glob: z.ZodString;
6628
+ reason: z.ZodOptional<z.ZodString>;
6629
+ }, "strip", z.ZodTypeAny, {
6630
+ glob: string;
6631
+ reason?: string | undefined;
6632
+ }, {
6633
+ glob: string;
6634
+ reason?: string | undefined;
6635
+ }>]>, "many">>;
6360
6636
  }, "strip", z.ZodTypeAny, {
6361
6637
  kind: "jsx.importPath.prefer";
6362
6638
  from: string;
6363
6639
  to: string;
6364
6640
  severity: "error" | "info" | "warn";
6641
+ exclude?: (string | {
6642
+ glob: string;
6643
+ reason?: string | undefined;
6644
+ })[] | undefined;
6365
6645
  imported?: string | undefined;
6366
6646
  because?: string | undefined;
6367
6647
  }, {
@@ -6369,6 +6649,10 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6369
6649
  from: string;
6370
6650
  to: string;
6371
6651
  severity: "error" | "info" | "warn";
6652
+ exclude?: (string | {
6653
+ glob: string;
6654
+ reason?: string | undefined;
6655
+ })[] | undefined;
6372
6656
  imported?: string | undefined;
6373
6657
  because?: string | undefined;
6374
6658
  }>, z.ZodObject<{
@@ -6377,17 +6661,35 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6377
6661
  to: z.ZodString;
6378
6662
  because: z.ZodOptional<z.ZodString>;
6379
6663
  severity: z.ZodEnum<["error", "warn", "info"]>;
6664
+ exclude: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
6665
+ glob: z.ZodString;
6666
+ reason: z.ZodOptional<z.ZodString>;
6667
+ }, "strip", z.ZodTypeAny, {
6668
+ glob: string;
6669
+ reason?: string | undefined;
6670
+ }, {
6671
+ glob: string;
6672
+ reason?: string | undefined;
6673
+ }>]>, "many">>;
6380
6674
  }, "strip", z.ZodTypeAny, {
6381
6675
  kind: "jsx.component.prefer";
6382
6676
  from: string;
6383
6677
  to: string;
6384
6678
  severity: "error" | "info" | "warn";
6679
+ exclude?: (string | {
6680
+ glob: string;
6681
+ reason?: string | undefined;
6682
+ })[] | undefined;
6385
6683
  because?: string | undefined;
6386
6684
  }, {
6387
6685
  kind: "jsx.component.prefer";
6388
6686
  from: string;
6389
6687
  to: string;
6390
6688
  severity: "error" | "info" | "warn";
6689
+ exclude?: (string | {
6690
+ glob: string;
6691
+ reason?: string | undefined;
6692
+ })[] | undefined;
6391
6693
  because?: string | undefined;
6392
6694
  }>]>, "many">>;
6393
6695
  tailwind: z.ZodOptional<z.ZodObject<{
@@ -6787,10 +7089,13 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6787
7089
  }>, "many">>;
6788
7090
  ci: z.ZodOptional<z.ZodObject<{
6789
7091
  failOnWarnings: z.ZodOptional<z.ZodBoolean>;
7092
+ failOnInert: z.ZodOptional<z.ZodBoolean>;
6790
7093
  }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
6791
7094
  failOnWarnings: z.ZodOptional<z.ZodBoolean>;
7095
+ failOnInert: z.ZodOptional<z.ZodBoolean>;
6792
7096
  }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
6793
7097
  failOnWarnings: z.ZodOptional<z.ZodBoolean>;
7098
+ failOnInert: z.ZodOptional<z.ZodBoolean>;
6794
7099
  }, z.ZodTypeAny, "passthrough">>>;
6795
7100
  }, "strict", z.ZodTypeAny, {
6796
7101
  components?: Record<string, {
@@ -6838,36 +7143,68 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6838
7143
  severity: "error" | "info" | "warn";
6839
7144
  except: string[];
6840
7145
  prefer: "token" | "css-variable";
7146
+ exclude?: (string | {
7147
+ glob: string;
7148
+ reason?: string | undefined;
7149
+ })[] | undefined;
6841
7150
  } | {
6842
7151
  kind: "style.rawDimensions.forbid";
6843
7152
  severity: "error" | "info" | "warn";
6844
7153
  prefer: "token" | "css-variable";
6845
7154
  appliesTo: string[];
7155
+ exclude?: (string | {
7156
+ glob: string;
7157
+ reason?: string | undefined;
7158
+ })[] | undefined;
6846
7159
  } | {
6847
7160
  kind: "style.rawSpacing.mustMatchScale";
6848
7161
  severity: "error" | "info" | "warn";
6849
7162
  scale: string;
6850
7163
  appliesTo: string[];
7164
+ exclude?: (string | {
7165
+ glob: string;
7166
+ reason?: string | undefined;
7167
+ })[] | undefined;
6851
7168
  } | {
6852
7169
  kind: "style.fontSize.mustMatchScale";
6853
7170
  severity: "error" | "info" | "warn";
6854
7171
  scale: string;
7172
+ exclude?: (string | {
7173
+ glob: string;
7174
+ reason?: string | undefined;
7175
+ })[] | undefined;
6855
7176
  } | {
6856
7177
  kind: "style.cssVars.mustBeDefined";
6857
7178
  severity: "error" | "info" | "warn";
7179
+ exclude?: (string | {
7180
+ glob: string;
7181
+ reason?: string | undefined;
7182
+ })[] | undefined;
6858
7183
  })[] | undefined;
6859
7184
  jsx?: ({
6860
7185
  kind: "jsx.unknownProps.forbid";
6861
7186
  severity: "error" | "info" | "warn";
7187
+ exclude?: (string | {
7188
+ glob: string;
7189
+ reason?: string | undefined;
7190
+ })[] | undefined;
6862
7191
  } | {
6863
7192
  kind: "jsx.inlineStyle.forbidRaw";
6864
7193
  severity: "error" | "info" | "warn";
6865
7194
  properties: string[];
7195
+ exclude?: (string | {
7196
+ glob: string;
7197
+ reason?: string | undefined;
7198
+ })[] | undefined;
6866
7199
  } | {
6867
7200
  kind: "jsx.importPath.prefer";
6868
7201
  from: string;
6869
7202
  to: string;
6870
7203
  severity: "error" | "info" | "warn";
7204
+ exclude?: (string | {
7205
+ glob: string;
7206
+ reason?: string | undefined;
7207
+ })[] | undefined;
6871
7208
  imported?: string | undefined;
6872
7209
  because?: string | undefined;
6873
7210
  } | {
@@ -6875,6 +7212,10 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6875
7212
  from: string;
6876
7213
  to: string;
6877
7214
  severity: "error" | "info" | "warn";
7215
+ exclude?: (string | {
7216
+ glob: string;
7217
+ reason?: string | undefined;
7218
+ })[] | undefined;
6878
7219
  because?: string | undefined;
6879
7220
  })[] | undefined;
6880
7221
  tailwind?: z.objectOutputType<{
@@ -6940,14 +7281,14 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6940
7281
  canonicalSources?: ({
6941
7282
  kind: "npm";
6942
7283
  specifier: string;
7284
+ exclude?: string[] | undefined;
6943
7285
  implementationPath?: string | undefined;
6944
7286
  include?: string[] | undefined;
6945
- exclude?: string[] | undefined;
6946
7287
  } | {
6947
7288
  path: string;
6948
7289
  kind: "directory";
6949
- include?: string[] | undefined;
6950
7290
  exclude?: string[] | undefined;
7291
+ include?: string[] | undefined;
6951
7292
  } | {
6952
7293
  kind: "registry";
6953
7294
  registryId: string;
@@ -6955,8 +7296,8 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6955
7296
  installPath: string;
6956
7297
  severity?: "error" | "info" | "warn" | undefined;
6957
7298
  importPath?: string | undefined;
6958
- include?: string[] | undefined;
6959
7299
  exclude?: string[] | undefined;
7300
+ include?: string[] | undefined;
6960
7301
  registryHash?: string | undefined;
6961
7302
  })[] | undefined;
6962
7303
  canonicalBridges?: {
@@ -6981,6 +7322,7 @@ declare const fragmentsConfigSchema: z.ZodObject<{
6981
7322
  }, z.ZodTypeAny, "passthrough"> | undefined;
6982
7323
  ci?: z.objectOutputType<{
6983
7324
  failOnWarnings: z.ZodOptional<z.ZodBoolean>;
7325
+ failOnInert: z.ZodOptional<z.ZodBoolean>;
6984
7326
  }, z.ZodTypeAny, "passthrough"> | undefined;
6985
7327
  }, {
6986
7328
  components?: Record<string, {
@@ -7028,36 +7370,68 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7028
7370
  severity: "error" | "info" | "warn";
7029
7371
  except: string[];
7030
7372
  prefer: "token" | "css-variable";
7373
+ exclude?: (string | {
7374
+ glob: string;
7375
+ reason?: string | undefined;
7376
+ })[] | undefined;
7031
7377
  } | {
7032
7378
  kind: "style.rawDimensions.forbid";
7033
7379
  severity: "error" | "info" | "warn";
7034
7380
  prefer: "token" | "css-variable";
7035
7381
  appliesTo: string[];
7382
+ exclude?: (string | {
7383
+ glob: string;
7384
+ reason?: string | undefined;
7385
+ })[] | undefined;
7036
7386
  } | {
7037
7387
  kind: "style.rawSpacing.mustMatchScale";
7038
7388
  severity: "error" | "info" | "warn";
7039
7389
  scale: string;
7040
7390
  appliesTo: string[];
7391
+ exclude?: (string | {
7392
+ glob: string;
7393
+ reason?: string | undefined;
7394
+ })[] | undefined;
7041
7395
  } | {
7042
7396
  kind: "style.fontSize.mustMatchScale";
7043
7397
  severity: "error" | "info" | "warn";
7044
7398
  scale: string;
7399
+ exclude?: (string | {
7400
+ glob: string;
7401
+ reason?: string | undefined;
7402
+ })[] | undefined;
7045
7403
  } | {
7046
7404
  kind: "style.cssVars.mustBeDefined";
7047
7405
  severity: "error" | "info" | "warn";
7406
+ exclude?: (string | {
7407
+ glob: string;
7408
+ reason?: string | undefined;
7409
+ })[] | undefined;
7048
7410
  })[] | undefined;
7049
7411
  jsx?: ({
7050
7412
  kind: "jsx.unknownProps.forbid";
7051
7413
  severity: "error" | "info" | "warn";
7414
+ exclude?: (string | {
7415
+ glob: string;
7416
+ reason?: string | undefined;
7417
+ })[] | undefined;
7052
7418
  } | {
7053
7419
  kind: "jsx.inlineStyle.forbidRaw";
7054
7420
  severity: "error" | "info" | "warn";
7055
7421
  properties: string[];
7422
+ exclude?: (string | {
7423
+ glob: string;
7424
+ reason?: string | undefined;
7425
+ })[] | undefined;
7056
7426
  } | {
7057
7427
  kind: "jsx.importPath.prefer";
7058
7428
  from: string;
7059
7429
  to: string;
7060
7430
  severity: "error" | "info" | "warn";
7431
+ exclude?: (string | {
7432
+ glob: string;
7433
+ reason?: string | undefined;
7434
+ })[] | undefined;
7061
7435
  imported?: string | undefined;
7062
7436
  because?: string | undefined;
7063
7437
  } | {
@@ -7065,6 +7439,10 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7065
7439
  from: string;
7066
7440
  to: string;
7067
7441
  severity: "error" | "info" | "warn";
7442
+ exclude?: (string | {
7443
+ glob: string;
7444
+ reason?: string | undefined;
7445
+ })[] | undefined;
7068
7446
  because?: string | undefined;
7069
7447
  })[] | undefined;
7070
7448
  tailwind?: z.objectInputType<{
@@ -7130,22 +7508,22 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7130
7508
  canonicalSources?: ({
7131
7509
  kind: "npm";
7132
7510
  specifier: string;
7511
+ exclude?: string[] | undefined;
7133
7512
  implementationPath?: string | undefined;
7134
7513
  include?: string[] | undefined;
7135
- exclude?: string[] | undefined;
7136
7514
  } | {
7137
7515
  path: string;
7138
7516
  kind: "directory";
7139
- include?: string[] | undefined;
7140
7517
  exclude?: string[] | undefined;
7518
+ include?: string[] | undefined;
7141
7519
  } | {
7142
7520
  kind: "registry";
7143
7521
  registryId: string;
7144
7522
  installPath: string;
7145
7523
  severity?: "error" | "info" | "warn" | undefined;
7146
7524
  importPath?: string | undefined;
7147
- include?: string[] | undefined;
7148
7525
  exclude?: string[] | undefined;
7526
+ include?: string[] | undefined;
7149
7527
  registryHash?: string | undefined;
7150
7528
  receiptPath?: string | undefined;
7151
7529
  })[] | undefined;
@@ -7171,6 +7549,7 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7171
7549
  }, z.ZodTypeAny, "passthrough"> | undefined;
7172
7550
  ci?: z.objectInputType<{
7173
7551
  failOnWarnings: z.ZodOptional<z.ZodBoolean>;
7552
+ failOnInert: z.ZodOptional<z.ZodBoolean>;
7174
7553
  }, z.ZodTypeAny, "passthrough"> | undefined;
7175
7554
  }>>;
7176
7555
  inspect: z.ZodOptional<z.ZodObject<{
@@ -7308,36 +7687,68 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7308
7687
  severity: "error" | "info" | "warn";
7309
7688
  except: string[];
7310
7689
  prefer: "token" | "css-variable";
7690
+ exclude?: (string | {
7691
+ glob: string;
7692
+ reason?: string | undefined;
7693
+ })[] | undefined;
7311
7694
  } | {
7312
7695
  kind: "style.rawDimensions.forbid";
7313
7696
  severity: "error" | "info" | "warn";
7314
7697
  prefer: "token" | "css-variable";
7315
7698
  appliesTo: string[];
7699
+ exclude?: (string | {
7700
+ glob: string;
7701
+ reason?: string | undefined;
7702
+ })[] | undefined;
7316
7703
  } | {
7317
7704
  kind: "style.rawSpacing.mustMatchScale";
7318
7705
  severity: "error" | "info" | "warn";
7319
7706
  scale: string;
7320
7707
  appliesTo: string[];
7708
+ exclude?: (string | {
7709
+ glob: string;
7710
+ reason?: string | undefined;
7711
+ })[] | undefined;
7321
7712
  } | {
7322
7713
  kind: "style.fontSize.mustMatchScale";
7323
7714
  severity: "error" | "info" | "warn";
7324
7715
  scale: string;
7716
+ exclude?: (string | {
7717
+ glob: string;
7718
+ reason?: string | undefined;
7719
+ })[] | undefined;
7325
7720
  } | {
7326
7721
  kind: "style.cssVars.mustBeDefined";
7327
7722
  severity: "error" | "info" | "warn";
7723
+ exclude?: (string | {
7724
+ glob: string;
7725
+ reason?: string | undefined;
7726
+ })[] | undefined;
7328
7727
  })[] | undefined;
7329
7728
  jsx?: ({
7330
7729
  kind: "jsx.unknownProps.forbid";
7331
7730
  severity: "error" | "info" | "warn";
7731
+ exclude?: (string | {
7732
+ glob: string;
7733
+ reason?: string | undefined;
7734
+ })[] | undefined;
7332
7735
  } | {
7333
7736
  kind: "jsx.inlineStyle.forbidRaw";
7334
7737
  severity: "error" | "info" | "warn";
7335
7738
  properties: string[];
7739
+ exclude?: (string | {
7740
+ glob: string;
7741
+ reason?: string | undefined;
7742
+ })[] | undefined;
7336
7743
  } | {
7337
7744
  kind: "jsx.importPath.prefer";
7338
7745
  from: string;
7339
7746
  to: string;
7340
7747
  severity: "error" | "info" | "warn";
7748
+ exclude?: (string | {
7749
+ glob: string;
7750
+ reason?: string | undefined;
7751
+ })[] | undefined;
7341
7752
  imported?: string | undefined;
7342
7753
  because?: string | undefined;
7343
7754
  } | {
@@ -7345,6 +7756,10 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7345
7756
  from: string;
7346
7757
  to: string;
7347
7758
  severity: "error" | "info" | "warn";
7759
+ exclude?: (string | {
7760
+ glob: string;
7761
+ reason?: string | undefined;
7762
+ })[] | undefined;
7348
7763
  because?: string | undefined;
7349
7764
  })[] | undefined;
7350
7765
  tailwind?: z.objectOutputType<{
@@ -7410,14 +7825,14 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7410
7825
  canonicalSources?: ({
7411
7826
  kind: "npm";
7412
7827
  specifier: string;
7828
+ exclude?: string[] | undefined;
7413
7829
  implementationPath?: string | undefined;
7414
7830
  include?: string[] | undefined;
7415
- exclude?: string[] | undefined;
7416
7831
  } | {
7417
7832
  path: string;
7418
7833
  kind: "directory";
7419
- include?: string[] | undefined;
7420
7834
  exclude?: string[] | undefined;
7835
+ include?: string[] | undefined;
7421
7836
  } | {
7422
7837
  kind: "registry";
7423
7838
  registryId: string;
@@ -7425,8 +7840,8 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7425
7840
  installPath: string;
7426
7841
  severity?: "error" | "info" | "warn" | undefined;
7427
7842
  importPath?: string | undefined;
7428
- include?: string[] | undefined;
7429
7843
  exclude?: string[] | undefined;
7844
+ include?: string[] | undefined;
7430
7845
  registryHash?: string | undefined;
7431
7846
  })[] | undefined;
7432
7847
  canonicalBridges?: {
@@ -7451,6 +7866,7 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7451
7866
  }, z.ZodTypeAny, "passthrough"> | undefined;
7452
7867
  ci?: z.objectOutputType<{
7453
7868
  failOnWarnings: z.ZodOptional<z.ZodBoolean>;
7869
+ failOnInert: z.ZodOptional<z.ZodBoolean>;
7454
7870
  }, z.ZodTypeAny, "passthrough"> | undefined;
7455
7871
  } | undefined;
7456
7872
  components?: string[] | undefined;
@@ -7494,17 +7910,17 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7494
7910
  bundleSize?: number | undefined;
7495
7911
  } | undefined;
7496
7912
  } | undefined;
7497
- include?: string[] | undefined;
7498
7913
  exclude?: string[] | undefined;
7914
+ include?: string[] | undefined;
7499
7915
  registry?: z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
7500
7916
  app?: {
7501
7917
  path?: string | undefined;
7502
- include?: string[] | undefined;
7503
7918
  exclude?: string[] | undefined;
7919
+ include?: string[] | undefined;
7504
7920
  } | undefined;
7505
7921
  storybook?: {
7506
- include?: string[] | undefined;
7507
7922
  exclude?: string[] | undefined;
7923
+ include?: string[] | undefined;
7508
7924
  excludeDeprecated?: boolean | undefined;
7509
7925
  excludeTests?: boolean | undefined;
7510
7926
  excludeSvgIcons?: boolean | undefined;
@@ -7606,36 +8022,68 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7606
8022
  severity: "error" | "info" | "warn";
7607
8023
  except: string[];
7608
8024
  prefer: "token" | "css-variable";
8025
+ exclude?: (string | {
8026
+ glob: string;
8027
+ reason?: string | undefined;
8028
+ })[] | undefined;
7609
8029
  } | {
7610
8030
  kind: "style.rawDimensions.forbid";
7611
8031
  severity: "error" | "info" | "warn";
7612
8032
  prefer: "token" | "css-variable";
7613
8033
  appliesTo: string[];
8034
+ exclude?: (string | {
8035
+ glob: string;
8036
+ reason?: string | undefined;
8037
+ })[] | undefined;
7614
8038
  } | {
7615
8039
  kind: "style.rawSpacing.mustMatchScale";
7616
8040
  severity: "error" | "info" | "warn";
7617
8041
  scale: string;
7618
8042
  appliesTo: string[];
8043
+ exclude?: (string | {
8044
+ glob: string;
8045
+ reason?: string | undefined;
8046
+ })[] | undefined;
7619
8047
  } | {
7620
8048
  kind: "style.fontSize.mustMatchScale";
7621
8049
  severity: "error" | "info" | "warn";
7622
8050
  scale: string;
8051
+ exclude?: (string | {
8052
+ glob: string;
8053
+ reason?: string | undefined;
8054
+ })[] | undefined;
7623
8055
  } | {
7624
8056
  kind: "style.cssVars.mustBeDefined";
7625
8057
  severity: "error" | "info" | "warn";
8058
+ exclude?: (string | {
8059
+ glob: string;
8060
+ reason?: string | undefined;
8061
+ })[] | undefined;
7626
8062
  })[] | undefined;
7627
8063
  jsx?: ({
7628
8064
  kind: "jsx.unknownProps.forbid";
7629
8065
  severity: "error" | "info" | "warn";
8066
+ exclude?: (string | {
8067
+ glob: string;
8068
+ reason?: string | undefined;
8069
+ })[] | undefined;
7630
8070
  } | {
7631
8071
  kind: "jsx.inlineStyle.forbidRaw";
7632
8072
  severity: "error" | "info" | "warn";
7633
8073
  properties: string[];
8074
+ exclude?: (string | {
8075
+ glob: string;
8076
+ reason?: string | undefined;
8077
+ })[] | undefined;
7634
8078
  } | {
7635
8079
  kind: "jsx.importPath.prefer";
7636
8080
  from: string;
7637
8081
  to: string;
7638
8082
  severity: "error" | "info" | "warn";
8083
+ exclude?: (string | {
8084
+ glob: string;
8085
+ reason?: string | undefined;
8086
+ })[] | undefined;
7639
8087
  imported?: string | undefined;
7640
8088
  because?: string | undefined;
7641
8089
  } | {
@@ -7643,6 +8091,10 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7643
8091
  from: string;
7644
8092
  to: string;
7645
8093
  severity: "error" | "info" | "warn";
8094
+ exclude?: (string | {
8095
+ glob: string;
8096
+ reason?: string | undefined;
8097
+ })[] | undefined;
7646
8098
  because?: string | undefined;
7647
8099
  })[] | undefined;
7648
8100
  tailwind?: z.objectInputType<{
@@ -7708,22 +8160,22 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7708
8160
  canonicalSources?: ({
7709
8161
  kind: "npm";
7710
8162
  specifier: string;
8163
+ exclude?: string[] | undefined;
7711
8164
  implementationPath?: string | undefined;
7712
8165
  include?: string[] | undefined;
7713
- exclude?: string[] | undefined;
7714
8166
  } | {
7715
8167
  path: string;
7716
8168
  kind: "directory";
7717
- include?: string[] | undefined;
7718
8169
  exclude?: string[] | undefined;
8170
+ include?: string[] | undefined;
7719
8171
  } | {
7720
8172
  kind: "registry";
7721
8173
  registryId: string;
7722
8174
  installPath: string;
7723
8175
  severity?: "error" | "info" | "warn" | undefined;
7724
8176
  importPath?: string | undefined;
7725
- include?: string[] | undefined;
7726
8177
  exclude?: string[] | undefined;
8178
+ include?: string[] | undefined;
7727
8179
  registryHash?: string | undefined;
7728
8180
  receiptPath?: string | undefined;
7729
8181
  })[] | undefined;
@@ -7749,6 +8201,7 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7749
8201
  }, z.ZodTypeAny, "passthrough"> | undefined;
7750
8202
  ci?: z.objectInputType<{
7751
8203
  failOnWarnings: z.ZodOptional<z.ZodBoolean>;
8204
+ failOnInert: z.ZodOptional<z.ZodBoolean>;
7752
8205
  }, z.ZodTypeAny, "passthrough"> | undefined;
7753
8206
  } | undefined;
7754
8207
  components?: string[] | undefined;
@@ -7792,17 +8245,17 @@ declare const fragmentsConfigSchema: z.ZodObject<{
7792
8245
  bundleSize?: number | undefined;
7793
8246
  } | undefined;
7794
8247
  } | undefined;
7795
- include?: string[] | undefined;
7796
8248
  exclude?: string[] | undefined;
8249
+ include?: string[] | undefined;
7797
8250
  registry?: z.objectInputType<{}, z.ZodTypeAny, "passthrough"> | undefined;
7798
8251
  app?: {
7799
8252
  path?: string | undefined;
7800
- include?: string[] | undefined;
7801
8253
  exclude?: string[] | undefined;
8254
+ include?: string[] | undefined;
7802
8255
  } | undefined;
7803
8256
  storybook?: {
7804
- include?: string[] | undefined;
7805
8257
  exclude?: string[] | undefined;
8258
+ include?: string[] | undefined;
7806
8259
  excludeDeprecated?: boolean | undefined;
7807
8260
  excludeTests?: boolean | undefined;
7808
8261
  excludeSvgIcons?: boolean | undefined;
@@ -9559,6 +10012,14 @@ declare const recipeDefinitionSchema: z.ZodObject<{
9559
10012
  tags?: string[] | undefined;
9560
10013
  }>;
9561
10014
 
10015
+ /**
10016
+ * Recover the authored declaration before Zod stripped unknown keys.
10017
+ *
10018
+ * `defineConfig` still returns the schema-parsed config so its runtime semantics
10019
+ * do not change. The non-enumerable source declaration exists only long enough
10020
+ * for config loaders to diagnose keys that validated but would otherwise vanish.
10021
+ */
10022
+ declare function configDeclarationForDiagnostics(config: unknown): unknown;
9562
10023
  declare function defineConfig<TConfig extends FragmentsConfig>(config: TConfig): TConfig;
9563
10024
 
9564
10025
  /**
@@ -11446,6 +11907,36 @@ declare function vocabularyRank(ruleId: string): number;
11446
11907
  /** Comparator ordering rule ids vocabulary-first (Tier A before hygiene). */
11447
11908
  declare function compareByVocabularyRank(a: string, b: string): number;
11448
11909
 
11910
+ /**
11911
+ * Rule families — the single source of truth for the broad ids a config may name
11912
+ * instead of a concrete rule.
11913
+ *
11914
+ * `govern.rules` accepts two vocabularies: a concrete rule id (`styles/no-raw-color`)
11915
+ * and a **family** id (`tokens/hardcoded-values`) that stands for several rules at once.
11916
+ * Presets and Cloud-served policies author the family form, so this expansion decides
11917
+ * what a preset or a served policy actually turns on.
11918
+ *
11919
+ * It used to be written out three times — the engine's finding-override pass, the fact
11920
+ * compiler, and the governance-integrity roster — and the three disagreed:
11921
+ * `styles/no-raw-typography` was a member of `tokens/hardcoded-values` in the engine and
11922
+ * absent from the compiler, so one config produced two different answers about the same
11923
+ * rule and nothing asserted they matched. One definition, one expansion, one coverage
11924
+ * test (`families.test.ts` checks every member is a registered rule id).
11925
+ *
11926
+ * Family ids are NOT rule ids: nothing runs under `tokens/hardcoded-values`, it only
11927
+ * expands. Adding a rule to a family is a behavior change for every config that names
11928
+ * the family — classify new rules here in the same change that registers them.
11929
+ */
11930
+ declare const RULE_FAMILY_MEMBERS: Readonly<Record<string, readonly string[]>>;
11931
+ /** The family ids themselves — recognized in `govern.rules`, never executed. */
11932
+ declare const RULE_FAMILY_IDS: ReadonlySet<string>;
11933
+ declare function isRuleFamilyId(ruleId: string): boolean;
11934
+ /**
11935
+ * The concrete rule ids a `govern.rules` key applies to: a family expands, anything
11936
+ * else is itself. Every consumer of the family vocabulary goes through this.
11937
+ */
11938
+ declare function ruleFamilyMembers(ruleId: string): readonly string[];
11939
+
11449
11940
  /**
11450
11941
  * Rule presets — the customer default vs the full `fragments` dogfood preset.
11451
11942
  *
@@ -11916,6 +12407,20 @@ declare function resolveSpacingValue(input: {
11916
12407
  */
11917
12408
 
11918
12409
  type GovernanceIntegrityStatus = "healthy" | "degraded" | "inert";
12410
+ type InertConfigDiagnosticKind = "orphan-scale" | "unconsumed-key" | "unmatched-exclude" | "colliding-record" | "overridden-record-severity";
12411
+ type InertConfigDiagnosticCode = "FUI9004" | "FUI9005" | "FUI9006" | "FUI9007" | "FUI9008";
12412
+ interface InertConfigDiagnostic {
12413
+ code: InertConfigDiagnosticCode;
12414
+ kind: InertConfigDiagnosticKind;
12415
+ severity: "warn";
12416
+ path: string;
12417
+ message: string;
12418
+ }
12419
+ interface GovernanceIntegrityRoster {
12420
+ configured: number;
12421
+ active: number;
12422
+ inert: number;
12423
+ }
11919
12424
  type GovernanceIntegrityFamilyId = "policy" | "components" | "tokens" | "hygiene" | "blocking-deny";
11920
12425
  interface GovernanceIntegrityFamily {
11921
12426
  id: GovernanceIntegrityFamilyId;
@@ -11938,6 +12443,8 @@ interface GovernanceIntegrityInput {
11938
12443
  /** Whether `tokens/css-vars-must-be-defined` is activated (caller supplies). */
11939
12444
  cssVarsActive?: boolean;
11940
12445
  mode?: "scan" | "ci" | "hook" | "doctor" | "setup";
12446
+ /** Named, verdict-neutral diagnostics derived from the authored config. */
12447
+ configDiagnostics?: readonly InertConfigDiagnostic[];
11941
12448
  }
11942
12449
  interface GovernanceIntegrityVerdict {
11943
12450
  status: GovernanceIntegrityStatus;
@@ -11948,6 +12455,8 @@ interface GovernanceIntegrityVerdict {
11948
12455
  armed: GovernanceIntegrityFamilyId[];
11949
12456
  summary: string;
11950
12457
  remediations: string[];
12458
+ configDiagnostics?: InertConfigDiagnostic[];
12459
+ roster?: GovernanceIntegrityRoster;
11951
12460
  }
11952
12461
  /**
11953
12462
  * Whether a canonical source contributes an effective component vocabulary.
@@ -11965,6 +12474,81 @@ declare function isEffectiveCanonicalSource(source: CanonicalSource): boolean;
11965
12474
  * canonical source. Accepts the raw fact `options` bag (values are `unknown`).
11966
12475
  */
11967
12476
  declare function hasEffectiveComponentVocabulary(options: Record<string, unknown> | undefined): boolean;
12477
+ /**
12478
+ * Name a config record that the fact index dropped as a first-wins duplicate.
12479
+ *
12480
+ * This is the Layer-6 backstop, not the primary mechanism: merge-time displacement
12481
+ * (`mergeGovernanceConfigs`) already makes the later record win for every shape it can
12482
+ * key. What reaches here is a collision displacement could NOT resolve — two records
12483
+ * that compile to one fact id from different channels (config vs bridge vs Cloud
12484
+ * policy). The invariant it defends: a dropped policy fact is never silent.
12485
+ *
12486
+ * Returns `null` for non-config facts, so usage/token collisions stay on the internal
12487
+ * debug channel.
12488
+ */
12489
+ declare function collidingRecordDiagnostic(conflict: FactConflict): InertConfigDiagnostic | null;
12490
+ /**
12491
+ * Aggregate every observed collision into one diagnostic per colliding fact id.
12492
+ *
12493
+ * Three same-kind records on one fact id produce TWO conflicts (first-wins keeps the
12494
+ * first and skips both others), and both render the same path. Emitting them separately
12495
+ * meant the `(code, path)` dedupe every consumer runs kept only the last pair, so the
12496
+ * intermediate record was dropped in silence — the same failure the per-kind path fixed
12497
+ * one layer down. Aggregating names the count and lists every dropped setting, and one
12498
+ * user edit still resolves the whole group.
12499
+ */
12500
+ declare function collidingRecordDiagnostics(conflicts: readonly FactConflict[]): InertConfigDiagnostic[];
12501
+ /**
12502
+ * The authored config record a policy fact was compiled from, or `null` when the fact
12503
+ * did not come from a `govern.*` record (token facts, usage facts). One table, read by
12504
+ * both the collision diagnostic and the override backstop below.
12505
+ */
12506
+ declare function configRecordShape(kind: string): {
12507
+ section: string;
12508
+ record: string;
12509
+ } | null;
12510
+ /**
12511
+ * Name a `govern.rules` override that outranks the severity a policy record authored.
12512
+ *
12513
+ * The backstop for the path provenance cannot reach. Locally, presets are merged here,
12514
+ * so a preset's broad rule entry is tagged and treated as a default — a user record's
12515
+ * `severity: "error"` wins (report #2 B4). A Cloud-served policy arrives whole: no merge
12516
+ * ran, nothing is tagged, and a broad `tokens/hardcoded-values` entry in it still
12517
+ * displaces the severity a record next to it authored. That cannot be fixed at this
12518
+ * boundary, so it is named instead. Silence is the defect; an unfixable case must at
12519
+ * least speak.
12520
+ */
12521
+ declare function overriddenRecordSeverityDiagnostic(input: {
12522
+ ruleId: string;
12523
+ /** Config path of the override that won — `govern.rules[...]` or `govern.severity`. */
12524
+ source: string;
12525
+ section: string;
12526
+ record: string;
12527
+ authored: string;
12528
+ enforced: string;
12529
+ }): InertConfigDiagnostic;
12530
+ /**
12531
+ * Diagnose config keys that the permissive validation boundary accepts but the
12532
+ * runtime cannot consume. The parsed config is the source of truth for stripped
12533
+ * keys; explicit allow-sets cover intentional `.passthrough()`/record seams.
12534
+ */
12535
+ declare function detectUnconsumedConfigKeys(authoredConfig: unknown, parsedConfig: unknown): InertConfigDiagnostic[];
12536
+ /**
12537
+ * Diagnose excludes that scope nothing: the key is consumed and the glob is valid, but
12538
+ * it matched no scanned file, so it silently exempts nothing while reading as active
12539
+ * policy. That is the same "declared ≠ armed" failure this module exists to name — a
12540
+ * stale path after a refactor is the common cause.
12541
+ *
12542
+ * `scannedFiles` are repo-relative paths supplied by the caller; core never reads the
12543
+ * filesystem. An empty scan (nothing to compare against) yields no diagnostics rather
12544
+ * than flagging every exclude.
12545
+ */
12546
+ declare function detectUnmatchedPolicyExcludes(policy: GovernanceConfig | undefined, scannedFiles: readonly string[]): InertConfigDiagnostic[];
12547
+ /**
12548
+ * Compare locally declared scales with the effective property-policy graph.
12549
+ * Preset-only scales are not diagnosed because the user did not declare them.
12550
+ */
12551
+ declare function detectOrphanGovernanceScales(declaredPolicy: GovernanceConfig | undefined, effectivePolicy: GovernanceConfig | undefined): InertConfigDiagnostic[];
11968
12552
  declare function evaluateGovernanceIntegrity(input: GovernanceIntegrityInput): GovernanceIntegrityVerdict;
11969
12553
 
11970
12554
  interface CanonicalDirectionConflict {
@@ -11984,6 +12568,60 @@ declare function projectCanonicalDirectionConflicts(ix: FactIndex, canonicalSour
11984
12568
  declare function canonicalDirectionConflictsTarget(conflicts: readonly CanonicalDirectionConflict[], importPath: string | undefined, exportName: string): boolean;
11985
12569
 
11986
12570
  declare function canonicalBridgeContractMappings(bridges: readonly CanonicalBridgeV1[] | undefined): ContractCanonicalMappingInput[];
12571
+ /**
12572
+ * One authored bridge, projected into the two facts a consumer needs to honor
12573
+ * it WITHOUT widening it: the npm canonical source its underlying export
12574
+ * implies, and the local component the user actually sanctioned.
12575
+ *
12576
+ * The pairing is the point. A bridge says "`src/components/Button.tsx#Button`
12577
+ * wraps `@mui/material#Button`" — a fact about ONE component. Reading only the
12578
+ * source half turns it into "`@mui/material#Button` is canonical in this repo",
12579
+ * which is a strictly wider claim: every component in the tree that happens to
12580
+ * render that export inherits the sanction it was never given.
12581
+ */
12582
+ interface CanonicalBridgeIdentityBinding {
12583
+ /** The npm canonical source this bridge's underlying export implies. */
12584
+ source: Extract<CanonicalSource, {
12585
+ kind: "npm";
12586
+ }>;
12587
+ /** The sanctioned local component — `<repo-relative-file>#<exportName>`. */
12588
+ localComponentKey: string;
12589
+ }
12590
+ /**
12591
+ * The per-component bindings an authored bridge set implies — one definition,
12592
+ * because every consumer of "which components did the user sanction, against
12593
+ * which package export" must see the same set.
12594
+ *
12595
+ * Consumed by `classify`'s RENDER_ROOT_CANONICAL context, which gates the
12596
+ * signal on `localComponentKey`: only the component the bridge names may claim
12597
+ * the bridge's canonical, so a sanction stays as narrow as the user authored it.
12598
+ */
12599
+ declare function canonicalBridgeIdentityBindings(bridges: readonly CanonicalBridgeV1[] | undefined): CanonicalBridgeIdentityBinding[];
12600
+ /**
12601
+ * The npm canonical sources an authored bridge set implies — the source half of
12602
+ * `canonicalBridgeIdentityBindings`, for consumers that resolve the whole tree
12603
+ * at once and scope the result themselves.
12604
+ *
12605
+ * A bridge states that `underlying.packageName#exportName` IS the canonical
12606
+ * thing a local component wraps, so identity resolution treats that export as
12607
+ * declared, exactly as an explicit `govern.canonicalSources` npm entry would.
12608
+ * Before this projection was shared, a repo whose decision lived only in
12609
+ * `canonicalBridges` (hand-authored, or written by `identity sanction`)
12610
+ * resolved render roots at `canonical` grade in the pipeline while the
12611
+ * classifier saw no declaration at all — the authored fact reached one consumer
12612
+ * and silently missed the other.
12613
+ *
12614
+ * Consumer: the scan pipeline's identity input
12615
+ * (`buildCanonicalDirectionIdentityInput`), which resolves render roots for the
12616
+ * whole definition set and reports the grade rather than acting on it.
12617
+ * Anything that turns the grade into an AUTHORED decision must use
12618
+ * `canonicalBridgeIdentityBindings` instead — this projection deliberately
12619
+ * drops `local.componentKey`, so on its own it cannot tell a sanctioned wrapper
12620
+ * from any other component that renders the same export.
12621
+ */
12622
+ declare function canonicalBridgeIdentitySources(bridges: readonly CanonicalBridgeV1[] | undefined): Array<Extract<CanonicalSource, {
12623
+ kind: "npm";
12624
+ }>>;
11987
12625
 
11988
12626
  declare const EFFECTIVE_GOVERNANCE_INPUTS_SCHEMA: "effective-governance-inputs:v1";
11989
12627
  interface EffectiveGovernanceInputsSourceState {
@@ -12044,4 +12682,4 @@ interface ComponentKeyInput {
12044
12682
  */
12045
12683
  declare function buildComponentKey({ repoRelativeFile, exportName }: ComponentKeyInput): string;
12046
12684
 
12047
- export { type A11yNameRequiredFact, AGENT_CONTEXT_RELATIVE_PATH, AgentFormat, BLOCKING_RULE_ALLOWLIST, BRAND, BlockDefinition, type Brand, type BuildAgentFormatInput, type BuildRegistryInstallPlanInput, type BundleArtifactMetadata, type BundleComponentShard, type BundleManifest, type BundleManifestComponentEntry, type BundleSchemaVersion, type BundleTarget, type BundleTokenFile, CATALOG_FIXTURE_A_FCID, type CSF2Story, type CSSGeneratorOptions, CanonicalBridgeV1, type CanonicalCandidateFact, type CanonicalDirectionConflict, Finding as CanonicalFinding, type CanonicalIdentityReference, type CanonicalMappingFact, type CanonicalReplacementFact, CanonicalSource, type CheckStoryExclusionOpts, type CheckedSpacingValue, type ClassNameDynamicFact, type ClassNameDynamicReason, type ClassNameFact, type ClassNameLiteralFact, type ClassNameOrigin, type ClassifyIdentityInput, type CompileEffectiveGovernanceInputsOptions, CompiledBlock, type CompiledContractOutput, CompiledFragment, type ComplexityTier, type ComponentCapabilityFact, type ComponentContract, type ComponentDefinitionFact, type ComponentDefinitionRenderRoot, type ComponentFactInput, type ComponentId, type ComponentIdentityFact, type ComponentIdentityUsage, type ComponentKeyInput, type ComponentLevelFact, type ComponentMetadataFact, type CompositionAnalysis, type CompositionAuthoringEntry, type CompositionChildSelector, type CompositionConstraint, type CompositionGuideline, type CompositionPattern, type CompositionRegionSelector, type CompositionSuggestion, type CompositionWarning, type ConformChange, type ConformComponentMapping, type ConformConfidence, type ConformCoverage, type ConformInput, type ConformLocation, type ConformPropMapping, type ConformResult, type ConformSuggestion, type ConformToken, type ConformUnresolved, ContractCanonicalMappingInput, ContractCatalogInput, ContractDomain, type ContractStampPin, type ContractStampRecord, DEFAULTS, DEFAULT_ENHANCED_STYLE_PROPERTIES, DEFAULT_STYLE_PROPERTIES, type DTCGColorValue, type DTCGDimensionValue, type DTCGGroup, type DTCGToken, type DTCGTokenFile, type DTCGTokenType, type Decorator, type Defaults, type DeltaEMatch, type DesignSystemContext, type DesignToken, type DesignTokenParseOptions, type DiscoverComponentsOptions, EFFECTIVE_GOVERNANCE_INPUTS_SCHEMA, type EffectiveGovernanceInputs, type EffectiveGovernanceInputsSourceState, type EnhancedStyleComparisonResult, type EnhancedStyleDiffItem, EvidenceGrade, type ExclusionReason, type ExclusionResult, type ExternalIdentityReference, FRAGMENTS_INTERNAL_RULE_IDS, type Fact, type FactEvidence, type FactId, FactIndex, type FactKind, type FactLocation, type FactOfKind, FigmaBooleanMapping, FigmaChildrenMapping, FigmaEnumMapping, FigmaInstanceMapping, FigmaStringMapping, FigmaTextContentMapping, type FigmaVariable, type FigmaVariableCollection, Finding, FindingFix, type Fragment, type FragmentAccessibility, FragmentComponent, type FragmentContextOptions, FragmentDefinition, FragmentDefinitionV2, type FragmentDoNotItem, type FragmentFigma, type FragmentIndex, type FragmentMeta as FragmentJsonMeta, type FragmentUsage as FragmentJsonUsage, type FragmentPattern, type FragmentRegistry, type FragmentRelated, FragmentsConfig, Severity as FuiSeverity, GovernanceConfig, type GovernanceIntegrityFamily, type GovernanceIntegrityFamilyId, type GovernanceIntegrityInput, type GovernanceIntegrityStatus, type GovernanceIntegrityVerdict, GovernanceSeverity, GovernedFragmentDefinition, type IdentityClassification, type IdentityConfidence, type IdentityDecision, type IdentityFact, type IdentityState, type InferProps, type JsxComponentPreferredFact, type JsxImportPathPreferredFact, type JsxInlineStyleForbiddenRawFact, type JsxUnknownPropsForbiddenFact, type Loader, type LocalIdentityReference, type McpBlock, type McpCapability, type McpComponent, type McpComponentExample, type McpComponentGuidance, type McpComponentMetadata, type McpComponentProp, type McpComponentRelation, type McpCompoundChild, type McpGuidancePattern, type McpPerformanceData, type McpPerformanceImport, type McpPerformanceSummary, type McpSnapshot, type McpSnapshotMetadata, type McpSnapshotSchemaVersion, type McpSourceType, type McpToken, type McpTokenData, type NearestByDeltaEOptions, type NormalizedStyleMap, type NormalizedToken, PRESET_NAMES, PROVE_DEFAULT_MAX_PASSES, PROVE_MAX_PASSES, type ParseTokensOptions, type ParsedToken, type PerformanceData as PerfData, type PerformanceSummary as PerfSummary, type PerformanceBudgets, type PerformanceConfig, type PolicyFact, type PresetRuleState, type PreviewConfig, type PreviewRuntimeOptions, type PreviewRuntimeState, type PreviewVariantLike, PreviewVariantRuntime, type PropMetadataFact, type PropValueAvoidedFact, type PropValueForbiddenFact, type ProveCallbacks, type ProveLoopResult, type ProveOptions, type ProvePass, type ProvePassSampling, type ProveResidual, type ProveSample, type ProveSamplerArgs, type ProveVerdict, RAW_HTML_ADVISORY_TAGS, RAW_HTML_CANONICAL_TAGS, RAW_HTML_INPUT_TYPE_CANONICALS, RAW_HTML_ROLE_CANONICALS, type RGB, type RGBA, RULES, RULE_TIER, type RawHtmlCanonicalMatch, type RawHtmlPrecisionTier, RegistryArtifact, type RegistryComponentEntry, RegistryDependency, type RegistryInstallPlan, RegistryInstallReceipt, type RegistryPropEntry, type RegistryWritePlan, RelationshipType, type ResolvedDTCGToken, ResolvedGovernedFragmentDefinition, type ResolvedIdentityRenderRoot, type ResolvedIntrinsicIdentityRoot, type Rule, type RuleFn, type RuleTier, type SCSSGeneratorOptions, type ScaleFact, type ScaleValueFact, Severity, type SpacingResolutionScale, type SpacingTokenLookup, type Story, type StoryArgType, type StoryContext, type StoryMeta, type StoryModule, StorybookFilterConfig, type StructuralConfidenceFact, type StyleComparisonOptions, type StyleComparisonResult, type StyleCssVarsMustBeDefinedFact, type StyleDeclarationFact, type StyleDiffItem, type StyleFontSizeScaleFact, type StylePropertyScaleFact, type StyleRawColorForbiddenFact, type StyleUnsupportedFact, type SuppressionDirectiveFact, type TailwindClassFact, type TailwindModifier, type TailwindModifierKind, type TailwindPaletteAllowFact, type TailwindPaletteDenyFact, type TailwindResolutionSource, type TailwindResolvedKind, type TailwindResolvedValue, type TailwindTokenResolvedFact, type TailwindUnknownClassEnabledFact, type TailwindValue, type ThemeDeclarationFact, type ThemeParserResult, type TokenCatalog, type TokenCatalogDefinition, type TokenCatalogDiagnostic, type TokenCatalogLocation, type TokenCatalogReference, type TokenCatalogSourceState, type TokenCategory, TokenConfig, type TokenDefinitionFact, type TokenFix, type TokenFormat, type TokenLookup, type TokenMatchRequest, type TokenMatchResult, type TokenParseError, type TokenParseOutput, type TokenParseResult, type TokenRegistry, type TokenRegistryMeta, type TokenUsageSummary, type UnsupportedStyleReason, type UsageComponentFact, type UsageFact, type UsageImportFact, type UsageInlineStyleFact, type UsageNodeFact, type UsagePropResolvedFact, type UsageTextChildFact, VariantLoader, aiMetadataSchema, analyzeComposition, asComponentId, assertPortableRegistryPath, blockDefinitionSchema, budgetBar, buildAgentFormat, buildComponentKey, buildRegistryInstallPlan, buildRegistryInstallReceipt, buildSpacingTokenLookup, bundleArtifactMetadataSchema, bundleComponentShardSchema, bundleManifestComponentEntrySchema, bundleManifestSchema, bundleSchemaVersionSchema, bundleTargetSchema, bundleTokenFileSchema, calculateDeltaE, canonicalBridgeContractMappings, canonicalDirectionConflictsTarget, canonicalJson, canonicalPreimage, catalogFixtureA, catalogFixtureAContractPayload, catalogFixtureATokensDtcg, checkStoryExclusion, clampMaxPasses, classifyComplexity, classifyIdentity, collectRegistryInstallDependencies, colorSimilarity, compareByVocabularyRank, compareColors, compareNumericValues, compareStyleValue, compareStyles, compareStylesWithTokens, compileBlock, compileComponentFacts, compileEffectiveGovernanceInputs, compileFragment, compileGlobalGovernanceFacts, compileRecipe, componentContractSchema, componentId, componentRelationSchema, compositionAuthoringEntrySchema, compositionMetadataSchema, compositionPatternSchema, containsTailwindV4Theme, contractHash, contractTierRuleIds, customerDefaultRuleStates, defineBlock, defineConfig, defineFragment, defineRecipe, detectSubComponentPaths, discoverComponents, dtcgTokenFileSchema, emptyConformResult, evaluateGovernanceIntegrity, executeVariantLoaders, factId, familyDistance, figma, figmaPropMappingSchema, formatBytes, formatStampHeader, formatStampPin, formatStampVersionHash, formatTokenSummary, fragmentBanSchema, fragmentContractSchema, fragmentDefinitionSchema, fragmentDefinitionV2Schema, fragmentGeneratedSchema, fragmentMetaSchema, fragmentProvenanceSchema, fragmentUsageSchema, fragmentVariantSchema, fragmentsConfigSchema, fragmentsPresetRuleStates, gatesCi, generateCSSCustomProperties, generateFigmaVariables, generateSCSSVariables, generateTailwindConfig, getComplianceBadge, getPreviewConfig, governedFragmentDefinitionSchema, hasEffectiveComponentVocabulary, hash64Hex, hexToRgb, hygieneTierRuleIds, indexComponentIdentityUsage, inferTokenCategory, inferTokenGroup, isColorLike, isCompositionPattern, isConfigExcluded, isContractFile, isContractTierRule, isDTCGFile, isDenyEligible, isEffectiveCanonicalSource, isEnforceableHtmlEquivalent, isExportStory, isFigmaPropMapping, isForceIncluded, isPortableRepoPath, isRawHtmlAdvisoryTier, isReactComponent, lowerCompositionContract, makeA11yNameRequiredFact, makeCanonicalCandidateFact, makeCanonicalMappingFact, makeCanonicalReplacementFact, makeClassNameDynamicFact, makeClassNameLiteralFact, makeComponentCapabilityFact, makeComponentDefinitionFact, makeComponentIdentityFact, makeComponentMetadataFact, makeContractTokenFact, makeFinding, makeJsxComponentPreferredFact, makeJsxImportPathPreferredFact, makeJsxInlineStyleForbiddenRawFact, makeJsxUnknownPropsForbiddenFact, makePropMetadataFact, makePropValueAvoidedFact, makePropValueForbiddenFact, makeScaleFact, makeScaleValueFact, makeStructuralConfidenceFact, makeStyleCssVarsMustBeDefinedFact, makeStyleDeclarationFact, makeStyleFontSizeScaleFact, makeStylePropertyScaleFact, makeStyleRawColorForbiddenFact, makeStyleUnsupportedFact, makeTailwindClassFact, makeTailwindPaletteAllowFact, makeTailwindPaletteDenyFact, makeTailwindTokenResolvedFact, makeTailwindUnknownClassEnabledFact, makeThemeDeclarationFact, makeTokenDefinitionFact, makeUsageComponentFact, makeUsageImportFact, makeUsageInlineStyleFact, makeUsageNodeFact, makeUsagePropResolvedFact, makeUsageTextChildFact, matchesGlob, mcpBlockSchema, mcpCapabilitySchema, mcpComponentExampleSchema, mcpComponentGuidanceSchema, mcpComponentMetadataSchema, mcpComponentPropSchema, mcpComponentRelationSchema, mcpComponentSchema, mcpCompoundChildSchema, mcpGuidancePatternSchema, mcpPerformanceDataSchema, mcpPerformanceImportSchema, mcpPerformanceSummarySchema, mcpSnapshotMetadataSchema, mcpSnapshotSchema, mcpSnapshotSchemaVersionSchema, mcpSourceTypeSchema, mcpTokenDataSchema, mcpTokenSchema, nearestByDeltaE, nearestSignedScaleValue, normalizeColor, normalizeConfigPath, normalizeRegistryRepoPath, normalizeStyleValue, normalizeToV1, normalizeTokenGroupComment, normalizeTokenValue, parseColor, parseColorToRgb, parseComponentContract, parseContractStamp, parseCssTokens, parseDtcgTokens as parseDTCGFile, parseDesignTokenContent, parseDtcgTokens, parseRgb, parseScssTokens, parseScssVariables, parseTailwindV4Theme, parseTokenFile, parseTokens, portableRepoPathError, projectCanonicalDirectionConflicts, propDefinitionSchema, proveCompliant, proveIssueCount, recipeDefinitionSchema, resolveCanonicalForAriaRole, resolveCanonicalForRawHtml, resolveConfiguredAppPath, resolveDesignTokenValue, resolveFigmaMapping, resolvePerformanceConfig, resolvePreviewRuntimeState, resolveProveVerdict, resolveSpacingValue, resolveTokenValue, rgbToHex, ruleA11yRequiredAccessibleName, ruleComponentsForbiddenPropValue, ruleComponentsPreferLibrary, ruleComponentsShadowComponent, ruleComponentsUnknownProp, ruleJsxPreferredComponent, ruleJsxPreferredImportPath, rulePropsInvalidValue, ruleStylesNoRawColor, ruleStylesNoRawDimensions, ruleStylesNoRawSpacing, ruleStylesNoRawTypography, ruleTailwindArbitraryColor, ruleTailwindArbitrarySpacing, ruleTailwindForbiddenPalette, ruleTailwindOffScaleSpacingToken, ruleTailwindRawColorViaToken, ruleTailwindUnknownClass, ruleThemeNoThemeCoupledLiteral, ruleTokensRequireDualFallback, runRules, selectedRegistryComponentNames, serializeContractStamp, setPreviewConfig, sha256Hex, sourceToRegistryTargetPath, storyModuleToFragment, storyNameFromExport, tierFor, toId, tokenIncludesFromConfig, topologyBase, usePreviewVariantRuntime, vocabularyRank };
12685
+ export { type A11yNameRequiredFact, AGENT_CONTEXT_RELATIVE_PATH, AgentFormat, BLOCKING_RULE_ALLOWLIST, BRAND, BlockDefinition, type Brand, type BuildAgentFormatInput, type BuildRegistryInstallPlanInput, type BundleArtifactMetadata, type BundleComponentShard, type BundleManifest, type BundleManifestComponentEntry, type BundleSchemaVersion, type BundleTarget, type BundleTokenFile, CATALOG_FIXTURE_A_FCID, type CSF2Story, type CSSGeneratorOptions, type CanonicalBridgeIdentityBinding, CanonicalBridgeV1, type CanonicalCandidateFact, type CanonicalDirectionConflict, Finding as CanonicalFinding, type CanonicalIdentityReference, type CanonicalMappingFact, type CanonicalReplacementFact, CanonicalSource, type CheckStoryExclusionOpts, type CheckedSpacingValue, type ClassNameDynamicFact, type ClassNameDynamicReason, type ClassNameFact, type ClassNameLiteralFact, type ClassNameOrigin, type ClassifyIdentityInput, type CompileEffectiveGovernanceInputsOptions, CompiledBlock, type CompiledContractOutput, CompiledFragment, type ComplexityTier, type ComponentCapabilityFact, type ComponentContract, type ComponentDefinitionFact, type ComponentDefinitionRenderRoot, type ComponentFactInput, type ComponentId, type ComponentIdentityFact, type ComponentIdentityUsage, type ComponentKeyInput, type ComponentLevelFact, type ComponentMetadataFact, type CompositionAnalysis, type CompositionAuthoringEntry, type CompositionChildSelector, type CompositionConstraint, type CompositionGuideline, type CompositionPattern, type CompositionRegionSelector, type CompositionSuggestion, type CompositionWarning, type ConformChange, type ConformComponentMapping, type ConformConfidence, type ConformCoverage, type ConformInput, type ConformLocation, type ConformPropMapping, type ConformResult, type ConformSuggestion, type ConformToken, type ConformUnresolved, ContractCanonicalMappingInput, ContractCatalogInput, ContractDomain, type ContractStampPin, type ContractStampRecord, DEFAULTS, DEFAULT_ENHANCED_STYLE_PROPERTIES, DEFAULT_STYLE_PROPERTIES, type DTCGColorValue, type DTCGDimensionValue, type DTCGGroup, type DTCGToken, type DTCGTokenFile, type DTCGTokenType, type Decorator, type Defaults, type DeltaEMatch, type DesignSystemContext, type DesignToken, type DesignTokenParseOptions, type DiscoverComponentsOptions, EFFECTIVE_GOVERNANCE_INPUTS_SCHEMA, type EffectiveGovernanceInputs, type EffectiveGovernanceInputsSourceState, type EnhancedStyleComparisonResult, type EnhancedStyleDiffItem, EvidenceGrade, type ExclusionReason, type ExclusionResult, type ExternalIdentityReference, FRAGMENTS_INTERNAL_RULE_IDS, type Fact, type FactConflict, type FactEvidence, type FactId, FactIndex, type FactKind, type FactLocation, type FactOfKind, FigmaBooleanMapping, FigmaChildrenMapping, FigmaEnumMapping, FigmaInstanceMapping, FigmaStringMapping, FigmaTextContentMapping, type FigmaVariable, type FigmaVariableCollection, Finding, FindingFix, type Fragment, type FragmentAccessibility, FragmentComponent, type FragmentContextOptions, FragmentDefinition, FragmentDefinitionV2, type FragmentDoNotItem, type FragmentFigma, type FragmentIndex, type FragmentMeta as FragmentJsonMeta, type FragmentUsage as FragmentJsonUsage, type FragmentPattern, type FragmentRegistry, type FragmentRelated, FragmentsConfig, Severity as FuiSeverity, GovernanceConfig, type GovernanceIntegrityFamily, type GovernanceIntegrityFamilyId, type GovernanceIntegrityInput, type GovernanceIntegrityRoster, type GovernanceIntegrityStatus, type GovernanceIntegrityVerdict, GovernanceSeverity, GovernedFragmentDefinition, type IdentityClassification, type IdentityConfidence, type IdentityDecision, type IdentityFact, type IdentityState, type InertConfigDiagnostic, type InertConfigDiagnosticCode, type InertConfigDiagnosticKind, type InferProps, type JsxComponentPreferredFact, type JsxImportPathPreferredFact, type JsxInlineStyleForbiddenRawFact, type JsxUnknownPropsForbiddenFact, type Loader, type LocalIdentityReference, type McpBlock, type McpCapability, type McpComponent, type McpComponentExample, type McpComponentGuidance, type McpComponentMetadata, type McpComponentProp, type McpComponentRelation, type McpCompoundChild, type McpGuidancePattern, type McpPerformanceData, type McpPerformanceImport, type McpPerformanceSummary, type McpSnapshot, type McpSnapshotMetadata, type McpSnapshotSchemaVersion, type McpSourceType, type McpToken, type McpTokenData, type NearestByDeltaEOptions, type NormalizedStyleMap, type NormalizedToken, PRESET_NAMES, PROVE_DEFAULT_MAX_PASSES, PROVE_MAX_PASSES, type ParseTokensOptions, type ParsedToken, type PerformanceData as PerfData, type PerformanceSummary as PerfSummary, type PerformanceBudgets, type PerformanceConfig, type PolicyExclude, type PolicyExcludeInput, type PolicyFact, type PresetRuleState, type PreviewConfig, type PreviewRuntimeOptions, type PreviewRuntimeState, type PreviewVariantLike, PreviewVariantRuntime, type PropMetadataFact, type PropValueAvoidedFact, type PropValueForbiddenFact, type ProveCallbacks, type ProveLoopResult, type ProveOptions, type ProvePass, type ProvePassSampling, type ProveResidual, type ProveSample, type ProveSamplerArgs, type ProveVerdict, RAW_HTML_ADVISORY_TAGS, RAW_HTML_CANONICAL_TAGS, RAW_HTML_INPUT_TYPE_CANONICALS, RAW_HTML_ROLE_CANONICALS, type RGB, type RGBA, RULES, RULE_FAMILY_IDS, RULE_FAMILY_MEMBERS, RULE_TIER, type RawHtmlCanonicalMatch, type RawHtmlPrecisionTier, RegistryArtifact, type RegistryComponentEntry, RegistryDependency, type RegistryInstallPlan, RegistryInstallReceipt, type RegistryPropEntry, type RegistryWritePlan, RelationshipType, type ResolvedDTCGToken, ResolvedGovernedFragmentDefinition, type ResolvedIdentityRenderRoot, type ResolvedIntrinsicIdentityRoot, type Rule, type RuleFn, type RuleTier, type SCSSGeneratorOptions, type ScaleFact, type ScaleValueFact, Severity, type SpacingResolutionScale, type SpacingTokenLookup, type Story, type StoryArgType, type StoryContext, type StoryMeta, type StoryModule, StorybookFilterConfig, type StructuralConfidenceFact, type StyleComparisonOptions, type StyleComparisonResult, type StyleCssVarsMustBeDefinedFact, type StyleDeclarationFact, type StyleDiffItem, type StyleFontSizeScaleFact, type StylePropertyScaleFact, type StyleRawColorForbiddenFact, type StyleUnsupportedFact, type StyleValueProvenance, type SupersededImportPathPreference, type SuppressionDirectiveFact, type TailwindClassFact, type TailwindModifier, type TailwindModifierKind, type TailwindPaletteAllowFact, type TailwindPaletteDenyFact, type TailwindResolutionSource, type TailwindResolvedKind, type TailwindResolvedValue, type TailwindTokenResolvedFact, type TailwindUnknownClassEnabledFact, type TailwindValue, type ThemeDeclarationFact, type ThemeParserResult, type TokenCatalog, type TokenCatalogDefinition, type TokenCatalogDiagnostic, type TokenCatalogLocation, type TokenCatalogReference, type TokenCatalogSourceState, type TokenCategory, TokenConfig, type TokenDefinitionFact, type TokenFix, type TokenFormat, type TokenLookup, type TokenMatchRequest, type TokenMatchResult, type TokenParseError, type TokenParseOutput, type TokenParseResult, type TokenRegistry, type TokenRegistryMeta, type TokenUsageSummary, type UnsupportedStyleReason, type UsageComponentFact, type UsageFact, type UsageImportFact, type UsageInlineStyleFact, type UsageNodeFact, type UsagePropResolvedFact, type UsageTextChildFact, VariantLoader, aiMetadataSchema, analyzeComposition, asComponentId, assertPortableRegistryPath, blockDefinitionSchema, budgetBar, buildAgentFormat, buildComponentKey, buildRegistryInstallPlan, buildRegistryInstallReceipt, buildSpacingTokenLookup, bundleArtifactMetadataSchema, bundleComponentShardSchema, bundleManifestComponentEntrySchema, bundleManifestSchema, bundleSchemaVersionSchema, bundleTargetSchema, bundleTokenFileSchema, calculateDeltaE, canonicalBridgeContractMappings, canonicalBridgeIdentityBindings, canonicalBridgeIdentitySources, canonicalDirectionConflictsTarget, canonicalJson, canonicalPreimage, catalogFixtureA, catalogFixtureAContractPayload, catalogFixtureATokensDtcg, checkStoryExclusion, clampMaxPasses, classifyComplexity, classifyIdentity, collectRegistryInstallDependencies, collidingRecordDiagnostic, collidingRecordDiagnostics, colorSimilarity, compareByVocabularyRank, compareColors, compareNumericValues, compareStyleValue, compareStyles, compareStylesWithTokens, compileBlock, compileComponentFacts, compileEffectiveGovernanceInputs, compileFragment, compileGlobalGovernanceFacts, compileRecipe, componentContractSchema, componentId, componentRelationSchema, compositionAuthoringEntrySchema, compositionMetadataSchema, compositionPatternSchema, configDeclarationForDiagnostics, configRecordShape, containsTailwindV4Theme, contractHash, contractTierRuleIds, customerDefaultRuleStates, defineBlock, defineConfig, defineFragment, defineRecipe, describePolicyExclude, detectOrphanGovernanceScales, detectSubComponentPaths, detectUnconsumedConfigKeys, detectUnmatchedPolicyExcludes, discoverComponents, dtcgTokenFileSchema, emptyConformResult, evaluateGovernanceIntegrity, excludeGlobToRegExp, executeVariantLoaders, factId, familyDistance, figma, figmaPropMappingSchema, formatBytes, formatStampHeader, formatStampPin, formatStampVersionHash, formatTokenSummary, fragmentBanSchema, fragmentContractSchema, fragmentDefinitionSchema, fragmentDefinitionV2Schema, fragmentGeneratedSchema, fragmentMetaSchema, fragmentProvenanceSchema, fragmentUsageSchema, fragmentVariantSchema, fragmentsConfigSchema, fragmentsPresetRuleStates, gatesCi, generateCSSCustomProperties, generateFigmaVariables, generateSCSSVariables, generateTailwindConfig, getComplianceBadge, getPreviewConfig, governedFragmentDefinitionSchema, hasEffectiveComponentVocabulary, hash64Hex, hexToRgb, hygieneTierRuleIds, indexComponentIdentityUsage, inferTokenCategory, inferTokenGroup, isColorLike, isCompositionPattern, isConfigExcluded, isContractFile, isContractTierRule, isDTCGFile, isDenyEligible, isEffectiveCanonicalSource, isEnforceableHtmlEquivalent, isExportStory, isFigmaPropMapping, isForceIncluded, isPortableRepoPath, isRawHtmlAdvisoryTier, isReactComponent, isRuleFamilyId, lowerCompositionContract, makeA11yNameRequiredFact, makeCanonicalCandidateFact, makeCanonicalMappingFact, makeCanonicalReplacementFact, makeClassNameDynamicFact, makeClassNameLiteralFact, makeComponentCapabilityFact, makeComponentDefinitionFact, makeComponentIdentityFact, makeComponentMetadataFact, makeContractTokenFact, makeFinding, makeJsxComponentPreferredFact, makeJsxImportPathPreferredFact, makeJsxInlineStyleForbiddenRawFact, makeJsxUnknownPropsForbiddenFact, makePropMetadataFact, makePropValueAvoidedFact, makePropValueForbiddenFact, makeScaleFact, makeScaleValueFact, makeStructuralConfidenceFact, makeStyleCssVarsMustBeDefinedFact, makeStyleDeclarationFact, makeStyleFontSizeScaleFact, makeStylePropertyScaleFact, makeStyleRawColorForbiddenFact, makeStyleUnsupportedFact, makeTailwindClassFact, makeTailwindPaletteAllowFact, makeTailwindPaletteDenyFact, makeTailwindTokenResolvedFact, makeTailwindUnknownClassEnabledFact, makeThemeDeclarationFact, makeTokenDefinitionFact, makeUsageComponentFact, makeUsageImportFact, makeUsageInlineStyleFact, makeUsageNodeFact, makeUsagePropResolvedFact, makeUsageTextChildFact, matchPolicyExclude, matchesGlob, mcpBlockSchema, mcpCapabilitySchema, mcpComponentExampleSchema, mcpComponentGuidanceSchema, mcpComponentMetadataSchema, mcpComponentPropSchema, mcpComponentRelationSchema, mcpComponentSchema, mcpCompoundChildSchema, mcpGuidancePatternSchema, mcpPerformanceDataSchema, mcpPerformanceImportSchema, mcpPerformanceSummarySchema, mcpSnapshotMetadataSchema, mcpSnapshotSchema, mcpSnapshotSchemaVersionSchema, mcpSourceTypeSchema, mcpTokenDataSchema, mcpTokenSchema, nearestByDeltaE, nearestSignedScaleValue, normalizeColor, normalizeConfigPath, normalizeExcludePath, normalizePolicyExcludes, normalizeRegistryRepoPath, normalizeStyleValue, normalizeToV1, normalizeTokenGroupComment, normalizeTokenValue, overriddenRecordSeverityDiagnostic, parseColor, parseColorToRgb, parseComponentContract, parseContractStamp, parseCssTokens, parseDtcgTokens as parseDTCGFile, parseDesignTokenContent, parseDtcgTokens, parseRgb, parseScssTokens, parseScssVariables, parseTailwindV4Theme, parseTokenFile, parseTokens, policyExcludeMatchesPath, policyExcludeSchema, portableRepoPathError, projectCanonicalDirectionConflicts, projectSupersededImportPathPreferences, propDefinitionSchema, proveCompliant, proveIssueCount, recipeDefinitionSchema, resolveCanonicalForAriaRole, resolveCanonicalForRawHtml, resolveConfiguredAppPath, resolveDesignTokenValue, resolveFigmaMapping, resolvePerformanceConfig, resolvePreviewRuntimeState, resolveProveVerdict, resolveSpacingValue, resolveTokenValue, rgbToHex, ruleA11yRequiredAccessibleName, ruleComponentsForbiddenPropValue, ruleComponentsPreferLibrary, ruleComponentsShadowComponent, ruleComponentsUnknownProp, ruleFamilyMembers, ruleJsxPreferredComponent, ruleJsxPreferredImportPath, rulePropsInvalidValue, ruleStylesNoRawColor, ruleStylesNoRawDimensions, ruleStylesNoRawSpacing, ruleStylesNoRawTypography, ruleTailwindArbitraryColor, ruleTailwindArbitrarySpacing, ruleTailwindForbiddenPalette, ruleTailwindOffScaleSpacingToken, ruleTailwindRawColorViaToken, ruleTailwindUnknownClass, ruleThemeNoThemeCoupledLiteral, ruleTokensRequireDualFallback, runRules, selectedRegistryComponentNames, serializeContractStamp, setPreviewConfig, sha256Hex, sourceToRegistryTargetPath, storyModuleToFragment, storyNameFromExport, tierFor, toId, tokenIncludesFromConfig, topologyBase, usePreviewVariantRuntime, vocabularyRank };