@duckcodeailabs/dql-agent 1.10.0 → 1.10.2

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 (86) hide show
  1. package/dist/agent-run-engine.d.ts.map +1 -1
  2. package/dist/agent-run-engine.js +6 -1
  3. package/dist/agent-run-engine.js.map +1 -1
  4. package/dist/analytical-compatibility.d.ts +61 -0
  5. package/dist/analytical-compatibility.d.ts.map +1 -0
  6. package/dist/analytical-compatibility.js +515 -0
  7. package/dist/analytical-compatibility.js.map +1 -0
  8. package/dist/analytical-execution-graph.d.ts +174 -0
  9. package/dist/analytical-execution-graph.d.ts.map +1 -0
  10. package/dist/analytical-execution-graph.js +599 -0
  11. package/dist/analytical-execution-graph.js.map +1 -0
  12. package/dist/analytical-failure-repair.d.ts +91 -0
  13. package/dist/analytical-failure-repair.d.ts.map +1 -0
  14. package/dist/analytical-failure-repair.js +325 -0
  15. package/dist/analytical-failure-repair.js.map +1 -0
  16. package/dist/analytical-frame.d.ts +19 -0
  17. package/dist/analytical-frame.d.ts.map +1 -0
  18. package/dist/analytical-frame.js +299 -0
  19. package/dist/analytical-frame.js.map +1 -0
  20. package/dist/analytical-period-resolution.d.ts +53 -0
  21. package/dist/analytical-period-resolution.d.ts.map +1 -0
  22. package/dist/analytical-period-resolution.js +218 -0
  23. package/dist/analytical-period-resolution.js.map +1 -0
  24. package/dist/analytical-readiness.d.ts +17 -0
  25. package/dist/analytical-readiness.d.ts.map +1 -0
  26. package/dist/analytical-readiness.js +95 -0
  27. package/dist/analytical-readiness.js.map +1 -0
  28. package/dist/analytical-result-facts.d.ts +79 -0
  29. package/dist/analytical-result-facts.d.ts.map +1 -0
  30. package/dist/analytical-result-facts.js +301 -0
  31. package/dist/analytical-result-facts.js.map +1 -0
  32. package/dist/answer-loop.d.ts +51 -4
  33. package/dist/answer-loop.d.ts.map +1 -1
  34. package/dist/answer-loop.js +866 -35
  35. package/dist/answer-loop.js.map +1 -1
  36. package/dist/governed-relational-compiler.d.ts +51 -0
  37. package/dist/governed-relational-compiler.d.ts.map +1 -1
  38. package/dist/governed-relational-compiler.js +144 -1
  39. package/dist/governed-relational-compiler.js.map +1 -1
  40. package/dist/index.d.ts +16 -4
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +9 -2
  43. package/dist/index.js.map +1 -1
  44. package/dist/kg/build.d.ts +2 -2
  45. package/dist/kg/build.d.ts.map +1 -1
  46. package/dist/kg/build.js +270 -13
  47. package/dist/kg/build.js.map +1 -1
  48. package/dist/meaning-resolution.d.ts +13 -0
  49. package/dist/meaning-resolution.d.ts.map +1 -1
  50. package/dist/meaning-resolution.js +69 -0
  51. package/dist/meaning-resolution.js.map +1 -1
  52. package/dist/metadata/analysis-planner.js +3 -1
  53. package/dist/metadata/analysis-planner.js.map +1 -1
  54. package/dist/metadata/catalog.d.ts +4 -2
  55. package/dist/metadata/catalog.d.ts.map +1 -1
  56. package/dist/metadata/catalog.js +264 -9
  57. package/dist/metadata/catalog.js.map +1 -1
  58. package/dist/metadata/meaning-evidence.d.ts +9 -2
  59. package/dist/metadata/meaning-evidence.d.ts.map +1 -1
  60. package/dist/metadata/meaning-evidence.js +105 -7
  61. package/dist/metadata/meaning-evidence.js.map +1 -1
  62. package/dist/plan-execution-adapter.d.ts +72 -1
  63. package/dist/plan-execution-adapter.d.ts.map +1 -1
  64. package/dist/plan-execution-adapter.js +208 -0
  65. package/dist/plan-execution-adapter.js.map +1 -1
  66. package/dist/resolved-analytical-plan.d.ts +14 -3
  67. package/dist/resolved-analytical-plan.d.ts.map +1 -1
  68. package/dist/resolved-analytical-plan.js +74 -20
  69. package/dist/resolved-analytical-plan.js.map +1 -1
  70. package/dist/router.d.ts +1 -1
  71. package/dist/router.d.ts.map +1 -1
  72. package/dist/router.js +167 -21
  73. package/dist/router.js.map +1 -1
  74. package/dist/semantic-bridge/compose.d.ts +1 -1
  75. package/dist/semantic-bridge/compose.d.ts.map +1 -1
  76. package/dist/semantic-bridge/compose.js +27 -5
  77. package/dist/semantic-bridge/compose.js.map +1 -1
  78. package/dist/semantic-bridge/member-select.d.ts +1 -1
  79. package/dist/semantic-bridge/member-select.d.ts.map +1 -1
  80. package/dist/semantic-bridge/member-select.js +32 -12
  81. package/dist/semantic-bridge/member-select.js.map +1 -1
  82. package/dist/skills/loader.d.ts +17 -0
  83. package/dist/skills/loader.d.ts.map +1 -1
  84. package/dist/skills/loader.js +62 -4
  85. package/dist/skills/loader.js.map +1 -1
  86. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/kg/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EACV,WAAW,EAIX,aAAa,EACd,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAA+B,MAAM,YAAY,CAAC;AAG9E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG;IAC1D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAmVA;AAkPD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG;IAC1E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAyQA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/kg/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAEV,WAAW,EAOX,aAAa,EAGd,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAA+B,MAAM,YAAY,CAAC;AAM9E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,WAAW,GAAG;IAC1D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CA2VA;AAkPD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG;IAC1E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAuSA"}
