@duckcodeailabs/dql-agent 1.6.21 → 1.6.23

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 (160) hide show
  1. package/dist/agent-run-engine.d.ts +287 -0
  2. package/dist/agent-run-engine.d.ts.map +1 -0
  3. package/dist/agent-run-engine.js +916 -0
  4. package/dist/agent-run-engine.js.map +1 -0
  5. package/dist/agent-run-gates.d.ts +26 -0
  6. package/dist/agent-run-gates.d.ts.map +1 -0
  7. package/dist/agent-run-gates.js +170 -0
  8. package/dist/agent-run-gates.js.map +1 -0
  9. package/dist/agent-run-planner.d.ts +32 -0
  10. package/dist/agent-run-planner.d.ts.map +1 -0
  11. package/dist/agent-run-planner.js +280 -0
  12. package/dist/agent-run-planner.js.map +1 -0
  13. package/dist/answer-loop.d.ts +49 -0
  14. package/dist/answer-loop.d.ts.map +1 -1
  15. package/dist/answer-loop.js +292 -17
  16. package/dist/answer-loop.js.map +1 -1
  17. package/dist/app-builder.d.ts +6 -0
  18. package/dist/app-builder.d.ts.map +1 -1
  19. package/dist/app-builder.js +95 -2
  20. package/dist/app-builder.js.map +1 -1
  21. package/dist/app-planner.d.ts +78 -0
  22. package/dist/app-planner.d.ts.map +1 -0
  23. package/dist/app-planner.js +145 -0
  24. package/dist/app-planner.js.map +1 -0
  25. package/dist/embeddings/provider.d.ts +66 -0
  26. package/dist/embeddings/provider.d.ts.map +1 -0
  27. package/dist/embeddings/provider.js +105 -0
  28. package/dist/embeddings/provider.js.map +1 -0
  29. package/dist/hints/git-store.d.ts +69 -0
  30. package/dist/hints/git-store.d.ts.map +1 -0
  31. package/dist/hints/git-store.js +244 -0
  32. package/dist/hints/git-store.js.map +1 -0
  33. package/dist/hints/retrieval.d.ts +49 -0
  34. package/dist/hints/retrieval.d.ts.map +1 -0
  35. package/dist/hints/retrieval.js +60 -0
  36. package/dist/hints/retrieval.js.map +1 -0
  37. package/dist/hints/store.d.ts +39 -0
  38. package/dist/hints/store.d.ts.map +1 -0
  39. package/dist/hints/store.js +279 -0
  40. package/dist/hints/store.js.map +1 -0
  41. package/dist/hints/types.d.ts +147 -0
  42. package/dist/hints/types.d.ts.map +1 -0
  43. package/dist/hints/types.js +92 -0
  44. package/dist/hints/types.js.map +1 -0
  45. package/dist/index.d.ts +43 -6
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +35 -3
  48. package/dist/index.js.map +1 -1
  49. package/dist/intent-controller.d.ts +63 -0
  50. package/dist/intent-controller.d.ts.map +1 -0
  51. package/dist/intent-controller.js +150 -0
  52. package/dist/intent-controller.js.map +1 -0
  53. package/dist/kg/build.d.ts.map +1 -1
  54. package/dist/kg/build.js +2 -0
  55. package/dist/kg/build.js.map +1 -1
  56. package/dist/kg/sqlite-fts.js +4 -0
  57. package/dist/kg/sqlite-fts.js.map +1 -1
  58. package/dist/kg/types.d.ts +10 -0
  59. package/dist/kg/types.d.ts.map +1 -1
  60. package/dist/metadata/catalog.d.ts +81 -4
  61. package/dist/metadata/catalog.d.ts.map +1 -1
  62. package/dist/metadata/catalog.js +208 -1
  63. package/dist/metadata/catalog.js.map +1 -1
  64. package/dist/metadata/drafts.d.ts +22 -0
  65. package/dist/metadata/drafts.d.ts.map +1 -1
  66. package/dist/metadata/drafts.js +126 -2
  67. package/dist/metadata/drafts.js.map +1 -1
  68. package/dist/metadata/grain-gate.d.ts +61 -0
  69. package/dist/metadata/grain-gate.d.ts.map +1 -0
  70. package/dist/metadata/grain-gate.js +265 -0
  71. package/dist/metadata/grain-gate.js.map +1 -0
  72. package/dist/metadata/identity.d.ts +47 -0
  73. package/dist/metadata/identity.d.ts.map +1 -0
  74. package/dist/metadata/identity.js +147 -0
  75. package/dist/metadata/identity.js.map +1 -0
  76. package/dist/metadata/metric-match.d.ts +93 -0
  77. package/dist/metadata/metric-match.d.ts.map +1 -0
  78. package/dist/metadata/metric-match.js +233 -0
  79. package/dist/metadata/metric-match.js.map +1 -0
  80. package/dist/metadata/sql-grounding.d.ts +149 -0
  81. package/dist/metadata/sql-grounding.d.ts.map +1 -0
  82. package/dist/metadata/sql-grounding.js +397 -0
  83. package/dist/metadata/sql-grounding.js.map +1 -0
  84. package/dist/metadata/sql-retrieval.d.ts +29 -0
  85. package/dist/metadata/sql-retrieval.d.ts.map +1 -0
  86. package/dist/metadata/sql-retrieval.js +79 -0
  87. package/dist/metadata/sql-retrieval.js.map +1 -0
  88. package/dist/narrate.d.ts +52 -0
  89. package/dist/narrate.d.ts.map +1 -0
  90. package/dist/narrate.js +263 -0
  91. package/dist/narrate.js.map +1 -0
  92. package/dist/propose/build-from-prompt.d.ts +160 -0
  93. package/dist/propose/build-from-prompt.d.ts.map +1 -0
  94. package/dist/propose/build-from-prompt.js +815 -0
  95. package/dist/propose/build-from-prompt.js.map +1 -0
  96. package/dist/propose/classify.d.ts +55 -0
  97. package/dist/propose/classify.d.ts.map +1 -0
  98. package/dist/propose/classify.js +167 -0
  99. package/dist/propose/classify.js.map +1 -0
  100. package/dist/propose/config.d.ts +39 -0
  101. package/dist/propose/config.d.ts.map +1 -0
  102. package/dist/propose/config.js +52 -0
  103. package/dist/propose/config.js.map +1 -0
  104. package/dist/propose/dbt-artifacts.d.ts +134 -0
  105. package/dist/propose/dbt-artifacts.d.ts.map +1 -0
  106. package/dist/propose/dbt-artifacts.js +320 -0
  107. package/dist/propose/dbt-artifacts.js.map +1 -0
  108. package/dist/propose/edit-block.d.ts +74 -0
  109. package/dist/propose/edit-block.d.ts.map +1 -0
  110. package/dist/propose/edit-block.js +133 -0
  111. package/dist/propose/edit-block.js.map +1 -0
  112. package/dist/propose/enrich.d.ts +48 -0
  113. package/dist/propose/enrich.d.ts.map +1 -0
  114. package/dist/propose/enrich.js +125 -0
  115. package/dist/propose/enrich.js.map +1 -0
  116. package/dist/propose/generate-sql.d.ts +61 -0
  117. package/dist/propose/generate-sql.d.ts.map +1 -0
  118. package/dist/propose/generate-sql.js +180 -0
  119. package/dist/propose/generate-sql.js.map +1 -0
  120. package/dist/propose/index.d.ts +24 -0
  121. package/dist/propose/index.d.ts.map +1 -0
  122. package/dist/propose/index.js +15 -0
  123. package/dist/propose/index.js.map +1 -0
  124. package/dist/propose/propose.d.ts +226 -0
  125. package/dist/propose/propose.d.ts.map +1 -0
  126. package/dist/propose/propose.js +668 -0
  127. package/dist/propose/propose.js.map +1 -0
  128. package/dist/propose/reflect-block.d.ts +99 -0
  129. package/dist/propose/reflect-block.d.ts.map +1 -0
  130. package/dist/propose/reflect-block.js +220 -0
  131. package/dist/propose/reflect-block.js.map +1 -0
  132. package/dist/propose/write-draft.d.ts +90 -0
  133. package/dist/propose/write-draft.d.ts.map +1 -0
  134. package/dist/propose/write-draft.js +185 -0
  135. package/dist/propose/write-draft.js.map +1 -0
  136. package/dist/providers/claude.d.ts +13 -1
  137. package/dist/providers/claude.d.ts.map +1 -1
  138. package/dist/providers/claude.js +20 -2
  139. package/dist/providers/claude.js.map +1 -1
  140. package/dist/providers/gemini.d.ts +13 -1
  141. package/dist/providers/gemini.d.ts.map +1 -1
  142. package/dist/providers/gemini.js +24 -3
  143. package/dist/providers/gemini.js.map +1 -1
  144. package/dist/providers/index.d.ts +3 -3
  145. package/dist/providers/index.d.ts.map +1 -1
  146. package/dist/providers/index.js +3 -3
  147. package/dist/providers/index.js.map +1 -1
  148. package/dist/research-loop.d.ts +62 -0
  149. package/dist/research-loop.d.ts.map +1 -0
  150. package/dist/research-loop.js +210 -0
  151. package/dist/research-loop.js.map +1 -0
  152. package/dist/skills/defaults.d.ts +37 -0
  153. package/dist/skills/defaults.d.ts.map +1 -0
  154. package/dist/skills/defaults.js +152 -0
  155. package/dist/skills/defaults.js.map +1 -0
  156. package/dist/skills/loader.d.ts +60 -0
  157. package/dist/skills/loader.d.ts.map +1 -1
  158. package/dist/skills/loader.js +164 -2
  159. package/dist/skills/loader.js.map +1 -1
  160. package/package.json +7 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propose.js","sourceRoot":"","sources":["../../src/propose/propose.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Reflect-before-certify (P2) — a bounded self-evaluation loop the agent runs on a
