@duckcodeailabs/dql-agent 1.6.34 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/agent-run-engine.d.ts +14 -1
  2. package/dist/agent-run-engine.d.ts.map +1 -1
  3. package/dist/agent-run-engine.js +123 -3
  4. package/dist/agent-run-engine.js.map +1 -1
  5. package/dist/agent-run-gates.d.ts.map +1 -1
  6. package/dist/agent-run-gates.js +6 -0
  7. package/dist/agent-run-gates.js.map +1 -1
  8. package/dist/answer-loop.d.ts +57 -4
  9. package/dist/answer-loop.d.ts.map +1 -1
  10. package/dist/answer-loop.js +435 -44
  11. package/dist/answer-loop.js.map +1 -1
  12. package/dist/app-builder.d.ts +36 -3
  13. package/dist/app-builder.d.ts.map +1 -1
  14. package/dist/app-builder.js +285 -22
  15. package/dist/app-builder.js.map +1 -1
  16. package/dist/cascade/budgets.d.ts.map +1 -1
  17. package/dist/cascade/budgets.js +8 -3
  18. package/dist/cascade/budgets.js.map +1 -1
  19. package/dist/cascade/route-policy.d.ts.map +1 -1
  20. package/dist/cascade/route-policy.js +5 -0
  21. package/dist/cascade/route-policy.js.map +1 -1
  22. package/dist/dashboard-story.d.ts +36 -0
  23. package/dist/dashboard-story.d.ts.map +1 -0
  24. package/dist/dashboard-story.js +140 -0
  25. package/dist/dashboard-story.js.map +1 -0
  26. package/dist/domain-context.d.ts +30 -0
  27. package/dist/domain-context.d.ts.map +1 -0
  28. package/dist/domain-context.js +76 -0
  29. package/dist/domain-context.js.map +1 -0
  30. package/dist/hints/git-store.d.ts +39 -3
  31. package/dist/hints/git-store.d.ts.map +1 -1
  32. package/dist/hints/git-store.js +172 -2
  33. package/dist/hints/git-store.js.map +1 -1
  34. package/dist/hints/types.d.ts +41 -0
  35. package/dist/hints/types.d.ts.map +1 -1
  36. package/dist/hints/types.js +1 -0
  37. package/dist/hints/types.js.map +1 -1
  38. package/dist/index.d.ts +10 -6
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +39 -3
  41. package/dist/index.js.map +1 -1
  42. package/dist/kg/build.d.ts.map +1 -1
  43. package/dist/kg/build.js +220 -4
  44. package/dist/kg/build.js.map +1 -1
  45. package/dist/kg/sqlite-fts.d.ts.map +1 -1
  46. package/dist/kg/sqlite-fts.js +8 -3
  47. package/dist/kg/sqlite-fts.js.map +1 -1
  48. package/dist/kg/types.d.ts +9 -2
  49. package/dist/kg/types.d.ts.map +1 -1
  50. package/dist/metadata/analysis-planner.d.ts.map +1 -1
  51. package/dist/metadata/analysis-planner.js +134 -18
  52. package/dist/metadata/analysis-planner.js.map +1 -1
  53. package/dist/metadata/analytical-policy.d.ts +51 -0
  54. package/dist/metadata/analytical-policy.d.ts.map +1 -0
  55. package/dist/metadata/analytical-policy.js +309 -0
  56. package/dist/metadata/analytical-policy.js.map +1 -0
  57. package/dist/metadata/block-fit.js +37 -4
  58. package/dist/metadata/block-fit.js.map +1 -1
  59. package/dist/metadata/catalog.d.ts +49 -1
  60. package/dist/metadata/catalog.d.ts.map +1 -1
  61. package/dist/metadata/catalog.js +365 -54
  62. package/dist/metadata/catalog.js.map +1 -1
  63. package/dist/metadata/dbt-first-safety.d.ts +19 -0
  64. package/dist/metadata/dbt-first-safety.d.ts.map +1 -0
  65. package/dist/metadata/dbt-first-safety.js +17 -0
  66. package/dist/metadata/dbt-first-safety.js.map +1 -0
  67. package/dist/metadata/sql-context-validation.d.ts.map +1 -1
  68. package/dist/metadata/sql-context-validation.js +42 -2
  69. package/dist/metadata/sql-context-validation.js.map +1 -1
  70. package/dist/metadata/sql-grounding.d.ts.map +1 -1
  71. package/dist/metadata/sql-grounding.js +25 -2
  72. package/dist/metadata/sql-grounding.js.map +1 -1
  73. package/dist/metadata/sql-retrieval.d.ts +2 -0
  74. package/dist/metadata/sql-retrieval.d.ts.map +1 -1
  75. package/dist/metadata/sql-retrieval.js +5 -1
  76. package/dist/metadata/sql-retrieval.js.map +1 -1
  77. package/dist/propose/build-from-prompt.d.ts +34 -0
  78. package/dist/propose/build-from-prompt.d.ts.map +1 -1
  79. package/dist/propose/build-from-prompt.js +199 -19
  80. package/dist/propose/build-from-prompt.js.map +1 -1
  81. package/dist/semantic-bridge/compose.d.ts.map +1 -1
  82. package/dist/semantic-bridge/compose.js +169 -5
  83. package/dist/semantic-bridge/compose.js.map +1 -1
  84. package/dist/skills/loader.d.ts +19 -0
  85. package/dist/skills/loader.d.ts.map +1 -1
  86. package/dist/skills/loader.js +107 -12
  87. package/dist/skills/loader.js.map +1 -1
  88. package/dist/synthesize.d.ts.map +1 -1
  89. package/dist/synthesize.js +152 -16
  90. package/dist/synthesize.js.map +1 -1
  91. package/dist/tools/registry.d.ts +1 -1
  92. package/dist/tools/registry.d.ts.map +1 -1
  93. package/dist/tools/registry.js +42 -0
  94. package/dist/tools/registry.js.map +1 -1
  95. package/package.json +4 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-story.js","sourceRoot":"","sources":["../src/dashboard-story.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { DQLManifest } from '@duckcodeailabs/dql-core';
