critical-gate 2.3.0 → 2.3.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 (85) hide show
  1. package/dist/agent-onboarding/agent-instructions.d.ts +21 -0
  2. package/dist/agent-onboarding/agent-instructions.d.ts.map +1 -0
  3. package/dist/agent-onboarding/agent-instructions.js +67 -0
  4. package/dist/agent-onboarding/agent-instructions.js.map +1 -0
  5. package/dist/agent-onboarding/index.d.ts +2 -0
  6. package/dist/agent-onboarding/index.d.ts.map +1 -0
  7. package/dist/agent-onboarding/index.js +2 -0
  8. package/dist/agent-onboarding/index.js.map +1 -0
  9. package/dist/cli.d.ts +1 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +83 -5
  12. package/dist/cli.js.map +1 -1
  13. package/dist/config/critical-gate-config.d.ts +4 -0
  14. package/dist/config/critical-gate-config.d.ts.map +1 -1
  15. package/dist/config/critical-gate-config.js +18 -1
  16. package/dist/config/critical-gate-config.js.map +1 -1
  17. package/dist/config/index.d.ts +1 -1
  18. package/dist/config/index.d.ts.map +1 -1
  19. package/dist/config/index.js +1 -1
  20. package/dist/config/index.js.map +1 -1
  21. package/dist/detectors/api-surface-detector.d.ts.map +1 -1
  22. package/dist/detectors/api-surface-detector.js +56 -9
  23. package/dist/detectors/api-surface-detector.js.map +1 -1
  24. package/dist/detectors/intent-verification-detector.d.ts.map +1 -1
  25. package/dist/detectors/intent-verification-detector.js +31 -1
  26. package/dist/detectors/intent-verification-detector.js.map +1 -1
  27. package/dist/detectors/runner.d.ts +1 -0
  28. package/dist/detectors/runner.d.ts.map +1 -1
  29. package/dist/detectors/runner.js +21 -0
  30. package/dist/detectors/runner.js.map +1 -1
  31. package/dist/detectors/scope-detector.d.ts.map +1 -1
  32. package/dist/detectors/scope-detector.js +24 -7
  33. package/dist/detectors/scope-detector.js.map +1 -1
  34. package/dist/index.d.ts +1 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +1 -0
  37. package/dist/index.js.map +1 -1
  38. package/dist/intent/index.d.ts +1 -1
  39. package/dist/intent/index.d.ts.map +1 -1
  40. package/dist/intent/index.js +1 -1
  41. package/dist/intent/index.js.map +1 -1
  42. package/dist/intent/intent-model.d.ts +3 -0
  43. package/dist/intent/intent-model.d.ts.map +1 -1
  44. package/dist/intent/intent-model.js +49 -1
  45. package/dist/intent/intent-model.js.map +1 -1
  46. package/dist/intent/observed-actions.d.ts.map +1 -1
  47. package/dist/intent/observed-actions.js +45 -2
  48. package/dist/intent/observed-actions.js.map +1 -1
  49. package/dist/llm/artifact.js +8 -8
  50. package/dist/llm/artifact.js.map +1 -1
  51. package/dist/reporters/markdown-reporter.d.ts.map +1 -1
  52. package/dist/reporters/markdown-reporter.js +36 -2
  53. package/dist/reporters/markdown-reporter.js.map +1 -1
  54. package/dist/reporters/pr-comment-reporter.d.ts.map +1 -1
  55. package/dist/reporters/pr-comment-reporter.js +25 -4
  56. package/dist/reporters/pr-comment-reporter.js.map +1 -1
  57. package/dist/reporters/sarif-reporter.d.ts.map +1 -1
  58. package/dist/reporters/sarif-reporter.js +2 -0
  59. package/dist/reporters/sarif-reporter.js.map +1 -1
  60. package/dist/repository/api-snapshot.d.ts +12 -1
  61. package/dist/repository/api-snapshot.d.ts.map +1 -1
  62. package/dist/repository/api-snapshot.js +85 -22
  63. package/dist/repository/api-snapshot.js.map +1 -1
  64. package/dist/repository/index.d.ts +2 -1
  65. package/dist/repository/index.d.ts.map +1 -1
  66. package/dist/repository/index.js +2 -1
  67. package/dist/repository/index.js.map +1 -1
  68. package/dist/repository/token-index.d.ts +9 -0
  69. package/dist/repository/token-index.d.ts.map +1 -0
  70. package/dist/repository/token-index.js +143 -0
  71. package/dist/repository/token-index.js.map +1 -0
  72. package/dist/schema/gate-result.schema.d.ts +191 -0
  73. package/dist/schema/gate-result.schema.d.ts.map +1 -1
  74. package/dist/schema/gate-result.schema.js +97 -2
  75. package/dist/schema/gate-result.schema.js.map +1 -1
  76. package/dist/schema/index.d.ts +1 -1
  77. package/dist/schema/index.d.ts.map +1 -1
  78. package/dist/schema/index.js.map +1 -1
  79. package/dist/schema/types.d.ts +44 -0
  80. package/dist/schema/types.d.ts.map +1 -1
  81. package/dist/version.d.ts +2 -0
  82. package/dist/version.d.ts.map +1 -0
  83. package/dist/version.js +2 -0
  84. package/dist/version.js.map +1 -0
  85. package/package.json +1 -1