package/dist/kg/build.js CHANGED
@@ -8,8 +8,9 @@
8
8
  *
9
9
  * The output is intentionally flat — caller passes it to `KGStore.rebuild()`.
10
10
  */
11
- import { trustLabelIdForStatus } from '@duckcodeailabs/dql-core';
12
- import { buildBlockBusinessFingerprint, buildBlockSqlFingerprints } from '../metadata/block-fingerprints.js';
11
+ import { createHash } from "node:crypto";
12
+ import { trustLabelIdForStatus } from "@duckcodeailabs/dql-core";
13
+ import { buildBlockBusinessFingerprint, buildBlockSqlFingerprints, } from "../metadata/block-fingerprints.js";
13
14
  export function buildKGFromManifest(manifest) {
14
15
  const nodes = [];
15
16
  const edges = [];
@@ -90,6 +91,14 @@ export function buildKGFromManifest(manifest) {
90
91
  qualifiedId: `${block.domain ?? 'global'}::block::${block.name}`,
91
92
  localId: block.name,
92
93
  aliases: [block.name],
94
+ metricRefs: [
95
+ ...new Set([
96
+ ...(block.metricRef ? [block.metricRef] : []),
97
+ ...(block.metricsRef ?? []),
98
+ ...(block.metricRefs ?? []),
99
+ ]),
100
+ ],
101
+ dimensionsRef: block.dimensionsRef ?? [],
93
102
  },
94
103
  datalexContract: block.datalexContract,
95
104
  businessRules: block.businessRules ?? block.invariants,
@@ -600,7 +609,7 @@ export function buildKGFromSemanticLayer(layer) {
600
609
  if (!layer)
601
610
  return { nodes, edges };
602
611
  const semanticMeasures = layer.listMeasures();
603
- const semanticDimensions = layer.listDimensions();
612
+ const semanticDimensions = layer.listDimensions(undefined, { includeVariants: true });
604
613
  const semanticModels = layer.listSemanticModels();
605
614
  const measuresByName = new Map();
606
615
  for (const measure of semanticMeasures) {
@@ -625,11 +634,14 @@ export function buildKGFromSemanticLayer(layer) {
625
634
  ]));
626
635
  const qualifiedDimensions = modelDimensionNames.map((name) => {
627
636
  const dimension = availableDimensions.find((candidate) => candidate.name === name);
628
- return stringValue(semanticIdentityPayload('dimension', dimension ?? {
637
+ const identity = semanticIdentityPayload('dimension', dimension ?? {
629
638
  name,
630
639
  domain: metric.domain ?? model?.domain,
631
640
  cube: metric.cube,
632
- }).qualifiedId) ?? qualifiedSemanticName(metric.cube, name);
641
+ });
642
+ return stringValue(identity.registryQualifiedId)
643
+ ?? stringValue(identity.qualifiedId)
644
+ ?? qualifiedSemanticName(metric.cube, name);
633
645
  });
634
646
  const hasTimeDimension = (model?.timeDimensions.length ?? 0) > 0
635
647
  || availableDimensions.some((dimension) => dimension.isTimeDimension || dimension.type === 'date');
@@ -651,6 +663,12 @@ export function buildKGFromSemanticLayer(layer) {
651
663
  const nonAdditiveDimensions = backingMeasures
652
664
  .map((measure) => measure.nonAdditiveDimension)
653
665
  .filter((value) => Boolean(value));
666
+ const analyticalCapability = buildSemanticMetricCapability({
667
+ layer,
668
+ metric,
669
+ model,
670
+ backingMeasures,
671
+ });
654
672
  const nodeId = `metric:${qualifiedSemanticName(metric.cube, metric.name)}`;
655
673
  nodes.push({
656
674
  nodeId,
@@ -682,7 +700,10 @@ export function buildKGFromSemanticLayer(layer) {
682
700
  nonAdditiveDimensions,
683
701
  dimensions: qualifiedDimensions,
684
702
  entities: model?.entities ?? [],
685
- timeGrains: hasTimeDimension ? ['day', 'week', 'month', 'quarter', 'year'] : [],
703
+ timeGrains: hasTimeDimension
704
+ ? ["day", "week", "month", "quarter", "year"]
705
+ : [],
706
+ analyticalCapability,
686
707
  },
687
708
  sourceTier: 'semantic_layer',
688
709
  certification: certificationFromStatus(metric.status),
@@ -712,13 +733,30 @@ export function buildKGFromSemanticLayer(layer) {
712
733
  tags: dimension.tags ?? [],
713
734
  ...businessMetadataFromRaw(dimension.source?.extra?.raw),
714
735
  llmContext: [
715
- dimension.label ? `label: ${dimension.label}` : '',
716
- dimension.type ? `type: ${dimension.type}` : '',
717
- dimension.table ? `table: ${dimension.table}` : '',
718
- dimension.sql ? `sql: ${dimension.sql}` : '',
719
- ].filter(Boolean).join('\n') || undefined,
720
- payload: semanticIdentityPayload('dimension', dimension),
721
- sourceTier: 'semantic_layer',
736
+ dimension.label ? `label: ${dimension.label}` : "",
737
+ dimension.type ? `type: ${dimension.type}` : "",
738
+ dimension.table ? `table: ${dimension.table}` : "",
739
+ dimension.sql ? `sql: ${dimension.sql}` : "",
740
+ ]
741
+ .filter(Boolean)
742
+ .join("\n") || undefined,
743
+ payload: {
744
+ ...semanticIdentityPayload("dimension", dimension),
745
+ table: dimension.table,
746
+ expression: dimension.expr ?? dimension.sql,
747
+ dimensionType: dimension.type,
748
+ entityLink: dimension.entityLink,
749
+ qualifiedName: dimension.qualifiedName,
750
+ isTimeDimension: dimension.isTimeDimension,
751
+ ...(isTimeDimension(dimension)
752
+ ? {
753
+ granularities: dimension.granularities,
754
+ primaryTime: dimension.primaryTime,
755
+ timeRole: authoredTimeRole(dimension),
756
+ }
757
+ : {}),
758
+ },
759
+ sourceTier: "semantic_layer",
722
760
  certification: certificationFromStatus(dimension.status),
723
761
  provenance: dimension.source?.provider === 'dbt'
724
762
  ? `dbt ${dimension.source.objectType}`
@@ -861,6 +899,211 @@ export function buildKGFromSemanticLayer(layer) {
861
899
  }
862
900
  return { nodes, edges };
863
901
  }
902
+ /**
903
+ * Project one semantic metric into the execution-neutral capability contract.
904
+ * Every admitted fact comes from the semantic registry itself. An incomplete
905
+ * model is intentionally left without a capability instead of being completed
906
+ * from names or descriptions.
907
+ *
908
+ * Acceptance: CONTRACT-002, AGT-018.
909
+ */
910
+ function buildSemanticMetricCapability(input) {
911
+ const { layer, metric, model, backingMeasures } = input;
912
+ if (!model || !metric.cube || model.name !== metric.cube)
913
+ return undefined;
914
+ const cube = typeof layer.getCube === "function"
915
+ ? layer.getCube(metric.cube)
916
+ : undefined;
917
+ const registryDimensions = layer
918
+ .listDimensions(undefined, { includeVariants: true })
919
+ .filter((dimension) => dimension.cube === metric.cube);
920
+ const cubeDimensions = cube
921
+ ? [...cube.dimensions, ...cube.timeDimensions]
922
+ : [];
923
+ const dimensionsByName = new Map();
924
+ for (const dimension of [...registryDimensions, ...cubeDimensions]) {
925
+ if (!dimensionsByName.has(dimension.name))
926
+ dimensionsByName.set(dimension.name, dimension);
927
+ }
928
+ const declaredDimensionNames = [
929
+ ...new Set([...model.dimensions, ...model.timeDimensions]),
930
+ ];
931
+ if (declaredDimensionNames.some((name) => !dimensionsByName.has(name)))
932
+ return undefined;
933
+ const metricIdentity = semanticIdentityPayload("metric", metric);
934
+ const metricId = stringValue(metricIdentity.qualifiedId);
935
+ const modelId = stringValue(semanticIdentityPayload("model", model).qualifiedId);
936
+ if (!metricId || !modelId)
937
+ return undefined;
938
+ const scopedEntities = layer
939
+ .listEntities()
940
+ .filter((entity) => entity.cube === metric.cube && model.entities.includes(entity.name));
941
+ const primaryEntities = scopedEntities.filter((entity) => entity.type === "primary");
942
+ if (primaryEntities.length > 1)
943
+ return undefined;
944
+ const primaryEntity = primaryEntities[0];
945
+ const primaryEntityId = primaryEntity
946
+ ? registrySemanticIdentity(semanticIdentityPayload("entity", primaryEntity))
947
+ : modelId;
948
+ if (!primaryEntityId)
949
+ return undefined;
950
+ const entityIds = new Map(scopedEntities.flatMap((entity) => {
951
+ const id = registrySemanticIdentity(semanticIdentityPayload("entity", entity));
952
+ return id ? [[entity.name, id]] : [];
953
+ }));
954
+ const timeNameSet = new Set(model.timeDimensions);
955
+ const normalDimensions = [];
956
+ const timeDimensions = [];
957
+ const explicitDefaultNames = new Set([
958
+ metric.aggTimeDimension,
959
+ cube?.defaultTimeDimension,
960
+ ...backingMeasures.map((measure) => measure.aggTimeDimension),
961
+ ...[...dimensionsByName.values()]
962
+ .filter((dimension) => isTimeDimension(dimension) && dimension.primaryTime)
963
+ .map((dimension) => dimension.name),
964
+ ].filter((value) => Boolean(value?.trim())));
965
+ for (const name of declaredDimensionNames) {
966
+ const dimension = dimensionsByName.get(name);
967
+ const dimensionId = registrySemanticIdentity(semanticIdentityPayload("dimension", dimension));
968
+ if (!dimensionId)
969
+ return undefined;
970
+ const entityId = dimension.entityLink
971
+ ? entityIds.get(dimension.entityLink)
972
+ : primaryEntityId;
973
+ if (!entityId)
974
+ return undefined;
975
+ const timeDimension = timeNameSet.has(name) || isTimeDimension(dimension);
976
+ if (timeDimension) {
977
+ const supportedGrains = isTimeDimension(dimension)
978
+ ? [...new Set(dimension.granularities ?? [])]
979
+ : [];
980
+ if (supportedGrains.length === 0)
981
+ return undefined;
982
+ const defaultFor = explicitDefaultNames.has(name) ||
983
+ (explicitDefaultNames.size === 0 && model.timeDimensions.length === 1)
984
+ ? ["scalar", "trend", "comparison"]
985
+ : undefined;
986
+ timeDimensions.push({
987
+ dimensionId,
988
+ role: authoredTimeRole(dimension) ?? dimensionId,
989
+ supportedGrains,
990
+ ...(defaultFor ? { defaultFor: [...defaultFor] } : {}),
991
+ });
992
+ continue;
993
+ }
994
+ // Dimensions declared on the metric's own semantic model remain at the
995
+ // model's primary grain. Cross-model dimensions require a separately
996
+ // normalized, governed relationship path and are not admitted here.
997
+ if (entityId !== primaryEntityId)
998
+ return undefined;
999
+ normalDimensions.push({
1000
+ dimensionId,
1001
+ entityId,
1002
+ supportedRoles: ["group_by", "filter", "display", "rank_entity"],
1003
+ });
1004
+ }
1005
+ const nonAdditiveDimensionIds = backingMeasures.flatMap((measure) => {
1006
+ const raw = measure.nonAdditiveDimension?.name;
1007
+ if (typeof raw !== "string")
1008
+ return [];
1009
+ const dimension = dimensionsByName.get(raw);
1010
+ const id = dimension &&
1011
+ registrySemanticIdentity(semanticIdentityPayload("dimension", dimension));
1012
+ return id ? [id] : [];
1013
+ });
1014
+ const aggregation = metric.aggregation ?? metric.type ?? metric.metricType;
1015
+ if (!aggregation)
1016
+ return undefined;
1017
+ const completenessPolicy = authoredCompletenessPolicy(metric);
1018
+ const measureIds = backingMeasures.flatMap((measure) => {
1019
+ const id = registrySemanticIdentity(semanticIdentityPayload("measure", measure));
1020
+ return id ? [id] : [];
1021
+ });
1022
+ const additive = ["sum", "count"].includes(aggregation.toLowerCase());
1023
+ const capabilityWithoutFingerprint = {
1024
+ metricId,
1025
+ semanticModelId: modelId,
1026
+ measureIds: measureIds.length > 0 ? [...new Set(measureIds)] : [metricId],
1027
+ primaryEntityId,
1028
+ defaultResultGrainId: primaryEntityId,
1029
+ resultGrainIds: [
1030
+ ...new Set([
1031
+ primaryEntityId,
1032
+ ...normalDimensions.map((dimension) => dimension.entityId),
1033
+ ]),
1034
+ ],
1035
+ aggregation,
1036
+ additivity: {
1037
+ entities: additive ? "additive" : "non_additive",
1038
+ time: nonAdditiveDimensionIds.length > 0
1039
+ ? "semi_additive"
1040
+ : additive
1041
+ ? "additive"
1042
+ : "non_additive",
1043
+ ...(nonAdditiveDimensionIds.length > 0
1044
+ ? { nonAdditiveDimensionIds: [...new Set(nonAdditiveDimensionIds)] }
1045
+ : {}),
1046
+ },
1047
+ dimensions: normalDimensions,
1048
+ timeDimensions,
1049
+ ...(completenessPolicy
1050
+ ? { freshness: { defaultCompletenessPolicy: completenessPolicy } }
1051
+ : {}),
1052
+ // The current native semantic adapter supports filtering, grouping,
1053
+ // time-series grouping, ordering, and limiting. Multi-period arithmetic is
1054
+ // withheld until the AC3 executable graph ships.
1055
+ operations: ["filter", "group", "trend", "rank"],
1056
+ supportedOutputKinds: ["dimension", "metric_value", "rank"],
1057
+ executionCapabilities: [
1058
+ {
1059
+ route: "semantic",
1060
+ adapterId: metric.source?.provider === "dbt" ? "metricflow" : "semantic-native",
1061
+ },
1062
+ ],
1063
+ };
1064
+ return {
1065
+ ...capabilityWithoutFingerprint,
1066
+ sourceFingerprint: `sha256:${createHash("sha256").update(stableJson(capabilityWithoutFingerprint)).digest("hex")}`,
1067
+ };
1068
+ }
1069
+ function isTimeDimension(dimension) {
1070
+ return Boolean(dimension.isTimeDimension ||
1071
+ dimension.source?.objectType === "time_dimension");
1072
+ }
1073
+ function authoredTimeRole(dimension) {
1074
+ const raw = recordValue(dimension.source?.extra?.raw);
1075
+ const meta = recordValue(raw.meta);
1076
+ const dql = recordValue(meta.dql);
1077
+ return (stringValue(dql.time_role) ??
1078
+ stringValue(dql.timeRole) ??
1079
+ stringValue(meta.time_role) ??
1080
+ stringValue(meta.timeRole));
1081
+ }
1082
+ function authoredCompletenessPolicy(metric) {
1083
+ const raw = recordValue(metric.source?.extra?.raw);
1084
+ const meta = recordValue(raw.meta);
1085
+ const dql = recordValue(meta.dql);
1086
+ const value = stringValue(dql.completeness_policy) ??
1087
+ stringValue(dql.completenessPolicy) ??
1088
+ stringValue(meta.completeness_policy) ??
1089
+ stringValue(meta.completenessPolicy);
1090
+ return value === "partial_current" ||
1091
+ value === "latest_complete" ||
1092
+ value === "closed_period"
1093
+ ? value
1094
+ : undefined;
1095
+ }
1096
+ function stableJson(value) {
1097
+ if (value === null || typeof value !== "object")
1098
+ return JSON.stringify(value);
1099
+ if (Array.isArray(value))
1100
+ return `[${value.map(stableJson).join(",")}]`;
1101
+ const record = value;
1102
+ return `{${Object.keys(record)
1103
+ .sort()
1104
+ .map((key) => `${JSON.stringify(key)}:${stableJson(record[key])}`)
1105
+ .join(",")}}`;
1106
+ }
864
1107
  function semanticMetricBackingMeasureNames(metric) {
865
1108
  const names = new Set([metric.name, qualifiedSemanticName(metric.cube, metric.name)]);
866
1109
  const add = (value) => {
@@ -899,25 +1142,39 @@ function semanticIdentityPayload(kind, item) {
899
1142
  ?? stringValue(dqlMeta.concept_id)
900
1143
  ?? stringValue(dqlMeta.conceptId);
901
1144
  const domain = normalizeSemanticIdentityPart(item.domain ?? item.cube ?? 'uncategorized');
1145
+ const registryReference = item.cube
1146
+ ? qualifiedSemanticName(item.cube, item.name)
1147
+ : item.name;
902
1148
  const localName = normalizeSemanticIdentityPart(item.name);
903
1149
  const qualifiedId = authoredConceptId
904
1150
  ?? (kind === 'metric'
905
1151
  ? `semantic:${domain}:${localName}`
906
1152
  : `semantic:${domain}:${kind}:${localName}`);
907
1153
  const sourceNativeId = stringValue(item.source?.objectId);
1154
+ const registryQualifiedId = kind === 'metric' || kind === 'saved_query' || kind === 'model'
1155
+ ? qualifiedId
1156
+ : `semantic:${domain}:${kind}:${normalizeSemanticIdentityPart(registryReference)}`;
908
1157
  const aliases = Array.from(new Set([
909
1158
  item.name,
910
1159
  item.label,
911
1160
  item.cube ? qualifiedSemanticName(item.cube, item.name) : undefined,
912
1161
  sourceNativeId,
1162
+ // Upgrade bridge: prior snapshots persisted this domain-scoped identity.
1163
+ // It remains an exact alias, but only resolves when it is unique.
1164
+ registryQualifiedId !== qualifiedId ? qualifiedId : undefined,
913
1165
  ].filter((value) => Boolean(value?.trim()))));
914
1166
  return {
915
1167
  qualifiedId,
1168
+ registryQualifiedId,
916
1169
  localId: item.name,
1170
+ registryReference,
917
1171
  sourceNativeId,
918
1172
  aliases,
919
1173
  };
920
1174
  }
1175
+ function registrySemanticIdentity(identity) {
1176
+ return stringValue(identity.registryQualifiedId) ?? stringValue(identity.qualifiedId);
1177
+ }
921
1178
  function recordValue(value) {
922
1179
  return value && typeof value === 'object' && !Array.isArray(value)
923
1180
  ? value
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/kg/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/kg/build.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  * package and may reference only IDs contained in it. Execution remains owned by
6
6
  * the host after it validates the selected candidates and route.
7
7
  */
8
+ import type { AnalyticalPolicyContract, AnalyticalQuestionFrameV2, MetricCapabilityContract } from '@duckcodeailabs/dql-core';
8
9
  import type { KnowledgeLens } from './domain-context.js';
9
10
  export type AgentEvidenceKind = "certified_block" | "semantic_metric" | "semantic_member" | "dql_modeling" | "dbt_model" | "dbt_source" | "sql_table" | "sql_column";
10
11
  export type AgentEvidenceTrustTier = "certified" | "semantic" | "governed_sql" | "exploratory";
@@ -21,6 +22,8 @@ export interface AgentEvidenceCandidate {
21
22
  definition?: string;
22
23
  formula?: string;
23
24
  aggregation?: string;
25
+ /** Source provenance retained so routing can distinguish authored metrics from measure-derived execution shims. */
26
+ provenance?: string;
24
27
  domain?: string;
25
28
  semanticModel?: string;
26
29
  primaryEntity?: string;
@@ -34,6 +37,10 @@ export interface AgentEvidenceCandidate {
34
37
  matchReasons: string[];
35
38
  compatibility: AgentEvidenceCompatibility;
36
39
  compatibilityFacts?: string[];
40
+ /** Normalized executable capability. Names alone never supply missing facts. */
41
+ analyticalCapability?: MetricCapabilityContract;
42
+ /** Deterministic certified-asset fit; ignored for non-certified evidence. */
43
+ analyticalFitClass?: 'exact' | 'parameterized' | 'adaptable';
37
44
  /** False means the object must not be shown to the resolver. */
38
45
  eligible?: boolean;
39
46
  /** True only for an exact qualified/name/approved-alias match. */
@@ -45,6 +52,8 @@ export interface AgentRetrievalEvidence {
45
52
  knowledgeLens?: KnowledgeLens;
46
53
  candidates: AgentEvidenceCandidate[];
47
54
  parsedIntent?: Partial<MeaningQueryIntent>;
55
+ /** Snapshot-compiled policy only; Skill prose never enters route authority. */
56
+ analyticalPolicies?: AnalyticalPolicyContract[];
48
57
  diagnostics?: {
49
58
  searchedKinds?: AgentEvidenceKind[];
50
59
  durationMs?: number;
@@ -80,6 +89,10 @@ export interface MeaningResolution {
80
89
  missingInformation: string[];
81
90
  recommendedRoute: MeaningExecutionRoute;
82
91
  clarifyingQuestion?: string;
92
+ /** RFC 0005 exact analytical meaning; absent for stored/simple v1 requests. */
93
+ analyticalFrame?: AnalyticalQuestionFrameV2;
94
+ /** Exact eligible structured policies applied by the deterministic solver. */
95
+ analyticalPolicyIds?: string[];
83
96
  }
84
97
  export interface MeaningResolutionInput {
85
98
  question: string;