3
+ * freshly built block BEFORE it is handed to a human reviewer.
4
+ *
5
+ * DQL's verifier is real: the Certifier rules + a block's own tests/invariants. So
6
+ * "reflect" here is not an LLM second-guessing itself — it is the agent running that
7
+ * verifier, then deterministically REVISING the draft to clear what it safely can,
8
+ * and reporting what it could not (which stays for the human).
9
+ *
10
+ * Two kinds of fix:
11
+ * 1. Output-contract reconciliation (the deepest, only possible WITH an execution
12
+ * probe): the SQL is the source of truth — align `declaredOutputs` with the
13
+ * columns the query actually returns, removing phantom outputs and declaring
14
+ * real ones. This catches the #1 way a "certified" block silently lies.
15
+ * 2. Governance gap-filling: infer grain, default a review cadence, repair an
16
+ * invalid pattern, etc. — the contract metadata the Certifier checks.
17
+ *
18
+ * What it NEVER auto-fills: `owner`. Owner accountability is the human gate (a block
19
+ * with no owner stays blocking), per the project's AI-drafts/human-certifies rule.
20
+ */
21
+ import type { InvariantResult } from '@duckcodeailabs/dql-governance';
22
+ /** The mutable draft fields the reflection may revise. */
23
+ export interface ReflectableDraft {
24
+ slug: string;
25
+ domain: string;
26
+ owner: string;
27
+ description: string;
28
+ grain?: string;
29
+ outputs: string[];
30
+ entities: string[];
31
+ invariants: string[];
32
+ llmContext?: string;
33
+ reviewCadence?: string;
34
+ tags: string[];
35
+ sourceSystems: string[];
36
+ gitPath: string;
37
+ blockType?: 'custom' | 'semantic';
38
+ pattern?: string;
39
+ metricRef?: string;
40
+ }
41
+ /** Grounded evidence from actually executing the block, when the caller has an executor. */
42
+ export interface ExecutionProbe {
43
+ /** Columns the block SQL actually returns — the truth for the output contract. */
44
+ actualColumns?: string[];
45
+ /** Test summary from running the block's tests against real data. */
46
+ tests?: {
47
+ passed: number;
48
+ failed: number;
49
+ assertionCount?: number;
50
+ };
51
+ /** Invariant evaluation against the most recent result. */
52
+ invariantResults?: InvariantResult[];
53
+ }
54
+ export interface ReflectionFix {
55
+ /** Certifier rule (or 'output-contract') the fix addresses. */
56
+ rule: string;
57
+ /** Human-readable description of what was changed. */
58
+ action: string;
59
+ }
60
+ export interface BlockReflection {
61
+ /** True when no blocking (error) check remains after the loop. */
62
+ ready: boolean;
63
+ iterations: number;
64
+ fixesApplied: ReflectionFix[];
65
+ remainingBlocking: string[];
66
+ remainingWarnings: string[];
67
+ /** Output-contract reconciliation result, when an execution probe was supplied. */
68
+ outputContract?: {
69
+ aligned: boolean;
70
+ phantomOutputs: string[];
71
+ undeclaredColumns: string[];
72
+ };
73
+ /** Tests verdict from the probe, when supplied. */
74
+ testsPassed?: boolean;
75
+ /** Final structured Certifier verdict on the revised draft (for the review header). */
76
+ certification: {
77
+ certified: boolean;
78
+ errors: Array<{
79
+ rule: string;
80
+ message: string;
81
+ }>;
82
+ warnings: Array<{
83
+ rule: string;
84
+ message: string;
85
+ }>;
86
+ };
87
+ /** The revised draft (a copy — the input is not mutated). */
88
+ revised: ReflectableDraft;
89
+ }
90
+ /**
91
+ * Reflect on a freshly built draft and revise it in place of a human's first pass.
92
+ * Pure: returns a new draft + a structured report. Pass an {@link ExecutionProbe}
93
+ * (the caller runs the SQL/tests) to unlock output-contract reconciliation and a
94
+ * real tests/invariants verdict — without it, the loop fills governance gaps only.
95
+ */
96
+ export declare function reflectAndReviseBlock(draft: ReflectableDraft, probe?: ExecutionProbe, opts?: {
97
+ maxIterations?: number;
98
+ }): BlockReflection;
99
+ //# sourceMappingURL=reflect-block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflect-block.d.ts","sourceRoot":"","sources":["../../src/propose/reflect-block.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtE,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,4FAA4F;AAC5F,MAAM,WAAW,cAAc;IAC7B,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qEAAqE;IACrE,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,mFAAmF;IACnF,cAAc,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC7F,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uFAAuF;IACvF,aAAa,EAAE;QACb,SAAS,EAAE,OAAO,CAAC;QACnB,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjD,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACpD,CAAC;IACF,6DAA6D;IAC7D,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AA6HD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,gBAAgB,EACvB,KAAK,CAAC,EAAE,cAAc,EACtB,IAAI,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACpC,eAAe,CA2EjB"}
@@ -0,0 +1,220 @@
1
+ /**
2
+ * Reflect-before-certify (P2) — a bounded self-evaluation loop the agent runs on a
3
+ * freshly built block BEFORE it is handed to a human reviewer.
4
+ *
5
+ * DQL's verifier is real: the Certifier rules + a block's own tests/invariants. So
6
+ * "reflect" here is not an LLM second-guessing itself — it is the agent running that
7
+ * verifier, then deterministically REVISING the draft to clear what it safely can,
8
+ * and reporting what it could not (which stays for the human).
9
+ *
10
+ * Two kinds of fix:
11
+ * 1. Output-contract reconciliation (the deepest, only possible WITH an execution
12
+ * probe): the SQL is the source of truth — align `declaredOutputs` with the
13
+ * columns the query actually returns, removing phantom outputs and declaring
14
+ * real ones. This catches the #1 way a "certified" block silently lies.
15
+ * 2. Governance gap-filling: infer grain, default a review cadence, repair an
16
+ * invalid pattern, etc. — the contract metadata the Certifier checks.
17
+ *
18
+ * What it NEVER auto-fills: `owner`. Owner accountability is the human gate (a block
19
+ * with no owner stays blocking), per the project's AI-drafts/human-certifies rule.
20
+ */
21
+ import { Certifier } from '@duckcodeailabs/dql-governance';
22
+ const MAX_ITERATIONS = 4;
23
+ const TIME_DIM_RE = /(_at$|_date$|_time$|_ts$|^date$|^month$|^week$|^day$|ordered_at|created)/i;
24
+ const VALID_PATTERNS = new Set([
25
+ 'custom',
26
+ 'metric_wrapper',
27
+ 'entity_profile',
28
+ 'entity_rollup',
29
+ 'ranking',
30
+ 'trend',
31
+ 'drilldown',
32
+ ]);
33
+ function draftToRecord(d) {
34
+ const now = new Date();
35
+ return {
36
+ id: d.slug,
37
+ name: d.slug,
38
+ domain: d.domain,
39
+ type: d.blockType ?? 'custom',
40
+ version: '0.1.0',
41
+ status: 'draft',
42
+ gitRepo: '',
43
+ gitPath: d.gitPath,
44
+ gitCommitSha: '',
45
+ description: d.description,
46
+ owner: d.owner,
47
+ tags: d.tags,
48
+ dependencies: [],
49
+ usedInCount: 0,
50
+ createdAt: now,
51
+ updatedAt: now,
52
+ llmContext: d.llmContext,
53
+ invariants: d.invariants,
54
+ pattern: d.pattern ?? 'custom',
55
+ metricRef: d.metricRef,
56
+ grain: d.grain,
57
+ entities: d.entities.length > 0 ? d.entities : undefined,
58
+ declaredOutputs: d.outputs.length > 0 ? d.outputs : undefined,
59
+ testAssertions: d.invariants.map((inv) => `assert ${inv}`),
60
+ };
61
+ }
62
+ function probeToTestSummary(probe) {
63
+ if (!probe?.tests)
64
+ return undefined;
65
+ const count = probe.tests.assertionCount ?? probe.tests.passed + probe.tests.failed;
66
+ return {
67
+ passed: probe.tests.passed,
68
+ failed: probe.tests.failed,
69
+ skipped: 0,
70
+ duration: 0,
71
+ assertions: Array.from({ length: count }, (_unused, i) => ({
72
+ name: `assert ${i}`,
73
+ passed: i < probe.tests.passed,
74
+ })),
75
+ runAt: new Date(),
76
+ };
77
+ }
78
+ /** Infer a sensible grain from the draft when one is missing. */
79
+ function inferGrain(d) {
80
+ if (d.pattern === 'metric_wrapper' || d.blockType === 'semantic') {
81
+ const timeCol = d.outputs.find((o) => TIME_DIM_RE.test(o));
82
+ return timeCol ? `${d.metricRef ?? 'metric'} by ${timeCol}` : (d.metricRef ?? 'metric');
83
+ }
84
+ if (d.entities.length > 0)
85
+ return `one row per ${d.entities[0]}`;
86
+ const timeCol = d.outputs.find((o) => TIME_DIM_RE.test(o));
87
+ if (timeCol)
88
+ return `one row per ${timeCol}`;
89
+ return 'one row per result';
90
+ }
91
+ /**
92
+ * Apply the deterministic, SAFE fixes the failed checks call for. Returns the fixes
93
+ * applied this pass; an empty array means no further progress is possible (the loop
94
+ * then stops). Never touches `owner`.
95
+ */
96
+ function autoFix(d, failed) {
97
+ const fixes = [];
98
+ const has = (needle) => failed.some((f) => f.rule.toLowerCase().includes(needle));
99
+ if (has('grain') && (!d.grain || !d.grain.trim())) {
100
+ d.grain = inferGrain(d);
101
+ fixes.push({ rule: 'declares-grain', action: `inferred grain "${d.grain}"` });
102
+ }
103
+ if (has('review cadence') && (!d.reviewCadence || !d.reviewCadence.trim())) {
104
+ d.reviewCadence = 'quarterly';
105
+ fixes.push({ rule: 'declares-review-cadence', action: 'defaulted review cadence to "quarterly"' });
106
+ }
107
+ if (has('llm context') && (!d.llmContext || !d.llmContext.trim())) {
108
+ d.llmContext = d.metricRef
109
+ ? `Answers "${d.slug.replace(/_/g, ' ')}" questions using the governed metric "${d.metricRef}".`
110
+ : `Use this block to answer "${d.slug.replace(/_/g, ' ')}" questions. ${d.description}`.trim();
111
+ fixes.push({ rule: 'has-llm-context', action: 'drafted an llmContext' });
112
+ }
113
+ if (has('tags') && d.tags.length === 0) {
114
+ d.tags = ['proposed', 'ai-build'];
115
+ fixes.push({ rule: 'has-tags', action: 'added default tags' });
116
+ }
117
+ if (has('pattern') && !VALID_PATTERNS.has((d.pattern ?? '').trim())) {
118
+ d.pattern = 'custom';
119
+ fixes.push({ rule: 'valid-block-pattern', action: 'reset invalid pattern to "custom"' });
120
+ }
121
+ // metric_wrapper must bind exactly one metric: bind it if we have one, else demote
122
+ // the pattern so the block is not advertised as a metric wrapper it cannot honor.
123
+ if (has('metric wrapper')) {
124
+ if (d.metricRef && d.blockType !== 'semantic') {
125
+ d.blockType = 'semantic';
126
+ fixes.push({ rule: 'metric-wrapper-contract', action: `bound semantic metric "${d.metricRef}"` });
127
+ }
128
+ else if (!d.metricRef && d.pattern === 'metric_wrapper') {
129
+ d.pattern = 'custom';
130
+ fixes.push({ rule: 'metric-wrapper-contract', action: 'demoted unbound metric_wrapper to "custom"' });
131
+ }
132
+ }
133
+ // trend must declare a time grain.
134
+ if (has('trend') && d.pattern === 'trend' && !(d.grain && TIME_DIM_RE.test(d.grain))) {
135
+ const timeCol = d.outputs.find((o) => TIME_DIM_RE.test(o));
136
+ if (timeCol) {
137
+ d.grain = `one row per ${timeCol}`;
138
+ fixes.push({ rule: 'trend-contract', action: `set time grain to ${timeCol}` });
139
+ }
140
+ }
141
+ return fixes;
142
+ }
143
+ /**
144
+ * Reflect on a freshly built draft and revise it in place of a human's first pass.
145
+ * Pure: returns a new draft + a structured report. Pass an {@link ExecutionProbe}
146
+ * (the caller runs the SQL/tests) to unlock output-contract reconciliation and a
147
+ * real tests/invariants verdict — without it, the loop fills governance gaps only.
148
+ */
149
+ export function reflectAndReviseBlock(draft, probe, opts = {}) {
150
+ const fields = {
151
+ ...draft,
152
+ outputs: [...draft.outputs],
153
+ entities: [...draft.entities],
154
+ invariants: [...draft.invariants],
155
+ tags: [...draft.tags],
156
+ sourceSystems: [...draft.sourceSystems],
157
+ };
158
+ const fixesApplied = [];
159
+ // 1) Output-contract reconciliation — the SQL is the source of truth.
160
+ let outputContract;
161
+ if (probe?.actualColumns && probe.actualColumns.length > 0) {
162
+ const actual = probe.actualColumns;
163
+ const phantomOutputs = fields.outputs.filter((o) => !actual.includes(o));
164
+ const undeclaredColumns = actual.filter((c) => !fields.outputs.includes(c));
165
+ if (phantomOutputs.length > 0 || undeclaredColumns.length > 0 || fields.outputs.length === 0) {
166
+ fields.outputs = [...actual];
167
+ if (phantomOutputs.length > 0) {
168
+ fixesApplied.push({
169
+ rule: 'output-contract',
170
+ action: `removed phantom outputs not returned by the SQL: ${phantomOutputs.join(', ')}`,
171
+ });
172
+ }
173
+ if (undeclaredColumns.length > 0) {
174
+ fixesApplied.push({
175
+ rule: 'output-contract',
176
+ action: `declared real output columns: ${undeclaredColumns.join(', ')}`,
177
+ });
178
+ }
179
+ }
180
+ outputContract = {
181
+ aligned: phantomOutputs.length === 0 && undeclaredColumns.length === 0,
182
+ phantomOutputs,
183
+ undeclaredColumns,
184
+ };
185
+ }
186
+ // 2) Bounded governance gap-filling loop, grounded by the probe's tests/invariants.
187
+ const testResults = probeToTestSummary(probe);
188
+ const context = probe?.invariantResults
189
+ ? { invariantResults: probe.invariantResults }
190
+ : undefined;
191
+ const certifier = new Certifier();
192
+ const maxIterations = opts.maxIterations ?? MAX_ITERATIONS;
193
+ let iterations = 0;
194
+ let evaluation = certifier.evaluate(draftToRecord(fields), testResults, context);
195
+ while (evaluation.errors.length + evaluation.warnings.length > 0 &&
196
+ iterations < maxIterations) {
197
+ const applied = autoFix(fields, [...evaluation.errors, ...evaluation.warnings]);
198
+ if (applied.length === 0)
199
+ break; // no safe fix left — stop, leave the rest for the human
200
+ fixesApplied.push(...applied);
201
+ iterations += 1;
202
+ evaluation = certifier.evaluate(draftToRecord(fields), testResults, context);
203
+ }
204
+ return {
205
+ ready: evaluation.errors.length === 0,
206
+ iterations,
207
+ fixesApplied,
208
+ remainingBlocking: evaluation.errors.map((e) => `${e.rule}: ${e.message}`),
209
+ remainingWarnings: evaluation.warnings.map((w) => `${w.rule}: ${w.message}`),
210
+ outputContract,
211
+ testsPassed: probe?.tests ? probe.tests.failed === 0 : undefined,
212
+ certification: {
213
+ certified: evaluation.errors.length === 0,
214
+ errors: evaluation.errors,
215
+ warnings: evaluation.warnings,
216
+ },
217
+ revised: fields,
218
+ };
219
+ }
220
+ //# sourceMappingURL=reflect-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reflect-block.js","sourceRoot":"","sources":["../../src/propose/reflect-block.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Draft-queue writer for `dql propose`.
3
+ *
4
+ * This reuses the exact draft-writing convention the MCP `suggest_block` and the
5
+ * Tier-2 `upsertGeneratedDraft` paths already use:
6
+ * - Drafts land under `domains/<domain>/blocks/_drafts/<slug>.dql` when the
7
+ * domain dir exists, else `blocks/_drafts/<slug>.dql`.
8
+ * - Files are born `status = "draft"` and are NEVER written as certified.
9
+ * - Re-running is idempotent: if a file already exists at the target path it
10
+ * is left untouched and `created: false` is returned.
11
+ *
12
+ * The renderer emits valid DQL (verified against the parser's accepted field
13
+ * set) including the conservative governance metadata the Certifier reads, plus
14
+ * the stored Certifier verdict as a comment header so a reviewer immediately
15
+ * sees "what's missing to certify".
16
+ */
17
+ export interface ProposedDraftRecord {
18
+ slug: string;
19
+ domain: string;
20
+ owner: string;
21
+ description: string;
22
+ /** Block body SQL (wraps the dbt model via `{{ ref('...') }}`). */
23
+ sql: string;
24
+ /**
25
+ * 'semantic' for a metric-bound block (import-adapter shape: `metric` + a
26
+ * pre-compiled `query` that runs offline), else 'custom'. Defaults to 'custom'.
27
+ */
28
+ blockType?: 'custom' | 'semantic';
29
+ /** Governed metric this block wraps (semantic blocks). Satisfies metric_wrapper. */
30
+ metricRef?: string;
31
+ /** Semantic dimensions the metric is grouped by (semantic blocks). */
32
+ dimensions?: string[];
33
+ pattern: string;
34
+ grain?: string;
35
+ entities: string[];
36
+ declaredOutputs: string[];
37
+ /** Business filters an app/dashboard may apply (output dimension columns). */
38
+ allowedFilters?: string[];
39
+ /** Maps each allowed filter to the physical column/expression it binds to. */
40
+ filterBindings?: Array<{
41
+ filter: string;
42
+ binding: string;
43
+ }>;
44
+ llmContext?: string;
45
+ /** Review cadence (e.g. "quarterly"); AI-defaulted so the cadence warning is pre-satisfied. */
46
+ reviewCadence?: string;
47
+ invariants: string[];
48
+ examples: Array<{
49
+ question: string;
50
+ sql?: string;
51
+ }>;
52
+ tags: string[];
53
+ /** dbt model this draft was proposed from. */
54
+ sourceModel: string;
55
+ sourceSystems: string[];
56
+ /** Stored Certifier verdict — surfaced as a review header, not as status. */
57
+ certification: {
58
+ certified: false;
59
+ errors: Array<{
60
+ rule: string;
61
+ message: string;
62
+ }>;
63
+ warnings: Array<{
64
+ rule: string;
65
+ message: string;
66
+ }>;
67
+ };
68
+ /**
69
+ * What the reflect-before-certify loop auto-fixed (P2), rendered in the review
70
+ * header so the human sees what the agent already corrected (e.g. reconciled the
71
+ * output contract, inferred grain) before they review.
72
+ */
73
+ reflectionFixes?: string[];
74
+ }
75
+ export interface WrittenDraft {
76
+ path: string;
77
+ /** false when an existing block was found and left untouched (idempotent). */
78
+ created: boolean;
79
+ }
80
+ /** Slugify a model name into a kebab/snake block id (snake to match dbt). */
81
+ export declare function blockSlug(name: string): string;
82
+ /**
83
+ * Write the proposed draft. Idempotent: an existing file at the target path is
84
+ * left untouched. We additionally check the canonical (non-draft) domain block
85
+ * path so a re-run never re-proposes a block a human already promoted.
86
+ */
87
+ export declare function upsertProposedDraft(projectRoot: string, rec: ProposedDraftRecord): WrittenDraft;
88
+ /** Render the full draft block as canonical DQL text. */
89
+ export declare function renderProposedDraft(rec: ProposedDraftRecord, draftPath: string): string;
90
+ //# sourceMappingURL=write-draft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-draft.d.ts","sourceRoot":"","sources":["../../src/propose/write-draft.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAClC,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,8EAA8E;IAC9E,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,6EAA6E;IAC7E,aAAa,EAAE;QACb,SAAS,EAAE,KAAK,CAAC;QACjB,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACjD,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACpD,CAAC;IACF;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9C;AAwBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,mBAAmB,GACvB,YAAY,CAkBd;AAWD,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA4CvF"}