2
+ export interface DomainContextEnvelope {
3
+ /** CTX-001: server-validated request scope shared by UI, runtime, and agent. */
4
+ activeDomain: string | null;
5
+ ancestors: string[];
6
+ allowedImports: Array<{
7
+ providerDomain: string;
8
+ exportRef: string;
9
+ purpose: string;
10
+ }>;
11
+ purpose?: string;
12
+ /** Optional focused Model Area. It narrows ranking within activeDomain and is never an authorization boundary. */
13
+ modelAreaId?: string;
14
+ source: 'explicit_ui' | 'explicit_api' | 'inferred';
15
+ confidence: 'high' | 'medium' | 'low';
16
+ snapshotId: string;
17
+ }
18
+ export interface ResolveDomainContextInput {
19
+ manifest: DQLManifest;
20
+ activeDomain?: string | null;
21
+ purpose?: string;
22
+ modelAreaId?: string;
23
+ source?: DomainContextEnvelope['source'];
24
+ confidence?: DomainContextEnvelope['confidence'];
25
+ snapshotId?: string;
26
+ }
27
+ /** Resolve ancestry and certified imports from server-owned manifest state. */
28
+ export declare function resolveDomainContextEnvelope(input: ResolveDomainContextInput): DomainContextEnvelope;
29
+ export declare function domainContextSearchDomains(context: DomainContextEnvelope | undefined): string[];
30
+ //# sourceMappingURL=domain-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-context.d.ts","sourceRoot":"","sources":["../src/domain-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,gFAAgF;IAChF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,KAAK,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kHAAkH;IAClH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,aAAa,GAAG,cAAc,GAAG,UAAU,CAAC;IACpD,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,yBAAyB,GAAG,qBAAqB,CA0DpG;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,GAAG,MAAM,EAAE,CAG/F"}
@@ -0,0 +1,76 @@
1
+ /** Resolve ancestry and certified imports from server-owned manifest state. */
2
+ export function resolveDomainContextEnvelope(input) {
3
+ const activeDomain = input.activeDomain?.trim() || null;
4
+ const packages = input.manifest.modeling?.packages ?? {};
5
+ if (activeDomain && !packages[activeDomain])
6
+ throw new Error(`Unknown domain: ${activeDomain}`);
7
+ const ancestors = [];
8
+ const visited = new Set();
9
+ let parent = activeDomain ? packages[activeDomain]?.parent : undefined;
10
+ while (parent) {
11
+ if (visited.has(parent))
12
+ throw new Error(`Domain hierarchy cycle involving ${parent}`);
13
+ visited.add(parent);
14
+ ancestors.unshift(parent);
15
+ parent = packages[parent]?.parent;
16
+ }
17
+ const purpose = input.purpose?.trim() || undefined;
18
+ const requestedModelAreaId = input.modelAreaId?.trim() || undefined;
19
+ let modelAreaId;
20
+ if (requestedModelAreaId) {
21
+ const areas = Object.values(input.manifest.modeling?.areas ?? {});
22
+ const exact = input.manifest.modeling?.areas?.[requestedModelAreaId];
23
+ const localMatches = areas.filter((candidate) => candidate.localId === requestedModelAreaId
24
+ && (!activeDomain || candidate.domain === activeDomain));
25
+ const area = exact ?? (localMatches.length === 1 ? localMatches[0] : undefined);
26
+ if (!area) {
27
+ if (localMatches.length > 1)
28
+ throw new Error(`Ambiguous model area: ${requestedModelAreaId}`);
29
+ throw new Error(`Unknown model area: ${requestedModelAreaId}`);
30
+ }
31
+ if (activeDomain && area.domain !== activeDomain)
32
+ throw new Error(`Model area "${requestedModelAreaId}" does not belong to domain "${activeDomain}"`);
33
+ modelAreaId = area.qualifiedId;
34
+ }
35
+ const imports = Object.values(input.manifest.modeling?.interfaces?.imports ?? {});
36
+ const exports = input.manifest.modeling?.interfaces?.exports ?? {};
37
+ const contracts = Object.values(input.manifest.modeling?.contracts ?? {});
38
+ const allowedImports = activeDomain ? imports.flatMap((imported) => {
39
+ const exported = exports[imported.exportRef];
40
+ const purposeAllowed = Boolean(purpose && imported.purpose === purpose);
41
+ if (imported.domain !== activeDomain || imported.status !== 'certified' || exported?.status !== 'certified' || !purposeAllowed)
42
+ return [];
43
+ if (exported.consumerDomains.length > 0 && !exported.consumerDomains.includes(activeDomain))
44
+ return [];
45
+ if (exported.purposes.length > 0 && !exported.purposes.includes(imported.purpose))
46
+ return [];
47
+ const contract = exported.contract
48
+ ? contracts.find((value) => value.qualifiedId === exported.contract
49
+ || value.id === exported.contract
50
+ || (value.domain === exported.domain && value.localId === exported.contract))
51
+ : undefined;
52
+ if (!contract || contract.status !== 'certified')
53
+ return [];
54
+ if (contract.purpose && contract.purpose !== imported.purpose)
55
+ return [];
56
+ if (exported.entity && !contract.entities.includes(exported.entity))
57
+ return [];
58
+ return [{ providerDomain: exported.domain, exportRef: imported.exportRef, purpose: imported.purpose }];
59
+ }) : [];
60
+ return {
61
+ activeDomain,
62
+ ancestors,
63
+ allowedImports,
64
+ purpose,
65
+ modelAreaId,
66
+ source: input.source ?? (activeDomain ? 'explicit_api' : 'inferred'),
67
+ confidence: input.confidence ?? (activeDomain ? 'high' : 'low'),
68
+ snapshotId: input.snapshotId ?? input.manifest.dbtProvenance?.manifestFingerprint ?? 'manifest-v2',
69
+ };
70
+ }
71
+ export function domainContextSearchDomains(context) {
72
+ if (!context?.activeDomain)
73
+ return [];
74
+ return [...new Set([context.activeDomain, ...context.ancestors, ...context.allowedImports.map((item) => item.providerDomain)])];
75
+ }
76
+ //# sourceMappingURL=domain-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-context.js","sourceRoot":"","sources":["../src/domain-context.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,22 @@
4
4
  * Files (the source of truth, consistent with DQL):