@@ -24,18 +24,22 @@ export const apiSurfaceDetector = {
24
24
  name: "api-surface",
25
25
  run: ({ task, diff, context }) => {
26
26
  const snapshot = context?.apiSurfaceSnapshot;
27
- const snapshotSignals = snapshot !== undefined && !hasContractChangeEvidence(diff.files)
27
+ const hasReleaseEvidence = hasContractReleaseEvidence(task.text, diff.files);
28
+ const snapshotUpdateSignals = hasApiSnapshotEvidence(diff.files) && !hasReleaseEvidence
29
+ ? extractSnapshotUpdateSignals(diff.files)
30
+ : [];
31
+ const snapshotSignals = snapshot !== undefined && !hasApiSnapshotEvidence(diff.files) && !hasReleaseEvidence
28
32
  ? extractSnapshotSignals(diff.files, snapshot)
29
33
  : [];
30
34
  if (hasVisibleApiAcknowledgement(task.text, diff.files)) {
31
- return snapshotSignals.map(toFinding);
35
+ return [...snapshotUpdateSignals, ...snapshotSignals].map(toFinding);
32
36
  }
33
37
  const snapshotSignalKeys = new Set(snapshotSignals.map((signal) => `${signal.path}:${signal.symbol ?? "unknown"}`));
34
38
  const lineSignals = diff.files
35
39
  .filter(isSourceFile)
36
- .flatMap(extractSignals)
40
+ .flatMap((file) => extractSignals(file, context?.publicApiEntrypoints))
37
41
  .filter((signal) => !snapshotSignalKeys.has(`${signal.path}:${signal.symbol ?? "unknown"}`));
38
- return [...snapshotSignals, ...lineSignals].map(toFinding);
42
+ return [...snapshotUpdateSignals, ...snapshotSignals, ...lineSignals].map(toFinding);
39
43
  }
40
44
  };
41
45
  function isSourceFile(file) {
@@ -47,11 +51,46 @@ function hasVisibleApiAcknowledgement(taskText, files) {
47
51
  files.some((file) => documentationPathPattern.test(file.path) ||
48
52
  file.path.replace(/\\/g, "/") === API_SURFACE_SNAPSHOT_PATH));
49
53
  }