5
5
  * - `.dql/traces/<id>.trace.json` — correction traces
6
6
  * - `.dql/hints/<id>.hint.yaml` — candidate / approved / rejected hints
7
+ * - `.dql/evaluations/<id>.hint-evaluation.yaml` — required evaluation results
7
8
  * - `.dql/reviews/<id>.review.yaml` — human review decisions
8
9
  *
9
10
  * `.dql/cache/agent-kg.sqlite` is a rebuildable index (see {@link HintStore}).
10
11
  *
11
12
  * The lifecycle:
12
13
  * recordCorrectionTrace() → derives a `candidate` hint
13
- * reviewHint('approved') → flips status to `approved`, writes the review,
14
- * and reindexes SQLite
14
+ * evaluateHint() → writes a passed/failed Git evaluation against the trace snapshot
15
+ * reviewHint('approved') requires a passing evaluation in dbt-first v3,
16
+ * flips status, writes the review, and reindexes SQLite
15
17
  * Approved-only is enforced at retrieval; nothing here auto-applies a hint.
16
18
  */
17
- import type { CorrectionTrace, Hint, HintReview, HintScope } from './types.js';
19
+ import type { CorrectionTrace, Hint, HintEvaluation, HintEvaluationCheck, HintReview, HintScope } from './types.js';
18
20
  export declare function tracesDir(projectRoot: string): string;