50
- function hasContractChangeEvidence(files) {
51
- return (hasApiSnapshotEvidence(files) ||
54
+ function hasContractReleaseEvidence(taskText, files) {
55
+ return (hasApiReleaseTaskIntent(taskText) ||
52
56
  files.some((file) => contractEvidencePathPattern.test(file.path)));
53
57
  }
54
- function extractSignals(file) {
58
+ function hasApiReleaseTaskIntent(taskText) {
59
+ const normalizedTask = taskText.toLowerCase();
60
+ return (/\b(?:release|publish|breaking|migration|migrate|major|minor|version)\b/.test(normalizedTask) &&
61
+ /\b(?:api|public api|contract|surface|export|exports)\b/.test(normalizedTask));
62
+ }
63
+ function extractSnapshotUpdateSignals(files) {
64
+ return files
65
+ .filter((file) => file.path.replace(/\\/g, "/") === API_SURFACE_SNAPSHOT_PATH)
66
+ .map((file) => {
67
+ const firstChangedLine = file.hunks
68
+ .flatMap((hunk) => hunk.lines)
69
+ .find((line) => line.kind === "add" || line.kind === "delete");
70
+ return {
71
+ id: "snapshot-update-missing-release-evidence",
72
+ title: "API snapshot updated without release evidence",
73
+ message: "The public API snapshot changed without changelog, changeset, migration, or explicit API release task evidence.",
74
+ repair: "Add release evidence for the public contract change, or revert the API snapshot update.",
75
+ severity: "high",
76
+ confidence: 0.93,
77
+ path: file.path,
78
+ lineNumber: firstChangedLine?.newLineNumber ?? firstChangedLine?.oldLineNumber,
79
+ content: firstChangedLine?.content ?? file.path,
80
+ data: {
81
+ signal: "snapshot-update-missing-release-evidence"
82
+ }
83
+ };
84
+ });
85
+ }
86
+ function extractSignals(file, publicApiEntrypoints) {
87
+ const publicEntrypoint = getPublicEntrypoint(file.path, publicApiEntrypoints);
88
+ const isFrameworkContract = isFrameworkContractFile(file.path);
89
+ if (publicApiEntrypoints !== undefined &&
90
+ publicEntrypoint === undefined &&
91
+ !isFrameworkContract) {
92
+ return [];
93
+ }
55
94
  return file.hunks.flatMap((hunk) => hunk.lines.flatMap((line) => {
56
95
  if (line.kind !== "add" && line.kind !== "delete") {
57
96
  return [];
@@ -61,7 +100,6 @@ function extractSignals(file) {
61
100
  return [];
62
101
  }
63
102
  const isRemoval = line.kind === "delete";
64
- const isFrameworkContract = isFrameworkContractFile(file.path);
65
103
  return [
66
104
  {
67
105
  id: isRemoval
@@ -99,11 +137,20 @@ function extractSignals(file) {
99
137
  signal: isRemoval ? "removed-contract-export" : "added-contract-export",
100
138
  contract: "framework"
101
139
  }
102
- : undefined
140
+ : publicEntrypoint === undefined
141
+ ? undefined
142
+ : {
143
+ signal: isRemoval ? "removed-export" : "added-export",
144
+ publicEntrypoint
145
+ }
103
146
  }
104
147
  ];
105
148
  }));
106
149
  }
150
+ function getPublicEntrypoint(path, publicApiEntrypoints) {
151
+ const normalizedPath = path.replace(/\\/g, "/");
152
+ return publicApiEntrypoints?.find((entrypoint) => entrypoint.path === normalizedPath);
153
+ }
107
154
  function isFrameworkContractFile(path) {
108
155
  const normalizedPath = path.replace(/\\/g, "/");
109
156
  return frameworkContractPathPatterns.some((pattern) => pattern.test(normalizedPath));
@@ -1 +1 @@
1
- {"version":3,"file":"api-surface-detector.js","sourceRoot":"","sources":["../../src/detectors/api-surface-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-surface-detector.js","sourceRoot":"","sources":["../../src/detectors/api-surface-detector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"intent-verification-detector.d.ts","sourceRoot":"","sources":["../../src/detectors/intent-verification-detector.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,0BAA0B,EAAE,QAgBxC,CAAC"}
1
+ {"version":3,"file":"intent-verification-detector.d.ts","sourceRoot":"","sources":["../../src/detectors/intent-verification-detector.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,0BAA0B,EAAE,QAqBxC,CAAC"}
@@ -1,14 +1,19 @@
1
- import { buildIntentModel, classifyObservedDiffActions } from "../intent/index.js";
1
+ import { buildIntentModel, classifyObservedDiffActions, mapChangeClassToIntentCategory } from "../intent/index.js";
2
2
  export const intentVerificationDetector = {
3
3
  name: "intent-verification",
4
4
  run: ({ task, diff }) => {
5
5
  const intent = buildIntentModel(task);
6
6
  const observed = classifyObservedDiffActions(diff.files);
7
+ const observedCategories = [...new Set(observed.classes.map(mapChangeClassToIntentCategory))];
7
8
  const unexpectedClasses = observed.classes
8
9
  .filter((changeClass) => !intent.allowedChangeClasses.includes(changeClass))
9
10
  .filter(isReportableIntentMismatch);
11
+ const missingCategories = intent.expectedCategories
12
+ .filter((category) => !observedCategories.includes(category))
13
+ .filter(isReportableMissingCategory);
10
14
  return [
11
15
  ...unexpectedClasses.map((changeClass) => toFinding(changeClass, intent.allowedChangeClasses, observed.evidence)),
16
+ ...missingCategories.map((category) => toMissingCategoryFinding(category, task.text)),
12
17
  ...detectIntentUndercoverage(task.text, diff.files)
13
18
  ];
14
19
  }
@@ -20,6 +25,9 @@ const stylePathPattern = /\.(?:css|scss|sass|less|styl)$/i;
20
25
  function isReportableIntentMismatch(changeClass) {
21
26
  return changeClass === "ci" || changeClass === "source";
22
27
  }
28
+ function isReportableMissingCategory(category) {
29
+ return category !== "source-behavior" && category !== "ui-content";
30
+ }
23
31
  function detectIntentUndercoverage(taskText, files) {
24
32
  if (!requiresVisibleUiImplementation(taskText) || !isOnlyTrivialStylesheetValueChange(files)) {
25
33
  return [];
@@ -103,4 +111,26 @@ function toFinding(changeClass, allowedClasses, allEvidence) {
103
111
  tags: ["scope"]
104
112
  };
105
113
  }
114
+ function toMissingCategoryFinding(category, taskText) {
115
+ return {
116
+ id: `intent-verification:missing-${category}`,
117
+ detector: "intent-verification",
118
+ severity: "medium",
119
+ confidence: category === "test-coverage" ? 0.72 : 0.8,
120
+ title: `Expected ${category} change not observed`,
121
+ message: `The task intent asks for ${category} work, but the diff does not include that category.`,
122
+ evidence: [
123
+ {
124
+ kind: "metric",
125
+ message: `Requested category: ${category}.`,
126
+ data: {
127
+ requestedCategory: category,
128
+ task: taskText
129
+ }
130
+ }
131
+ ],
132
+ repair: "Add the requested category of work, or update the task intent if the current diff is intentionally narrower.",
133
+ tags: ["scope"]
134
+ };
135
+ }
106
136
  //# sourceMappingURL=intent-verification-detector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intent-verification-detector.js","sourceRoot":"","sources":["../../src/detectors/intent-verification-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAE5B,MAAM,oBAAoB,CAAC;AAI5B,MAAM,CAAC,MAAM,0BAA0B,GAAa;IAClD,IAAI,EAAE,qBAAqB;IAC3B,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO;aACvC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aAC3E,MAAM,CAAC,0BAA0B,CAAC,CAAC;QAEtC,OAAO;YACL,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACvC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CACvE;YACD,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;SACpD,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,yBAAyB,GAC7B,wEAAwE,CAAC;AAC3E,MAAM,oBAAoB,GACxB,qIAAqI,CAAC;AACxI,MAAM,oBAAoB,GACxB,yGAAyG,CAAC;AAC5G,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAE3D,SAAS,0BAA0B,CAAC,WAAwB;IAC1D,OAAO,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,QAAQ,CAAC;AAC1D,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAgB,EAAE,KAA2B;IAC9E,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7F,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;AAID,SAAS,+BAA+B,CAAC,QAAgB;IACvD,OAAO,CACL,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CAAC,KAA2B;IACrE,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,KAAK,CACT,CAAC,IAAI,EAAE,EAAE,CACP,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,MAAM,KAAK,SAAS;YACzB,8BAA8B,CAAC,IAAI,CAAC,CACvC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAwB;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAE9C,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAC3E,CAAC;IAEF,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAE/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,qCAAqC,CAAC,IAAI,CAAC,OAAO,CAAC;QACnD,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC;QAClD,sDAAsD,CAAC,IAAI,CAAC,OAAO,CAAC,CACrE,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB,EAAE,KAA2B;IAC3E,OAAO;QACL,EAAE,EAAE,gDAAgD;QACpD,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,0CAA0C;QACjD,OAAO,EACL,wGAAwG;QAC1G,QAAQ,EAAE,KAAK,CAAC,GAAG,CACjB,CAAC,IAAI,EAAmB,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,8CAA8C;YACnE,IAAI,EAAE;gBACJ,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CACH;QACD,MAAM,EACJ,iHAAiH;QACnH,IAAI,EAAE,CAAC,OAAO,CAAC;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,WAAwB,EACxB,cAA6B,EAC7B,WAAuE;IAEvE,MAAM,QAAQ,GAAG,WAAW;SACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC;SACpD,GAAG,CACF,CAAC,KAAK,EAAmB,EAAE,CAAC,CAAC;QAC3B,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;QACpD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,OAAO,EAAE,KAAK,CAAC,UAAU;QACzB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,MAAM;QACrB,IAAI,EAAE;YACJ,aAAa,EAAE,WAAW;YAC1B,cAAc;SACf;KACF,CAAC,CACH,CAAC;IAEJ,OAAO;QACL,EAAE,EAAE,kCAAkC,WAAW,EAAE;QACnD,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,cAAc,WAAW,yBAAyB;QACzD,OAAO,EAAE,qBAAqB,WAAW,8CAA8C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACnH,QAAQ;QACR,MAAM,EACJ,oHAAoH;QACtH,IAAI,EAAE,CAAC,OAAO,CAAC;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"intent-verification-detector.js","sourceRoot":"","sources":["../../src/detectors/intent-verification-detector.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,8BAA8B,EAG/B,MAAM,oBAAoB,CAAC;AAI5B,MAAM,CAAC,MAAM,0BAA0B,GAAa;IAClD,IAAI,EAAE,qBAAqB;IAC3B,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO;aACvC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aAC3E,MAAM,CAAC,0BAA0B,CAAC,CAAC;QACtC,MAAM,iBAAiB,GAAG,MAAM,CAAC,kBAAkB;aAChD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC5D,MAAM,CAAC,2BAA2B,CAAC,CAAC;QAEvC,OAAO;YACL,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CACvC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,CAAC,CACvE;YACD,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACrF,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;SACpD,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,yBAAyB,GAC7B,wEAAwE,CAAC;AAC3E,MAAM,oBAAoB,GACxB,qIAAqI,CAAC;AACxI,MAAM,oBAAoB,GACxB,yGAAyG,CAAC;AAC5G,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;AAE3D,SAAS,0BAA0B,CAAC,WAAwB;IAC1D,OAAO,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,QAAQ,CAAC;AAC1D,CAAC;AAED,SAAS,2BAA2B,CAAC,QAAgC;IACnE,OAAO,QAAQ,KAAK,iBAAiB,IAAI,QAAQ,KAAK,YAAY,CAAC;AACrE,CAAC;AAED,SAAS,yBAAyB,CAAC,QAAgB,EAAE,KAA2B;IAC9E,IAAI,CAAC,+BAA+B,CAAC,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7F,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,CAAC,sBAAsB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;AAID,SAAS,+BAA+B,CAAC,QAAgB;IACvD,OAAO,CACL,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC;QACxC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,SAAS,kCAAkC,CAAC,KAA2B;IACrE,OAAO,CACL,KAAK,CAAC,MAAM,GAAG,CAAC;QAChB,KAAK,CAAC,KAAK,CACT,CAAC,IAAI,EAAE,EAAE,CACP,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,CAAC,MAAM,KAAK,SAAS;YACzB,8BAA8B,CAAC,IAAI,CAAC,CACvC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAwB;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAE9C,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAC3E,CAAC;IAEF,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAE/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,qCAAqC,CAAC,IAAI,CAAC,OAAO,CAAC;QACnD,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC;QAClD,sDAAsD,CAAC,IAAI,CAAC,OAAO,CAAC,CACrE,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAgB,EAAE,KAA2B;IAC3E,OAAO;QACL,EAAE,EAAE,gDAAgD;QACpD,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,MAAM;QAChB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,0CAA0C;QACjD,OAAO,EACL,wGAAwG;QAC1G,QAAQ,EAAE,KAAK,CAAC,GAAG,CACjB,CAAC,IAAI,EAAmB,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,8CAA8C;YACnE,IAAI,EAAE;gBACJ,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CACH;QACD,MAAM,EACJ,iHAAiH;QACnH,IAAI,EAAE,CAAC,OAAO,CAAC;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,WAAwB,EACxB,cAA6B,EAC7B,WAAuE;IAEvE,MAAM,QAAQ,GAAG,WAAW;SACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,WAAW,CAAC;SACpD,GAAG,CACF,CAAC,KAAK,EAAmB,EAAE,CAAC,CAAC;QAC3B,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;QACpD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,SAAS,EAAE,KAAK,CAAC,UAAU;QAC3B,OAAO,EAAE,KAAK,CAAC,UAAU;QACzB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,OAAO,EAAE,KAAK,CAAC,MAAM;QACrB,IAAI,EAAE;YACJ,aAAa,EAAE,WAAW;YAC1B,cAAc;SACf;KACF,CAAC,CACH,CAAC;IAEJ,OAAO;QACL,EAAE,EAAE,kCAAkC,WAAW,EAAE;QACnD,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,cAAc,WAAW,yBAAyB;QACzD,OAAO,EAAE,qBAAqB,WAAW,8CAA8C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACnH,QAAQ;QACR,MAAM,EACJ,oHAAoH;QACtH,IAAI,EAAE,CAAC,OAAO,CAAC;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAgC,EAAE,QAAgB;IAClF,OAAO;QACL,EAAE,EAAE,+BAA+B,QAAQ,EAAE;QAC7C,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,QAAQ;QAClB,UAAU,EAAE,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;QACrD,KAAK,EAAE,YAAY,QAAQ,sBAAsB;QACjD,OAAO,EAAE,4BAA4B,QAAQ,qDAAqD;QAClG,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,uBAAuB,QAAQ,GAAG;gBAC3C,IAAI,EAAE;oBACJ,iBAAiB,EAAE,QAAQ;oBAC3B,IAAI,EAAE,QAAQ;iBACf;aACF;SACF;QACD,MAAM,EACJ,8GAA8G;QAChH,IAAI,EAAE,CAAC,OAAO,CAAC;KAChB,CAAC;AACJ,CAAC"}
@@ -4,6 +4,7 @@ export interface FindingDecisionPolicy {
4
4
  observationDetectors?: string[];
5
5
  blockingDetectors?: string[];
6
6
  failOn?: "blocker" | "high" | "medium";
7
+ acceptedFindingIds?: string[];
7
8
  }
8
9
  export declare function runDetectors(task: TaskIntent, diff: GateResult["diff"], context?: DetectorRepoContext, detectors?: Detector[]): Finding[];
9
10
  export declare function summarizeFindings(findings: Finding[], task?: TaskIntent, diff?: GateResult["diff"], policy?: FindingDecisionPolicy): GateResult["summary"];
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/detectors/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAwB1E,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,qBAAqB;IACpC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;CACxC;AA2BD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,aAAmB,GAC3B,OAAO,EAAE,CAIX;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,CAAC,EAAE,UAAU,EACjB,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EACzB,MAAM,GAAE,qBAA0B,GACjC,UAAU,CAAC,SAAS,CAAC,CAyBvB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/detectors/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAwB1E,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEhE,MAAM,WAAW,qBAAqB;IACpC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AA2BD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EACxB,OAAO,CAAC,EAAE,mBAAmB,EAC7B,SAAS,aAAmB,GAC3B,OAAO,EAAE,CAIX;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,CAAC,EAAE,UAAU,EACjB,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,EACzB,MAAM,GAAE,qBAA0B,GACjC,UAAU,CAAC,SAAS,CAAC,CA0BvB"}
@@ -57,6 +57,7 @@ export function summarizeFindings(findings, task, diff, policy = {}) {
57
57
  lowCount: countSeverity(findings, "low"),
58
58
  infoCount: countSeverity(findings, "info"),
59
59
  confidenceCalibration: summarizeConfidenceCalibration(findings, policy),
60
+ policyApplied: summarizePolicyApplied(findings, policy),
60
61
  diffCostScore: task !== undefined && diff !== undefined ? calculateDiffCostScore(task, diff.files) : 0,
61
62
  scopeExpansionScore: task !== undefined && diff !== undefined
62
63
  ? calculateScopeExpansionScore(task, diff.files, findings)
@@ -66,6 +67,26 @@ export function summarizeFindings(findings, task, diff, policy = {}) {
66
67
  : undefined
67
68
  };
68
69
  }
70
+ function summarizePolicyApplied(findings, policy) {
71
+ const failOn = policy.failOn ?? "high";
72
+ const observationDetectors = policy.observationDetectors ?? defaultObservationDetectors;
73
+ const blockingDetectors = policy.blockingDetectors ?? [];
74
+ return {
75
+ failOn,
76
+ observationDetectors,
77
+ blockingDetectors,
78
+ acceptedFindingIds: policy.acceptedFindingIds ?? [],
79
+ blockingFindingIds: findings
80
+ .filter((finding) => isBlockingFinding(finding, policy))
81
+ .map((finding) => finding.id),
82
+ observationFindingIds: findings
83
+ .filter((finding) => isObservationModeFinding(finding, policy))
84
+ .map((finding) => finding.id),
85
+ confidenceSuppressedFindingIds: findings
86
+ .filter(isConfidenceSuppressedFinding)
87
+ .map((finding) => finding.id)
88
+ };
89
+ }
69
90
  function summarizeConfidenceCalibration(findings, policy) {
70
91
  return {
71
92
  blockingEligibleCount: findings.filter((finding) => isBlockingFinding(finding, policy)).length,
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/detectors/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/detectors/runner.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scope-detector.d.ts","sourceRoot":"","sources":["../../src/detectors/scope-detector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA8B3C,eAAO,MAAM,aAAa,EAAE,QAa3B,CAAC"}
1
+ {"version":3,"file":"scope-detector.d.ts","sourceRoot":"","sources":["../../src/detectors/scope-detector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA8B3C,eAAO,MAAM,aAAa,EAAE,QAe3B,CAAC"}
@@ -29,21 +29,21 @@ const manifestTaskTerms = [
29
29
  ];
30
30
  export const scopeDetector = {
31
31
  name: "scope",
32
- run: ({ task, diff }) => {
32
+ run: ({ task, diff, context }) => {
33
33
  const analysis = analyzeTaskIntent(task);
34
34
  if (analysis.complexity !== "small" || isBroadTask(task.text)) {
35
35
  return [];
36
36
  }
37
37
  return diff.files
38
- .filter((file) => isUnexpectedForSmallTask(file, analysis.keywords, task.text))
39
- .map((file) => toFinding(file, analysis.keywords));
38
+ .filter((file) => isUnexpectedForSmallTask(file, analysis.keywords, task.text, context?.repositoryTokenIndex))
39
+ .map((file) => toFinding(file, analysis.keywords, context?.repositoryTokenIndex));
40
40
  }
41
41
  };
42
42
  function isBroadTask(taskText) {
43
43
  const normalizedTask = taskText.toLowerCase();
44
44
  return broadTaskTerms.some((term) => normalizedTask.includes(term));
45
45
  }
46
- function isUnexpectedForSmallTask(file, keywords, taskText) {
46
+ function isUnexpectedForSmallTask(file, keywords, taskText, tokenIndex) {
47
47
  if (file.role === "docs" || file.role === "test") {
48
48
  return false;
49
49
  }
@@ -62,12 +62,16 @@ function isUnexpectedForSmallTask(file, keywords, taskText) {
62
62
  if (file.status === "deleted" && !isDeletionAcknowledged(file, taskText, keywords)) {
63
63
  return true;
64
64
  }
65
- return keywords.length > 0 && !hasPathKeywordAlignment(file.path, keywords);
65
+ return keywords.length > 0 && !hasFileKeywordAlignment(file, keywords, tokenIndex);
66
66
  }
67
67
  function hasPathKeywordAlignment(path, keywords) {
68
68
  const normalizedPath = path.toLowerCase();
69
69
  return keywords.some((keyword) => normalizedPath.includes(keyword));
70
70
  }
71
+ function hasFileKeywordAlignment(file, keywords, tokenIndex) {
72
+ return (hasPathKeywordAlignment(file.path, keywords) ||
73
+ getTokenKeywordMatches(file.path, keywords, tokenIndex).length > 0);
74
+ }
71
75
  function isRoleAlignedConfigOrManifestChange(file, taskText, keywords) {
72
76
  if (file.role === "config") {
73
77
  if (hasConfigProhibition(taskText)) {
@@ -101,11 +105,12 @@ function isPackageVersionOnlyChange(file) {
101
105
  return (changedLines.length > 0 &&
102
106
  changedLines.every((line) => /^\s*"version":\s*"[^"]+"\s*,?\s*$/.test(line.content)));
103
107
  }
104
- function toFinding(file, keywords) {
108
+ function toFinding(file, keywords, tokenIndex) {
105
109
  const firstChangedLine = file.hunks
106
110
  .flatMap((hunk) => hunk.lines)
107
111
  .find((line) => line.kind === "add" || line.kind === "delete");
108
112
  const lineNumber = firstChangedLine?.newLineNumber ?? firstChangedLine?.oldLineNumber;
113
+ const tokenMatches = getTokenKeywordMatches(file.path, keywords, tokenIndex);
109
114
  return {
110
115
  id: `scope:${file.path}`,
111
116
  detector: "scope",
@@ -126,7 +131,8 @@ function toFinding(file, keywords) {
126
131
  role: file.role,
127
132
  additions: file.additions,
128
133
  deletions: file.deletions,
129
- keywords
134
+ keywords,
135
+ tokenMatches
130
136
  }
131
137
  }
132
138
  ],
@@ -134,4 +140,15 @@ function toFinding(file, keywords) {
134
140
  tags: ["scope"]
135
141
  };
136
142
  }
143
+ function getTokenKeywordMatches(path, keywords, tokenIndex) {
144
+ const fileTokens = tokenIndex?.files.find((file) => file.path === path)?.tokens ?? [];
145
+ const keywordSet = new Set(keywords.map((keyword) => keyword.toLowerCase()));
146
+ return fileTokens
147
+ .filter((token) => keywordSet.has(token.value))
148
+ .map((token) => ({
149
+ token: token.value,
150
+ source: token.source,
151
+ raw: token.raw
152
+ }));
153
+ }
137
154
  //# sourceMappingURL=scope-detector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope-detector.js","sourceRoot":"","sources":["../../src/detectors/scope-detector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-detector.js","sourceRoot":"","sources":["../../src/detectors/scope-detector.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./detectors/index.js";
2
+ export * from "./agent-onboarding/index.js";
2
3
  export * from "./config/index.js";
3
4
  export * from "./diff/index.js";
4
5
  export * from "./editor/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./detectors/index.js";
2
+ export * from "./agent-onboarding/index.js";
2
3
  export * from "./config/index.js";
3
4
  export * from "./diff/index.js";
4
5
  export * from "./editor/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export { analyzeTaskIntent, calculateDiffCostScore, estimateTaskComplexity, extractTaskKeywords, getDiffMetrics, type DiffMetrics, type TaskAnalysis, type TaskComplexity } from "./task-analysis.js";
2
2
  export { analyzeTaskIntentQuality, getTaskIntentQualityWarnings } from "./task-intent-quality.js";
3
- export { buildIntentModel, type ChangeClass, type IntentModel, type IntentVerb, type TargetArea } from "./intent-model.js";
3
+ export { buildIntentModel, mapChangeClassToIntentCategory, type ChangeClass, type IntentCoverageCategory, type IntentModel, type IntentVerb, type TargetArea } from "./intent-model.js";
4
4
  export { classifyObservedDiffActions, summarizeIntentVerification, type ObservedChangeClassEvidence, type ObservedDiffActions } from "./observed-actions.js";
5
5
  export { calculateScopeExpansionScore } from "./scope-expansion-score.js";
6
6
  export { calculateDiffCoherenceScore } from "./diff-coherence-score.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/intent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EACL,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/intent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EACL,gBAAgB,EAChB,8BAA8B,EAC9B,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,KAAK,2BAA2B,EAChC,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export { analyzeTaskIntent, calculateDiffCostScore, estimateTaskComplexity, extractTaskKeywords, getDiffMetrics } from "./task-analysis.js";
2
2
  export { analyzeTaskIntentQuality, getTaskIntentQualityWarnings } from "./task-intent-quality.js";
3
- export { buildIntentModel } from "./intent-model.js";
3
+ export { buildIntentModel, mapChangeClassToIntentCategory } from "./intent-model.js";
4
4
  export { classifyObservedDiffActions, summarizeIntentVerification } from "./observed-actions.js";
5
5
  export { calculateScopeExpansionScore } from "./scope-expansion-score.js";
6
6
  export { calculateDiffCoherenceScore } from "./diff-coherence-score.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EAIf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EACL,gBAAgB,EAKjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAG5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/intent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EAIf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAClG,OAAO,EACL,gBAAgB,EAChB,8BAA8B,EAM/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAG5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC"}
@@ -2,6 +2,7 @@ import type { TaskIntent } from "../schema/index.js";
2
2
  import { type TaskComplexity } from "./intent-core.js";
3
3
  export type IntentVerb = "add" | "fix" | "remove" | "rename" | "update" | "refactor" | "migrate" | "bump" | "wire" | "instrument";
4
4
  export type ChangeClass = "ui" | "tests" | "config" | "dependency" | "api-surface" | "docs" | "ci" | "i18n" | "telemetry" | "build" | "data-model" | "source";
5
+ export type IntentCoverageCategory = "source-behavior" | "test-coverage" | "docs" | "config-tooling" | "dependency" | "public-api" | "ui-content";
5
6
  export interface TargetArea {
6
7
  token: string;
7
8
  kind: "path" | "domain" | "symbol";
@@ -12,7 +13,9 @@ export interface IntentModel {
12
13
  targetTokens: string[];
13
14
  allowedChangeClasses: ChangeClass[];
14
15
  forbiddenChangeClasses: ChangeClass[];
16
+ expectedCategories: IntentCoverageCategory[];
15
17
  targetAreas: TargetArea[];
16
18
  }
17
19
  export declare function buildIntentModel(task: TaskIntent): IntentModel;
20
+ export declare function mapChangeClassToIntentCategory(changeClass: ChangeClass): IntentCoverageCategory;
18
21
  //# sourceMappingURL=intent-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"intent-model.d.ts","sourceRoot":"","sources":["../../src/intent/intent-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAA+C,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEpG,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,SAAS,GACT,MAAM,GACN,MAAM,GACN,YAAY,CAAC;AAEjB,MAAM,MAAM,WAAW,GACnB,IAAI,GACJ,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,MAAM,GACN,IAAI,GACJ,MAAM,GACN,WAAW,GACX,OAAO,GACP,YAAY,GACZ,QAAQ,CAAC;AAEb,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,EAAE,WAAW,EAAE,CAAC;IACpC,sBAAsB,EAAE,WAAW,EAAE,CAAC;IACtC,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AA+DD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAkB9D"}
1
+ {"version":3,"file":"intent-model.d.ts","sourceRoot":"","sources":["../../src/intent/intent-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAA+C,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEpG,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,KAAK,GACL,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,SAAS,GACT,MAAM,GACN,MAAM,GACN,YAAY,CAAC;AAEjB,MAAM,MAAM,WAAW,GACnB,IAAI,GACJ,OAAO,GACP,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,MAAM,GACN,IAAI,GACJ,MAAM,GACN,WAAW,GACX,OAAO,GACP,YAAY,GACZ,QAAQ,CAAC;AAEb,MAAM,MAAM,sBAAsB,GAC9B,iBAAiB,GACjB,eAAe,GACf,MAAM,GACN,gBAAgB,GAChB,YAAY,GACZ,YAAY,GACZ,YAAY,CAAC;AAEjB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,cAAc,CAAC;IAC3B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,EAAE,WAAW,EAAE,CAAC;IACpC,sBAAsB,EAAE,WAAW,EAAE,CAAC;IACtC,kBAAkB,EAAE,sBAAsB,EAAE,CAAC;IAC7C,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAgED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAmB9D;AAED,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,WAAW,GAAG,sBAAsB,CA0B/F"}
@@ -54,7 +54,8 @@ const classTerms = [
54
54
  { changeClass: "i18n", terms: ["i18n", "locale", "translation"] },
55
55
  { changeClass: "telemetry", terms: ["telemetry", "analytics", "tracking"] },
56
56
  { changeClass: "build", terms: ["build", "bundle", "compile"] },
57
- { changeClass: "data-model", terms: ["schema", "model", "database", "migration"] }
57
+ { changeClass: "data-model", terms: ["schema", "model", "database", "migration"] },
58
+ { changeClass: "source", terms: ["source", "behavior", "implementation"] }
58
59
  ];
59
60
  const highRiskClasses = ["config", "dependency", "api-surface", "ci", "build"];
60
61
  export function buildIntentModel(task) {
@@ -67,12 +68,34 @@ export function buildIntentModel(task) {
67
68
  targetTokens,
68
69
  allowedChangeClasses,
69
70
  forbiddenChangeClasses: highRiskClasses.filter((changeClass) => !allowedChangeClasses.includes(changeClass)),
71
+ expectedCategories: inferExpectedCategories(normalizedText, allowedChangeClasses),
70
72
  targetAreas: targetTokens.map((token) => ({
71
73
  token,
72
74
  kind: token.includes("/") ? "path" : "domain"
73
75
  }))
74
76
  };
75
77
  }
78
+ export function mapChangeClassToIntentCategory(changeClass) {
79
+ if (changeClass === "tests") {
80
+ return "test-coverage";
81
+ }
82
+ if (changeClass === "docs") {
83
+ return "docs";
84
+ }
85
+ if (changeClass === "config" || changeClass === "ci" || changeClass === "build") {
86
+ return "config-tooling";
87
+ }
88
+ if (changeClass === "dependency") {
89
+ return "dependency";
90
+ }
91
+ if (changeClass === "api-surface") {
92
+ return "public-api";
93
+ }
94
+ if (changeClass === "ui" || changeClass === "i18n") {
95
+ return "ui-content";
96
+ }
97
+ return "source-behavior";
98
+ }
76
99
  function inferIntentVerbs(normalizedText) {
77
100
  return verbAliases
78
101
  .filter((entry) => entry.terms.some((term) => hasTerm(normalizedText, term)))
@@ -94,6 +117,24 @@ function inferAllowedChangeClasses(normalizedText) {
94
117
  }
95
118
  return [...classes].sort();
96
119
  }
120
+ function inferExpectedCategories(normalizedText, allowedChangeClasses) {
121
+ const categories = new Set();
122
+ for (const changeClass of allowedChangeClasses) {
123
+ if (changeClass === "source" && !mentionsCodeWork(normalizedText)) {
124
+ continue;
125
+ }
126
+ if (changeClass === "docs" &&
127
+ isReleaseManagementIntent(normalizedText) &&
128
+ !mentionsDocsWork(normalizedText)) {
129
+ continue;
130
+ }
131
+ categories.add(mapChangeClassToIntentCategory(changeClass));
132
+ }
133
+ if (categories.size === 0) {
134
+ categories.add("source-behavior");
135
+ }
136
+ return [...categories].sort();
137
+ }
97
138
  function isReleaseManagementIntent(normalizedText) {
98
139
  return (hasTerm(normalizedText, "version") ||
99
140
  (hasTerm(normalizedText, "release") &&
@@ -102,6 +143,13 @@ function isReleaseManagementIntent(normalizedText) {
102
143
  function hasCodeBearingClass(classes) {
103
144
  return ["api-surface", "data-model", "i18n", "telemetry", "ui"].some((changeClass) => classes.has(changeClass));
104
145
  }
146
+ function mentionsCodeWork(normalizedText) {
147
+ return (/\b(?:fix|bugfix|repair|resolve|add|create|introduce|implement|build|wire|connect|integrate|update|change|adjust|improve|refactor|rewrite|migrate)\b/i.test(normalizedText) ||
148
+ classTerms.some((entry) => entry.changeClass === "ui" && entry.terms.some((term) => hasTerm(normalizedText, term))));
149
+ }
150
+ function mentionsDocsWork(normalizedText) {
151
+ return ["doc", "docs", "document", "documentation", "readme", "changelog", "release note"].some((term) => hasTerm(normalizedText, term));
152
+ }
105
153
  function hasTerm(normalizedText, term) {
106
154
  return new RegExp(`(^|[^a-z0-9])${escapeRegExp(term)}([^a-z0-9]|$)`, "i").test(normalizedText);
107
155
  }