19
21
  export declare function hintsDir(projectRoot: string): string;
22
+ export declare function evaluationsDir(projectRoot: string): string;
20
23
  export declare function reviewsDir(projectRoot: string): string;
21
24
  export declare function defaultHintIndexPath(projectRoot: string): string;
22
25
  export interface RecordCorrectionTraceInput {
@@ -27,6 +30,14 @@ export interface RecordCorrectionTraceInput {
27
30
  rationale?: string;
28
31
  author?: string;
29
32
  anchorObjectKey?: string;
33
+ /** Failed governed route/tool path. Required by dbt-first manifest v3. */
34
+ failedRoute?: string;
35
+ /** Reviewable evidence supporting the proposed correction. Required by v3. */
36
+ evidence?: string[];
37
+ /** Immutable project snapshot for this correction. Required by v3. */
38
+ snapshotId?: string;
39
+ /** Stable evaluation name that must pass before approval. Required by v3. */
40
+ requiredEvaluation?: string;
30
41
  /** Override the derived candidate hint's title. */
31
42
  hintTitle?: string;
32
43
  /** Override the derived candidate hint's guidance (defaults to the correction). */
@@ -48,11 +59,36 @@ export declare function writeHintFile(projectRoot: string, hint: Hint): void;
48
59
  export declare function readHintFile(path: string, sourcePath?: string): Hint | null;
49
60
  export declare function listHintsFromGit(projectRoot: string): Hint[];
50
61
  export declare function getHintFromGit(projectRoot: string, hintId: string): Hint | null;
62
+ export declare class HintLifecycleError extends Error {
63
+ readonly code: string;
64
+ constructor(code: string, message: string);
65
+ }
66
+ export interface EvaluateHintInput {
67
+ hintId: string;
68
+ snapshotId: string;
69
+ evaluation: string;
70
+ evaluator: string;
71
+ checks: HintEvaluationCheck[];
72
+ evidence: string[];
73
+ note?: string;
74
+ }
75
+ export interface EvaluateHintResult {
76
+ hint: Hint;
77
+ evaluation: HintEvaluation;
78
+ }
79
+ export declare function hintEvaluationFilePath(projectRoot: string, evaluationId: string): string;
80
+ /** Record a deterministic required evaluation. Overall status is derived from every check. */
81
+ export declare function evaluateHint(projectRoot: string, input: EvaluateHintInput): EvaluateHintResult;
82
+ export declare function readHintEvaluationFile(path: string): HintEvaluation | null;
83
+ export declare function getHintEvaluationFromGit(projectRoot: string, evaluationId: string): HintEvaluation | null;
84
+ export declare function listHintEvaluationsFromGit(projectRoot: string, hintId?: string): HintEvaluation[];
51
85
  export interface ReviewHintInput {
52
86
  hintId: string;
53
87
  decision: 'approved' | 'rejected';
54
88
  reviewer: string;
55
89
  note?: string;
90
+ /** Current immutable project snapshot. Required for v3 approval. */
91
+ snapshotId?: string;
56
92
  }
57
93
  export interface ReviewHintResult {
58
94
  hint: Hint;
@@ -1 +1 @@
1
- {"version":3,"file":"git-store.d.ts","sourceRoot":"","sources":["../../src/hints/git-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAYH,OAAO,KAAK,EACV,eAAe,EACf,IAAI,EACJ,UAAU,EACV,SAAS,EACV,MAAM,YAAY,CAAC;AAMpB,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErD;AACD,wBAAgB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpD;AACD,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEhE;AAYD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,0BAA0B,GAChC,2BAA2B,CA6C7B;AAID,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAsBnE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAiC3E;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,CAW5D;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAG/E;AAID,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,UAAU,GAAG,UAAU,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,gBAAgB,GAAG,IAAI,CA+B/F;AAID,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,SAAoC,GAAG,MAAM,CASvG"}
1
+ {"version":3,"file":"git-store.d.ts","sourceRoot":"","sources":["../../src/hints/git-store.ts"],"names":[],"mappings":"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"}
@@ -4,22 +4,26 @@
4
4
  * Files (the source of truth, consistent with DQL):
5
5
  * - `.dql/traces/<id>.trace.json` — correction traces
6
6
  * - `.dql/hints/<id>.hint.yaml` — candidate / approved / rejected hints
7
+ * - `.dql/evaluations/<id>.hint-evaluation.yaml` — required evaluation results
7
8
  * - `.dql/reviews/<id>.review.yaml` — human review decisions
8
9
  *
9
10
  * `.dql/cache/agent-kg.sqlite` is a rebuildable index (see {@link HintStore}).
10
11
  *
11
12
  * The lifecycle:
12
13
  * recordCorrectionTrace() → derives a `candidate` hint
13
- * reviewHint('approved') → flips status to `approved`, writes the review,
14
- * and reindexes SQLite
14
+ * evaluateHint() → writes a passed/failed Git evaluation against the trace snapshot
15
+ * reviewHint('approved') requires a passing evaluation in dbt-first v3,
16
+ * flips status, writes the review, and reindexes SQLite
15
17
  * Approved-only is enforced at retrieval; nothing here auto-applies a hint.
16
18
  */
17
19
  import { join } from 'node:path';
18
20
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync, } from 'node:fs';
19
21
  import * as yaml from 'js-yaml';
22
+ import { loadProjectConfig } from '@duckcodeailabs/dql-core';
20
23
  import { HintStore } from './store.js';
21
24
  const TRACES_DIR = ['.dql', 'traces'];
22
25
  const HINTS_DIR = ['.dql', 'hints'];
26
+ const EVALUATIONS_DIR = ['.dql', 'evaluations'];
23
27
  const REVIEWS_DIR = ['.dql', 'reviews'];
24
28
  export function tracesDir(projectRoot) {
25
29
  return join(projectRoot, ...TRACES_DIR);
@@ -27,6 +31,9 @@ export function tracesDir(projectRoot) {
27
31
  export function hintsDir(projectRoot) {
28
32
  return join(projectRoot, ...HINTS_DIR);
29
33
  }
34
+ export function evaluationsDir(projectRoot) {
35
+ return join(projectRoot, ...EVALUATIONS_DIR);
36
+ }
30
37
  export function reviewsDir(projectRoot) {
31
38
  return join(projectRoot, ...REVIEWS_DIR);
32
39
  }
@@ -44,6 +51,17 @@ function nowIso() {
44
51
  * The hint is NOT usable until reviewed/approved.
45
52
  */
46
53
  export function recordCorrectionTrace(projectRoot, input) {
54
+ if (requiresEvaluatedApproval(projectRoot)) {
55
+ const missing = [
56
+ !strOrUndef(input.failedRoute) ? 'failedRoute' : undefined,
57
+ cleanStringList(input.evidence).length === 0 ? 'evidence' : undefined,
58
+ !strOrUndef(input.snapshotId) ? 'snapshotId' : undefined,
59
+ !strOrUndef(input.requiredEvaluation) ? 'requiredEvaluation' : undefined,
60
+ ].filter((item) => Boolean(item));
61
+ if (missing.length > 0) {
62
+ throw new HintLifecycleError('HINT_CORRECTION_EVIDENCE_REQUIRED', `dbt-first manifest v3 corrections require ${missing.join(', ')}.`);
63
+ }
64
+ }
47
65
  const traceId = genId('trace');
48
66
  const hintId = genId('hint');
49
67
  const createdAt = nowIso();
@@ -57,6 +75,10 @@ export function recordCorrectionTrace(projectRoot, input) {
57
75
  rationale: input.rationale,
58
76
  author: input.author,
59
77
  anchorObjectKey: input.anchorObjectKey,
78
+ failedRoute: strOrUndef(input.failedRoute),
79
+ evidence: cleanStringList(input.evidence),
80
+ snapshotId: strOrUndef(input.snapshotId),
81
+ requiredEvaluation: strOrUndef(input.requiredEvaluation),
60
82
  derivedHintId: hintId,
61
83
  };
62
84
  const hint = {
@@ -69,6 +91,8 @@ export function recordCorrectionTrace(projectRoot, input) {
69
91
  correctedSql: input.correctedSql,
70
92
  tags: input.tags,
71
93
  author: input.author,
94
+ snapshotId: strOrUndef(input.snapshotId),
95
+ requiredEvaluation: strOrUndef(input.requiredEvaluation),
72
96
  createdAt,
73
97
  updatedAt: createdAt,
74
98
  };
@@ -98,6 +122,9 @@ export function writeHintFile(projectRoot, hint) {
98
122
  tags: hint.tags,
99
123
  author: hint.author,
100
124
  reviewer: hint.reviewer,
125
+ snapshotId: hint.snapshotId,
126
+ requiredEvaluation: hint.requiredEvaluation,
127
+ evaluationId: hint.evaluationId,
101
128
  supersedes: hint.supersedes,
102
129
  createdAt: hint.createdAt,
103
130
  updatedAt: hint.updatedAt,
@@ -128,6 +155,9 @@ export function readHintFile(path, sourcePath) {
128
155
  tags: Array.isArray(raw.tags) ? raw.tags.map(String) : undefined,
129
156
  author: strOrUndef(raw.author),
130
157
  reviewer: strOrUndef(raw.reviewer),
158
+ snapshotId: strOrUndef(raw.snapshotId),
159
+ requiredEvaluation: strOrUndef(raw.requiredEvaluation),
160
+ evaluationId: strOrUndef(raw.evaluationId),
131
161
  supersedes: strOrUndef(raw.supersedes),
132
162
  createdAt: String(raw.createdAt ?? nowIso()),
133
163
  updatedAt: String(raw.updatedAt ?? nowIso()),
@@ -160,6 +190,105 @@ export function getHintFromGit(projectRoot, hintId) {
160
190
  const path = hintFilePath(projectRoot, hintId);
161
191
  return existsSync(path) ? readHintFile(path, path) : null;
162
192
  }
193
+ // --- Evaluations ------------------------------------------------------------
194
+ export class HintLifecycleError extends Error {
195
+ code;
196
+ constructor(code, message) {
197
+ super(message);
198
+ this.code = code;
199
+ this.name = 'HintLifecycleError';
200
+ }
201
+ }
202
+ export function hintEvaluationFilePath(projectRoot, evaluationId) {
203
+ return join(evaluationsDir(projectRoot), `${evaluationId}.hint-evaluation.yaml`);
204
+ }
205
+ /** Record a deterministic required evaluation. Overall status is derived from every check. */
206
+ export function evaluateHint(projectRoot, input) {
207
+ const hint = getHintFromGit(projectRoot, input.hintId);
208
+ if (!hint)
209
+ throw new HintLifecycleError('HINT_NOT_FOUND', `Hint ${input.hintId} was not found.`);
210
+ if (hint.status !== 'candidate') {
211
+ throw new HintLifecycleError('HINT_NOT_CANDIDATE', `Hint ${input.hintId} is ${hint.status}; only candidates can be evaluated.`);
212
+ }
213
+ const snapshotId = strOrUndef(input.snapshotId);
214
+ if (!snapshotId || !hint.snapshotId || snapshotId !== hint.snapshotId) {
215
+ throw new HintLifecycleError('HINT_SNAPSHOT_MISMATCH', `Hint ${input.hintId} was recorded against snapshot ${hint.snapshotId ?? 'unknown'}, not ${snapshotId ?? 'unknown'}. Refresh and evaluate the original correction snapshot.`);
216
+ }
217
+ const evaluationName = strOrUndef(input.evaluation);
218
+ if (!evaluationName || !hint.requiredEvaluation || evaluationName !== hint.requiredEvaluation) {
219
+ throw new HintLifecycleError('HINT_EVALUATION_MISMATCH', `Hint ${input.hintId} requires evaluation ${hint.requiredEvaluation ?? 'unknown'}, not ${evaluationName ?? 'unknown'}.`);
220
+ }
221
+ const checks = cleanEvaluationChecks(input.checks);
222
+ const evidence = cleanStringList(input.evidence);
223
+ if (checks.length === 0 || evidence.length === 0) {
224
+ throw new HintLifecycleError('HINT_EVALUATION_EVIDENCE_REQUIRED', 'Hint evaluation requires at least one check and one evidence reference.');
225
+ }
226
+ const evaluationId = genId('hint_eval');
227
+ const createdAt = nowIso();
228
+ const evaluation = {
229
+ id: evaluationId,
230
+ hintId: hint.id,
231
+ traceId: hint.traceId,
232
+ snapshotId,
233
+ evaluation: evaluationName,
234
+ status: checks.every((check) => check.passed) ? 'passed' : 'failed',
235
+ checks,
236
+ evidence,
237
+ evaluator: input.evaluator.trim(),
238
+ note: strOrUndef(input.note),
239
+ createdAt,
240
+ };
241
+ if (!evaluation.evaluator) {
242
+ throw new HintLifecycleError('HINT_EVALUATOR_REQUIRED', 'Hint evaluation requires an evaluator.');
243
+ }
244
+ mkdirSync(evaluationsDir(projectRoot), { recursive: true });
245
+ writeFileSync(hintEvaluationFilePath(projectRoot, evaluationId), yaml.dump(stripUndefined({ ...evaluation }), { lineWidth: 100, noRefs: true }), 'utf-8');
246
+ const updated = { ...hint, evaluationId, updatedAt: createdAt };
247
+ writeHintFile(projectRoot, updated);
248
+ reindexHints(projectRoot);
249
+ return { hint: updated, evaluation };
250
+ }
251
+ export function readHintEvaluationFile(path) {
252
+ try {
253
+ const raw = yaml.load(readFileSync(path, 'utf-8'));
254
+ if (!raw || typeof raw !== 'object')
255
+ return null;
256
+ const rawChecks = Array.isArray(raw.checks) ? raw.checks : [];
257
+ const evaluation = {
258
+ id: String(raw.id ?? ''),
259
+ hintId: String(raw.hintId ?? ''),
260
+ traceId: strOrUndef(raw.traceId),
261
+ snapshotId: String(raw.snapshotId ?? ''),
262
+ evaluation: String(raw.evaluation ?? ''),
263
+ status: raw.status === 'passed' ? 'passed' : 'failed',
264
+ checks: cleanEvaluationChecks(rawChecks),
265
+ evidence: cleanStringList(raw.evidence),
266
+ evaluator: String(raw.evaluator ?? ''),
267
+ note: strOrUndef(raw.note),
268
+ createdAt: String(raw.createdAt ?? ''),
269
+ };
270
+ if (!evaluation.id || !evaluation.hintId || !evaluation.snapshotId || !evaluation.evaluation || !evaluation.evaluator)
271
+ return null;
272
+ return evaluation;
273
+ }
274
+ catch {
275
+ return null;
276
+ }
277
+ }
278
+ export function getHintEvaluationFromGit(projectRoot, evaluationId) {
279
+ const path = hintEvaluationFilePath(projectRoot, evaluationId);
280
+ return existsSync(path) ? readHintEvaluationFile(path) : null;
281
+ }
282
+ export function listHintEvaluationsFromGit(projectRoot, hintId) {
283
+ const dir = evaluationsDir(projectRoot);
284
+ if (!existsSync(dir))
285
+ return [];
286
+ return readdirSync(dir)
287
+ .filter((file) => file.endsWith('.hint-evaluation.yaml'))
288
+ .map((file) => readHintEvaluationFile(join(dir, file)))
289
+ .filter((item) => Boolean(item) && (!hintId || item.hintId === hintId))
290
+ .sort((a, b) => a.createdAt.localeCompare(b.createdAt));
291
+ }
163
292
  /**
164
293
  * Approve or reject a candidate hint. Writes the review record, flips the hint
165
294
  * file's status, and reindexes SQLite. Approval is the ONLY path that makes a
@@ -169,6 +298,21 @@ export function reviewHint(projectRoot, input) {
169
298
  const hint = getHintFromGit(projectRoot, input.hintId);
170
299
  if (!hint)
171
300
  return null;
301
+ if (input.decision === 'approved' && requiresEvaluatedApproval(projectRoot)) {
302
+ if (!input.snapshotId || !hint.snapshotId || input.snapshotId !== hint.snapshotId) {
303
+ throw new HintLifecycleError('HINT_SNAPSHOT_MISMATCH', `Hint ${hint.id} was recorded against snapshot ${hint.snapshotId ?? 'unknown'}, not ${input.snapshotId ?? 'unknown'}. Refresh before review.`);
304
+ }
305
+ const evaluation = hint.evaluationId ? getHintEvaluationFromGit(projectRoot, hint.evaluationId) : null;
306
+ if (!evaluation) {
307
+ throw new HintLifecycleError('HINT_EVALUATION_REQUIRED', `Hint ${hint.id} cannot be approved before its required evaluation runs.`);
308
+ }
309
+ if (evaluation.status !== 'passed') {
310
+ throw new HintLifecycleError('HINT_EVALUATION_FAILED', `Hint ${hint.id} cannot be approved because evaluation ${evaluation.id} failed.`);
311
+ }
312
+ if (evaluation.snapshotId !== input.snapshotId || evaluation.evaluation !== hint.requiredEvaluation) {
313
+ throw new HintLifecycleError('HINT_EVALUATION_STALE', `Hint ${hint.id} evaluation does not match the current correction snapshot and required evaluation.`);
314
+ }
315
+ }
172
316
  const reviewId = genId('review');
173
317
  const createdAt = nowIso();
174
318
  const review = {
@@ -226,6 +370,32 @@ function strOrUndef(value) {
226
370
  const str = String(value).trim();
227
371
  return str.length > 0 ? str : undefined;
228
372
  }
373
+ function cleanStringList(value) {
374
+ if (!Array.isArray(value))
375
+ return [];
376
+ return [...new Set(value.map((item) => String(item).trim()).filter(Boolean))];
377
+ }
378
+ function cleanEvaluationChecks(value) {
379
+ if (!Array.isArray(value))
380
+ return [];
381
+ return value.flatMap((check) => {
382
+ if (!check || typeof check !== 'object')
383
+ return [];
384
+ const name = strOrUndef(check.name);
385
+ if (!name || typeof check.passed !== 'boolean')
386
+ return [];
387
+ return [{ name, passed: check.passed, evidence: strOrUndef(check.evidence) }];
388
+ });
389
+ }
390
+ function requiresEvaluatedApproval(projectRoot) {
391
+ try {
392
+ const config = loadProjectConfig(projectRoot);
393
+ return config.manifestVersion === 3 && config.modeling?.mode === 'dbt-first';
394
+ }
395
+ catch {
396
+ return false;
397
+ }
398
+ }
229
399
  function stripUndefined(obj) {
230
400
  const out = {};
231
401
  for (const [key, value] of Object.entries(obj)) {
@@ -1 +1 @@
1
- {"version":3,"file":"git-store.js","sourceRoot":"","sources":["../../src/hints/git-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-store.js","sourceRoot":"","sources":["../../src/hints/git-store.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  * Source of truth = Git:
10
10
  * - `.dql/traces/*.trace.json` — raw correction traces (what was wrong + the fix)
11
11
  * - `.dql/hints/*.hint.yaml` — candidate/approved/rejected hints
12
+ * - `.dql/evaluations/*.hint-evaluation.yaml` — required evaluation results
12
13
  * - `.dql/reviews/*.review.yaml` — human review decisions
13
14
  *
14
15
  * `.dql/cache/agent-kg.sqlite` carries a rebuildable FTS index of approved hints
@@ -34,6 +35,32 @@ export interface HintScope {
34
35
  block?: string;
35
36
  }
36
37
  export type HintStatus = 'candidate' | 'approved' | 'rejected';
38
+ export type HintEvaluationStatus = 'passed' | 'failed';
39
+ /** One deterministic check executed by the required correction evaluation. */
40
+ export interface HintEvaluationCheck {
41
+ name: string;
42
+ passed: boolean;
43
+ /** Git-reviewable evidence, such as an eval case, assertion, or result reference. */
44
+ evidence?: string;
45
+ }
46
+ /**
47
+ * Git-authoritative result for a candidate hint's required evaluation.
48
+ * Approval is permitted only when the referenced evaluation passed on the same
49
+ * immutable snapshot that produced the correction.
50
+ */
51
+ export interface HintEvaluation {
52
+ id: string;
53
+ hintId: string;
54
+ traceId?: string;
55
+ snapshotId: string;
56
+ evaluation: string;
57
+ status: HintEvaluationStatus;
58
+ checks: HintEvaluationCheck[];
59
+ evidence: string[];
60
+ evaluator: string;
61
+ note?: string;
62
+ createdAt: string;
63
+ }
37
64
  /**
38
65
  * A raw correction trace recorded when a Tier-2 generated answer is corrected.
39
66
  * This is the immutable evidence a hint is later derived from.
@@ -57,6 +84,14 @@ export interface CorrectionTrace {
57
84
  author?: string;
58
85
  /** contextPackId / blockId the correction was anchored to, when known. */
59
86
  anchorObjectKey?: string;
87
+ /** Failed governed route or tool path, when known. */
88
+ failedRoute?: string;
89
+ /** Human- or tool-provided evidence supporting the correction. */
90
+ evidence?: string[];
91
+ /** Immutable project snapshot against which the correction was recorded. */
92
+ snapshotId?: string;
93
+ /** Stable evaluation name that must pass before approval. */
94
+ requiredEvaluation?: string;
60
95
  /** id of the hint derived from this trace, once created. */
61
96
  derivedHintId?: string;
62
97
  }
@@ -86,6 +121,12 @@ export interface Hint {
86
121
  author?: string;
87
122
  /** Who approved/rejected (set by the review). */
88
123
  reviewer?: string;
124
+ /** Immutable project snapshot against which the candidate was created. */
125
+ snapshotId?: string;
126
+ /** Stable evaluation name that must pass before approval. */
127
+ requiredEvaluation?: string;
128
+ /** Latest Git-authoritative evaluation artifact for this candidate. */
129
+ evaluationId?: string;
89
130
  /** ISO-8601. */
90
131
  createdAt: string;
91
132
  /** ISO-8601. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hints/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/hints/types.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  * Source of truth = Git:
10
10
  * - `.dql/traces/*.trace.json` — raw correction traces (what was wrong + the fix)
11
11
  * - `.dql/hints/*.hint.yaml` — candidate/approved/rejected hints
12
+ * - `.dql/evaluations/*.hint-evaluation.yaml` — required evaluation results
12
13
  * - `.dql/reviews/*.review.yaml` — human review decisions
13
14
  *
14
15
  * `.dql/cache/agent-kg.sqlite` carries a rebuildable FTS index of approved hints