@harness-engineering/cli 2.8.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/agents/skills/claude-code/harness-audit-harness-strength/SKILL.md +188 -0
  2. package/dist/agents/skills/claude-code/harness-audit-harness-strength/skill.yaml +54 -0
  3. package/dist/agents/skills/claude-code/harness-autopilot/SKILL.md +2 -0
  4. package/dist/agents/skills/claude-code/harness-brainstorming/SKILL.md +28 -14
  5. package/dist/agents/skills/claude-code/harness-execution/SKILL.md +1 -1
  6. package/dist/agents/skills/claude-code/harness-git-workflow/SKILL.md +2 -0
  7. package/dist/agents/skills/claude-code/harness-ideate/SKILL.md +2 -0
  8. package/dist/agents/skills/claude-code/harness-knowledge-pipeline/SKILL.md +2 -0
  9. package/dist/agents/skills/claude-code/harness-roadmap/SKILL.md +62 -4
  10. package/dist/agents/skills/claude-code/harness-roadmap-pilot/SKILL.md +2 -0
  11. package/dist/agents/skills/claude-code/harness-test-advisor/SKILL.md +80 -2
  12. package/dist/agents/skills/claude-code/harness-test-advisor/skill.yaml +4 -1
  13. package/dist/agents/skills/claude-code/initialize-harness-project/SKILL.md +27 -25
  14. package/dist/agents/skills/claude-code/initialize-harness-project/skill.yaml +1 -0
  15. package/dist/agents/skills/claude-code/outcome-eval/SKILL.md +97 -0
  16. package/dist/agents/skills/claude-code/outcome-eval/skill.yaml +51 -0
  17. package/dist/agents/skills/codex/harness-audit-harness-strength/SKILL.md +188 -0
  18. package/dist/agents/skills/codex/harness-audit-harness-strength/skill.yaml +54 -0
  19. package/dist/agents/skills/codex/harness-autopilot/SKILL.md +2 -0
  20. package/dist/agents/skills/codex/harness-brainstorming/SKILL.md +28 -14
  21. package/dist/agents/skills/codex/harness-execution/SKILL.md +1 -1
  22. package/dist/agents/skills/codex/harness-git-workflow/SKILL.md +2 -0
  23. package/dist/agents/skills/codex/harness-ideate/SKILL.md +2 -0
  24. package/dist/agents/skills/codex/harness-knowledge-pipeline/SKILL.md +2 -0
  25. package/dist/agents/skills/codex/harness-roadmap/SKILL.md +62 -4
  26. package/dist/agents/skills/codex/harness-roadmap-pilot/SKILL.md +2 -0
  27. package/dist/agents/skills/codex/harness-test-advisor/SKILL.md +80 -2
  28. package/dist/agents/skills/codex/harness-test-advisor/skill.yaml +4 -1
  29. package/dist/agents/skills/codex/initialize-harness-project/SKILL.md +27 -25
  30. package/dist/agents/skills/codex/initialize-harness-project/skill.yaml +1 -0
  31. package/dist/agents/skills/codex/outcome-eval/SKILL.md +97 -0
  32. package/dist/agents/skills/codex/outcome-eval/skill.yaml +51 -0
  33. package/dist/agents/skills/cursor/harness-audit-harness-strength/SKILL.md +188 -0
  34. package/dist/agents/skills/cursor/harness-audit-harness-strength/skill.yaml +54 -0
  35. package/dist/agents/skills/cursor/harness-autopilot/SKILL.md +2 -0
  36. package/dist/agents/skills/cursor/harness-brainstorming/SKILL.md +28 -14
  37. package/dist/agents/skills/cursor/harness-execution/SKILL.md +1 -1
  38. package/dist/agents/skills/cursor/harness-git-workflow/SKILL.md +2 -0
  39. package/dist/agents/skills/cursor/harness-ideate/SKILL.md +2 -0
  40. package/dist/agents/skills/cursor/harness-knowledge-pipeline/SKILL.md +2 -0
  41. package/dist/agents/skills/cursor/harness-roadmap/SKILL.md +62 -4
  42. package/dist/agents/skills/cursor/harness-roadmap-pilot/SKILL.md +2 -0
  43. package/dist/agents/skills/cursor/harness-test-advisor/SKILL.md +80 -2
  44. package/dist/agents/skills/cursor/harness-test-advisor/skill.yaml +4 -1
  45. package/dist/agents/skills/cursor/initialize-harness-project/SKILL.md +27 -25
  46. package/dist/agents/skills/cursor/initialize-harness-project/skill.yaml +1 -0
  47. package/dist/agents/skills/cursor/outcome-eval/SKILL.md +97 -0
  48. package/dist/agents/skills/cursor/outcome-eval/skill.yaml +51 -0
  49. package/dist/agents/skills/gemini-cli/harness-audit-harness-strength/SKILL.md +188 -0
  50. package/dist/agents/skills/gemini-cli/harness-audit-harness-strength/skill.yaml +54 -0
  51. package/dist/agents/skills/gemini-cli/harness-autopilot/SKILL.md +2 -0
  52. package/dist/agents/skills/gemini-cli/harness-brainstorming/SKILL.md +28 -14
  53. package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +1 -1
  54. package/dist/agents/skills/gemini-cli/harness-git-workflow/SKILL.md +2 -0
  55. package/dist/agents/skills/gemini-cli/harness-ideate/SKILL.md +2 -0
  56. package/dist/agents/skills/gemini-cli/harness-knowledge-pipeline/SKILL.md +2 -0
  57. package/dist/agents/skills/gemini-cli/harness-roadmap/SKILL.md +62 -4
  58. package/dist/agents/skills/gemini-cli/harness-roadmap-pilot/SKILL.md +2 -0
  59. package/dist/agents/skills/gemini-cli/harness-test-advisor/SKILL.md +80 -2
  60. package/dist/agents/skills/gemini-cli/harness-test-advisor/skill.yaml +4 -1
  61. package/dist/agents/skills/gemini-cli/initialize-harness-project/SKILL.md +27 -25
  62. package/dist/agents/skills/gemini-cli/initialize-harness-project/skill.yaml +1 -0
  63. package/dist/agents/skills/gemini-cli/outcome-eval/SKILL.md +97 -0
  64. package/dist/agents/skills/gemini-cli/outcome-eval/skill.yaml +51 -0
  65. package/dist/agents/skills/tests/harness-test-advisor.test.ts +94 -0
  66. package/dist/{agents-md-WMJO5HSM.js → agents-md-XOJE5ETA.js} +2 -2
  67. package/dist/{architecture-EVYVGPRZ.js → architecture-JEZPJ725.js} +3 -3
  68. package/dist/{assess-project-KZG563SO.js → assess-project-RHXOQNMM.js} +1 -1
  69. package/dist/bin/harness-mcp.js +13 -13
  70. package/dist/bin/harness.js +22 -22
  71. package/dist/{check-phase-gate-MK364VXS.js → check-phase-gate-GNDOMS35.js} +3 -3
  72. package/dist/{chunk-VBNJAKUH.js → chunk-3ISHDWO7.js} +1 -1
  73. package/dist/{chunk-UJFNIWC7.js → chunk-527G27VI.js} +2 -2
  74. package/dist/{chunk-5XL5QJ5B.js → chunk-6WQCLCBO.js} +1 -1
  75. package/dist/{chunk-UXPWSV3B.js → chunk-BYVT5LVO.js} +3 -3
  76. package/dist/{chunk-HRSE6IQD.js → chunk-DE5U6KOL.js} +1 -1
  77. package/dist/{chunk-B7KMTHN3.js → chunk-GGKRA7A7.js} +1 -1
  78. package/dist/{chunk-STESM73J.js → chunk-GSP2XIVS.js} +1 -1
  79. package/dist/{chunk-KBCPELBC.js → chunk-HEIMJJI4.js} +2 -2
  80. package/dist/{chunk-KI6PHH6Q.js → chunk-HWTUUQOW.js} +3 -3
  81. package/dist/{chunk-2SNRCAC3.js → chunk-KAJOS3BA.js} +2 -2
  82. package/dist/{chunk-C7J55C6E.js → chunk-MGUPSE6D.js} +5 -5
  83. package/dist/{chunk-GOHWCHCS.js → chunk-N24HCQA4.js} +2243 -776
  84. package/dist/{chunk-EEFRPEWT.js → chunk-NWLGL3IR.js} +1 -1
  85. package/dist/{chunk-UUO4K7NX.js → chunk-ONCPJGHY.js} +6 -6
  86. package/dist/{chunk-X4EFYVCZ.js → chunk-PC2R5RUJ.js} +1 -1
  87. package/dist/{chunk-7EQAZKJ5.js → chunk-QBC7DI4Q.js} +1 -1
  88. package/dist/{chunk-UBZQE3JN.js → chunk-UX3PQKVZ.js} +7 -2
  89. package/dist/{chunk-CAQPSFPT.js → chunk-WWEVS7RO.js} +453 -91
  90. package/dist/{chunk-4BDOSCNY.js → chunk-XFU6SB2Q.js} +1015 -648
  91. package/dist/{chunk-LADPYELQ.js → chunk-XX4OLNWQ.js} +2 -2
  92. package/dist/{chunk-FZ5MBXEG.js → chunk-YQSYCBAH.js} +6 -6
  93. package/dist/{chunk-ACOOG3UW.js → chunk-Z4AWEIBY.js} +3 -3
  94. package/dist/{ci-workflow-IW2H5DC4.js → ci-workflow-ORZ4F45F.js} +2 -2
  95. package/dist/{dist-JCFK263L.js → dist-LHINSVK4.js} +85 -1
  96. package/dist/{docs-7CP6VV42.js → docs-AU3DXFFO.js} +3 -3
  97. package/dist/{engine-MKJEBWU7.js → engine-6GPWOYQH.js} +2 -2
  98. package/dist/{entropy-6JOZJYG7.js → entropy-VLKDRMRT.js} +2 -2
  99. package/dist/{feedback-T65AEJEG.js → feedback-YXYY44ZC.js} +1 -1
  100. package/dist/{generate-agent-definitions-4VI4YTO2.js → generate-agent-definitions-XIHQPKG3.js} +3 -3
  101. package/dist/hooks/cost-tracker.js +29 -6
  102. package/dist/index.js +22 -22
  103. package/dist/{loader-AWTHHE3A.js → loader-YAN56MT3.js} +2 -2
  104. package/dist/{mcp-JBIBINO2.js → mcp-RK3SFVYB.js} +13 -13
  105. package/dist/{performance-NCOUDOMW.js → performance-64DPTLLQ.js} +3 -3
  106. package/dist/{review-pipeline-YIC6JPMY.js → review-pipeline-NENG6LW7.js} +2 -2
  107. package/dist/{runtime-5MHV4UEE.js → runtime-FFIIRT2T.js} +2 -2
  108. package/dist/{security-VZPJNIDP.js → security-3PIBN35B.js} +1 -1
  109. package/dist/templates/basic/harness.config.json.hbs +34 -0
  110. package/dist/templates/ci/README.md +86 -0
  111. package/dist/templates/ci/required-review.ruleset.json +20 -0
  112. package/dist/templates/ci/required-review.yml.hbs +57 -0
  113. package/dist/templates/ci/template.json +5 -0
  114. package/dist/templates/intermediate/harness.config.json.hbs +36 -0
  115. package/dist/templates/orchestrator/harness.orchestrator.md +9 -0
  116. package/dist/{tool-tiers-B7JC2XC3.js → tool-tiers-OKK5FE57.js} +2 -0
  117. package/dist/{validate-7BE4VTFI.js → validate-7IAF2ES3.js} +3 -3
  118. package/dist/{validate-cross-check-F7GEBRDH.js → validate-cross-check-QPSAOZKD.js} +2 -2
  119. package/package.json +7 -7
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  init_dist,
6
6
  paginate
7
- } from "./chunk-GOHWCHCS.js";
7
+ } from "./chunk-N24HCQA4.js";
8
8
 
9
9
  // src/mcp/tools/review-pipeline.ts
10
10
  init_dist();
@@ -84,7 +84,7 @@ var runCodeReviewDefinition = {
84
84
  };
85
85
  async function handleRunCodeReview(input) {
86
86
  try {
87
- const { parseDiff, runReviewPipeline } = await import("./dist-JCFK263L.js");
87
+ const { parseDiff, runReviewPipeline } = await import("./dist-LHINSVK4.js");
88
88
  const parseResult = parseDiff(input.diff);
89
89
  if (!parseResult.ok) {
90
90
  return {
@@ -75,7 +75,7 @@ async function handleAssessProject(input) {
75
75
  let validateResult = null;
76
76
  if (checksToRun.has("validate")) {
77
77
  try {
78
- const { handleValidateProject } = await import("./validate-7BE4VTFI.js");
78
+ const { handleValidateProject } = await import("./validate-7IAF2ES3.js");
79
79
  const result = await handleValidateProject({ path: projectPath });
80
80
  const out = parseToolResponse(result, "validate");
81
81
  if ("error" in out) {
@@ -104,7 +104,7 @@ async function handleAssessProject(input) {
104
104
  parallelChecks.push(
105
105
  (async () => {
106
106
  try {
107
- const { handleCheckDependencies } = await import("./architecture-EVYVGPRZ.js");
107
+ const { handleCheckDependencies } = await import("./architecture-JEZPJ725.js");
108
108
  const result = await handleCheckDependencies({ path: projectPath });
109
109
  const out = parseToolResponse(result, "deps");
110
110
  if ("error" in out) return out.error;
@@ -132,7 +132,7 @@ async function handleAssessProject(input) {
132
132
  parallelChecks.push(
133
133
  (async () => {
134
134
  try {
135
- const { handleCheckDocs } = await import("./docs-7CP6VV42.js");
135
+ const { handleCheckDocs } = await import("./docs-AU3DXFFO.js");
136
136
  const result = await handleCheckDocs({ path: projectPath, scope: "coverage" });
137
137
  const out = parseToolResponse(result, "docs");
138
138
  if ("error" in out) return out.error;
@@ -160,7 +160,7 @@ async function handleAssessProject(input) {
160
160
  parallelChecks.push(
161
161
  (async () => {
162
162
  try {
163
- const { handleDetectEntropy } = await import("./entropy-6JOZJYG7.js");
163
+ const { handleDetectEntropy } = await import("./entropy-VLKDRMRT.js");
164
164
  const result = await handleDetectEntropy({ path: projectPath, type: "all" });
165
165
  const out = parseToolResponse(result, "entropy");
166
166
  if ("error" in out) return out.error;
@@ -191,7 +191,7 @@ async function handleAssessProject(input) {
191
191
  parallelChecks.push(
192
192
  (async () => {
193
193
  try {
194
- const { handleRunSecurityScan } = await import("./security-VZPJNIDP.js");
194
+ const { handleRunSecurityScan } = await import("./security-3PIBN35B.js");
195
195
  const result = await handleRunSecurityScan({ path: projectPath });
196
196
  const out = parseToolResponse(result, "security");
197
197
  if ("error" in out) return out.error;
@@ -224,7 +224,7 @@ async function handleAssessProject(input) {
224
224
  parallelChecks.push(
225
225
  (async () => {
226
226
  try {
227
- const { handleCheckPerformance } = await import("./performance-NCOUDOMW.js");
227
+ const { handleCheckPerformance } = await import("./performance-64DPTLLQ.js");
228
228
  const result = await handleCheckPerformance({ path: projectPath });
229
229
  if ("isError" in result && result.isError) {
230
230
  const msg = result.content[0]?.text ?? "Performance check failed";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-W6Y7ZW3Y.js";
7
7
  import {
8
8
  init_dist
9
- } from "./chunk-GOHWCHCS.js";
9
+ } from "./chunk-N24HCQA4.js";
10
10
  import {
11
11
  Ok
12
12
  } from "./chunk-BDGTZRZ6.js";
@@ -127,7 +127,7 @@ function buildSummaryResponse(report) {
127
127
  }
128
128
  async function handleDetectEntropy(input) {
129
129
  try {
130
- const { EntropyAnalyzer } = await import("./dist-JCFK263L.js");
130
+ const { EntropyAnalyzer } = await import("./dist-LHINSVK4.js");
131
131
  const typeFilter = input.type ?? "all";
132
132
  const analyzer = new EntropyAnalyzer({
133
133
  rootDir: sanitizePath(input.path),
@@ -146,7 +146,7 @@ async function handleDetectEntropy(input) {
146
146
  return resultToMcpResponse(result);
147
147
  }
148
148
  if (!result.ok) return resultToMcpResponse(result);
149
- const { createFixes, applyFixes, generateSuggestions } = await import("./dist-JCFK263L.js");
149
+ const { createFixes, applyFixes, generateSuggestions } = await import("./dist-LHINSVK4.js");
150
150
  const report = result.value;
151
151
  const deadCode = report.deadCode;
152
152
  const fixTypesConfig = input.fixTypes ? { fixTypes: input.fixTypes } : void 0;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  generateCIWorkflow
3
- } from "./chunk-STESM73J.js";
4
- import "./chunk-GOHWCHCS.js";
3
+ } from "./chunk-GSP2XIVS.js";
4
+ import "./chunk-N24HCQA4.js";
5
5
  import "./chunk-N55WOGN3.js";
6
6
  import "./chunk-BDGTZRZ6.js";
7
7
  import "./chunk-PP6ZRL5T.js";
@@ -3,12 +3,15 @@ import {
3
3
  AGENT_DESCRIPTORS,
4
4
  AGREEMENT_LINE_GAP,
5
5
  ALLOWED_FIELD_KEYS,
6
+ ALL_RULES,
6
7
  ALL_SOLUTION_CATEGORIES,
7
8
  ARCHITECTURE_DESCRIPTOR,
8
9
  AdjustedForecastSchema,
9
10
  AgentActionEmitter,
10
11
  AnthropicCacheAdapter,
11
12
  ArchBaselineManager,
13
+ AuditResultSchema,
14
+ AuditSummarySchema,
12
15
  BUG_DETECTION_DESCRIPTOR,
13
16
  BUG_TRACK_CATEGORIES,
14
17
  BaselineManager,
@@ -18,12 +21,17 @@ import {
18
21
  BundleSchema,
19
22
  CACHE_TTL_MS,
20
23
  CINotifier,
24
+ CI_ASSESSMENTS,
25
+ CI_REVIEW_DOMAINS,
26
+ CI_REVIEW_VERDICT_SCHEMA_VERSION,
27
+ CI_RUNNERS,
21
28
  COMPLIANCE_DESCRIPTOR,
22
29
  CONDITIONAL_SUBAGENT_DESCRIPTORS,
23
30
  CORROBORATED_AGREEMENT,
24
31
  CacheMetricsRecorder,
25
32
  CategoryForecastSchema,
26
33
  ChecklistBuilder,
34
+ CiReviewVerdictSchema,
27
35
  CircularDepsCollector,
28
36
  CompactionPipeline,
29
37
  ComplexityCollector,
@@ -36,6 +44,8 @@ import {
36
44
  ContributionsSchema,
37
45
  CouplingCollector,
38
46
  CriticalPathResolver,
47
+ DEFAULT_EXEC_MAX_STDOUT_BYTES,
48
+ DEFAULT_EXEC_TIMEOUT_MS,
39
49
  DEFAULT_LOADER_CONFIG,
40
50
  DEFAULT_PROVIDER_TIERS,
41
51
  DEFAULT_SECURITY_CONFIG,
@@ -64,7 +74,10 @@ import {
64
74
  GeminiCacheAdapter,
65
75
  GitHubIssuesSyncAdapter,
66
76
  HandoffSchema,
77
+ HarnessConfigSubsetSchema,
67
78
  HarnessStateSchema,
79
+ HarnessStrengthAuditor,
80
+ HookFileSchema,
68
81
  InteractionTypeSchema,
69
82
  KNOWLEDGE_TRACK_CATEGORIES,
70
83
  LITELLM_PRICING_URL,
@@ -73,6 +86,7 @@ import {
73
86
  LockfileSchema,
74
87
  MOCK_ADAPTER_NAME,
75
88
  ManifestSchema,
89
+ ModeSchema,
76
90
  ModuleSizeCollector,
77
91
  NoOpExecutor,
78
92
  NoOpSink,
@@ -87,6 +101,7 @@ import {
87
101
  PredictionOptionsSchema,
88
102
  PredictionResultSchema,
89
103
  PredictionWarningSchema,
104
+ ProjectContextSchema,
90
105
  ProjectScanner,
91
106
  ProposalConflictError,
92
107
  ProposalNotFoundError,
@@ -97,10 +112,12 @@ import {
97
112
  QuestionSchema,
98
113
  REQUIRED_SECTIONS,
99
114
  RISK_KEYWORDS,
115
+ RUNNER_PRESETS,
100
116
  RegressionDetector,
101
117
  RegressionResultSchema,
102
118
  RuleRegistry,
103
119
  SECURITY_DESCRIPTOR,
120
+ SEVERITY_WEIGHTS,
104
121
  STALENESS_WARNING_DAYS,
105
122
  STANDALONE_AGREEMENT,
106
123
  STATUS_RANK,
@@ -113,6 +130,7 @@ import {
113
130
  SecurityTimelineSnapshotSchema,
114
131
  SecurityTrendLineSchema,
115
132
  SecurityTrendResultSchema,
133
+ SeveritySchema,
116
134
  SharableBoundaryConfigSchema,
117
135
  SharableForbiddenImportSchema,
118
136
  SharableLayerSchema,
@@ -128,9 +146,11 @@ import {
128
146
  StrategyFrontmatterSchema,
129
147
  StreamIndexSchema,
130
148
  StreamInfoSchema,
149
+ StrengthFindingSchema,
131
150
  StructuralStrategy,
132
151
  SupplyChainSnapshotSchema,
133
152
  TYPESCRIPT_STRICT_DESCRIPTOR,
153
+ TierSchema,
134
154
  TimeToFixResultSchema,
135
155
  TimeToFixStatsSchema,
136
156
  TransitionSchema,
@@ -170,7 +190,9 @@ import {
170
190
  assertPortUsable,
171
191
  assertSanitized,
172
192
  assignFeature,
193
+ buildCiReviewVerdict,
173
194
  buildExclusionSet,
195
+ buildProjectContext,
174
196
  calculateCacheSavings,
175
197
  calculateCost,
176
198
  calibrateDepth,
@@ -178,6 +200,7 @@ import {
178
200
  checkEligibility,
179
201
  checkEvidenceCoverage,
180
202
  checkOverlap,
203
+ checkRoadmapHealth,
181
204
  checkTaint,
182
205
  classifyConfidence,
183
206
  classifyFinding,
@@ -218,10 +241,15 @@ import {
218
241
  createTrackerClient,
219
242
  crossReferenceUndocumentedFixes,
220
243
  cryptoRules,
244
+ decidePromotionForRow,
221
245
  deduplicateCleanupFindings,
222
246
  deduplicateFindings,
223
247
  deepMergeConstraints,
224
248
  defaultCollectors,
249
+ defaultExecFile,
250
+ defaultIsArchive,
251
+ deriveBlockingFindings,
252
+ deriveExitCode,
225
253
  deriveSkillUsage,
226
254
  deserializationRules,
227
255
  detectChangeType,
@@ -275,6 +303,7 @@ import {
275
303
  getUpdateNotification,
276
304
  gitScan,
277
305
  goRules,
306
+ groomRoadmap,
278
307
  init_dist,
279
308
  injectionRules,
280
309
  insecureDefaultsRules,
@@ -284,6 +313,8 @@ import {
284
313
  isRegression,
285
314
  isSanitizedResult,
286
315
  isSmallSuggestion,
316
+ isSupportedRunner,
317
+ isUnactionablePlanned,
287
318
  isUpdateCheckEnabled,
288
319
  isoWeek,
289
320
  listActiveSessions,
@@ -319,13 +350,19 @@ import {
319
350
  normalizeLearningContent,
320
351
  normalizeViolationPattern,
321
352
  paginate,
353
+ parseAntigravityVerdict,
322
354
  parseCCRecords,
355
+ parseCiReviewVerdict,
356
+ parseClaudeVerdict,
357
+ parseCodexVerdict,
323
358
  parseDateFromEntry,
324
359
  parseDiff,
325
360
  parseFileRegions,
326
361
  parseFrontmatter2,
362
+ parseGeminiVerdict,
327
363
  parseHarnessIgnore,
328
364
  parseLiteLLMData,
365
+ parseLocalVerdict,
329
366
  parseLookback,
330
367
  parseManifest,
331
368
  parseProtectedRegions,
@@ -334,8 +371,10 @@ import {
334
371
  parseSecurityConfig,
335
372
  parseStrategyDoc,
336
373
  pathTraversalRules,
374
+ presetKind,
337
375
  previewFix,
338
376
  projectValue,
377
+ promoteFeature,
339
378
  promoteSessionLearnings,
340
379
  proposalsDir,
341
380
  pruneLearnings,
@@ -356,6 +395,7 @@ import {
356
395
  requestPeerReview,
357
396
  resetFeedbackConfig,
358
397
  resolveConsent,
398
+ resolveMode,
359
399
  resolveModelTier,
360
400
  resolveReverseStatus,
361
401
  resolveRuleSeverity,
@@ -363,11 +403,13 @@ import {
363
403
  resolveStability,
364
404
  resolveStreamPath,
365
405
  resolveThresholds,
406
+ rollupScore,
366
407
  runAdversarialAgent,
367
408
  runAll,
368
409
  runArchitectureAgent,
369
410
  runBugDetectionAgent,
370
411
  runCIChecks,
412
+ runCiReview,
371
413
  runComplianceAgent,
372
414
  runFallbackRules,
373
415
  runFrontendRacesAgent,
@@ -439,7 +481,7 @@ import {
439
481
  writeStrategyDoc,
440
482
  writeTaint,
441
483
  xssRules
442
- } from "./chunk-GOHWCHCS.js";
484
+ } from "./chunk-N24HCQA4.js";
443
485
  import {
444
486
  EXTENSION_MAP,
445
487
  EntropyAnalyzer,
@@ -546,6 +588,7 @@ export {
546
588
  AGENT_DESCRIPTORS,
547
589
  AGREEMENT_LINE_GAP,
548
590
  ALLOWED_FIELD_KEYS,
591
+ ALL_RULES,
549
592
  ALL_SOLUTION_CATEGORIES,
550
593
  ARCHITECTURE_DESCRIPTOR,
551
594
  AdjustedForecastSchema,
@@ -556,6 +599,8 @@ export {
556
599
  ArchConfigSchema,
557
600
  ArchDiffResultSchema,
558
601
  ArchMetricCategorySchema,
602
+ AuditResultSchema,
603
+ AuditSummarySchema,
559
604
  AuthAuditEntrySchema,
560
605
  AuthTokenPublicSchema,
561
606
  AuthTokenSchema,
@@ -569,6 +614,10 @@ export {
569
614
  BundleSchema,
570
615
  CACHE_TTL_MS,
571
616
  CINotifier,
617
+ CI_ASSESSMENTS,
618
+ CI_REVIEW_DOMAINS,
619
+ CI_REVIEW_VERDICT_SCHEMA_VERSION,
620
+ CI_RUNNERS,
572
621
  COMPLIANCE_DESCRIPTOR,
573
622
  CONDITIONAL_SUBAGENT_DESCRIPTORS,
574
623
  CORROBORATED_AGREEMENT,
@@ -578,6 +627,7 @@ export {
578
627
  CategoryRegressionSchema,
579
628
  CategorySnapshotSchema,
580
629
  ChecklistBuilder,
630
+ CiReviewVerdictSchema,
581
631
  CircularDepsCollector,
582
632
  CompactionPipeline,
583
633
  ComplexityCollector,
@@ -591,6 +641,8 @@ export {
591
641
  ContributionsSchema,
592
642
  CouplingCollector,
593
643
  CriticalPathResolver,
644
+ DEFAULT_EXEC_MAX_STDOUT_BYTES,
645
+ DEFAULT_EXEC_TIMEOUT_MS,
594
646
  DEFAULT_LOADER_CONFIG,
595
647
  DEFAULT_PROVIDER_TIERS,
596
648
  DEFAULT_SECURITY_CONFIG,
@@ -629,7 +681,10 @@ export {
629
681
  GeminiCacheAdapter,
630
682
  GitHubIssuesSyncAdapter,
631
683
  HandoffSchema,
684
+ HarnessConfigSubsetSchema,
632
685
  HarnessStateSchema,
686
+ HarnessStrengthAuditor,
687
+ HookFileSchema,
633
688
  INDEXED_FILE_KINDS,
634
689
  INSIGHTS_KEYS,
635
690
  InteractionTypeSchema,
@@ -641,6 +696,7 @@ export {
641
696
  MOCK_ADAPTER_NAME,
642
697
  ManifestSchema,
643
698
  MetricResultSchema,
699
+ ModeSchema,
644
700
  ModuleSizeCollector,
645
701
  NoOpExecutor,
646
702
  NoOpSink,
@@ -667,6 +723,7 @@ export {
667
723
  RegressionResultSchema as PredictionRegressionResultSchema,
668
724
  PredictionResultSchema,
669
725
  PredictionWarningSchema,
726
+ ProjectContextSchema,
670
727
  ProjectScanner,
671
728
  PromptCacheStatsSchema,
672
729
  ProposalConflictError,
@@ -686,11 +743,13 @@ export {
686
743
  REQUIRED_SECTIONS,
687
744
  REQUIRED_STRATEGY_SECTIONS,
688
745
  RISK_KEYWORDS,
746
+ RUNNER_PRESETS,
689
747
  RegressionDetector,
690
748
  RuleRegistry,
691
749
  SECURITY_DESCRIPTOR,
692
750
  SESSIONS_DEFAULTS,
693
751
  SESSION_SECTION_NAMES,
752
+ SEVERITY_WEIGHTS,
694
753
  STALENESS_WARNING_DAYS,
695
754
  STANDALONE_AGREEMENT,
696
755
  STANDARD_COGNITIVE_MODES,
@@ -706,6 +765,7 @@ export {
706
765
  SecurityTrendLineSchema,
707
766
  SecurityTrendResultSchema,
708
767
  SessionSummarySchema,
768
+ SeveritySchema,
709
769
  SharableBoundaryConfigSchema,
710
770
  SharableForbiddenImportSchema,
711
771
  SharableLayerSchema,
@@ -723,10 +783,12 @@ export {
723
783
  StrategyFrontmatterSchema,
724
784
  StreamIndexSchema,
725
785
  StreamInfoSchema,
786
+ StrengthFindingSchema,
726
787
  StructuralStrategy,
727
788
  SupplyChainSnapshotSchema,
728
789
  TYPESCRIPT_STRICT_DESCRIPTOR,
729
790
  ThresholdConfigSchema,
791
+ TierSchema,
730
792
  TimeToFixResultSchema,
731
793
  TimeToFixStatsSchema,
732
794
  TimelineFileSchema,
@@ -781,8 +843,10 @@ export {
781
843
  assertPortUsable,
782
844
  assertSanitized,
783
845
  assignFeature,
846
+ buildCiReviewVerdict,
784
847
  buildDependencyGraph,
785
848
  buildExclusionSet,
849
+ buildProjectContext,
786
850
  buildSnapshot,
787
851
  calculateCacheSavings,
788
852
  calculateCost,
@@ -791,6 +855,7 @@ export {
791
855
  checkEligibility,
792
856
  checkEvidenceCoverage,
793
857
  checkOverlap,
858
+ checkRoadmapHealth,
794
859
  checkTaint,
795
860
  classifyConfidence,
796
861
  classifyFinding,
@@ -833,11 +898,16 @@ export {
833
898
  createTrackerClient,
834
899
  crossReferenceUndocumentedFixes,
835
900
  cryptoRules,
901
+ decidePromotionForRow,
836
902
  deduplicateCleanupFindings,
837
903
  deduplicateFindings,
838
904
  deepMergeConstraints,
839
905
  defaultCollectors,
906
+ defaultExecFile,
907
+ defaultIsArchive,
840
908
  defineLayer,
909
+ deriveBlockingFindings,
910
+ deriveExitCode,
841
911
  deriveSkillUsage,
842
912
  deserializationRules,
843
913
  detectChangeType,
@@ -902,6 +972,7 @@ export {
902
972
  getUpdateNotification,
903
973
  gitScan,
904
974
  goRules,
975
+ groomRoadmap,
905
976
  injectionRules,
906
977
  insecureDefaultsRules,
907
978
  invalidateCheckState,
@@ -912,6 +983,8 @@ export {
912
983
  isRegression,
913
984
  isSanitizedResult,
914
985
  isSmallSuggestion,
986
+ isSupportedRunner,
987
+ isUnactionablePlanned,
915
988
  isUpdateCheckEnabled,
916
989
  isoWeek,
917
990
  listActiveSessions,
@@ -947,14 +1020,20 @@ export {
947
1020
  normalizeLearningContent,
948
1021
  normalizeViolationPattern,
949
1022
  paginate,
1023
+ parseAntigravityVerdict,
950
1024
  parseCCRecords,
1025
+ parseCiReviewVerdict,
1026
+ parseClaudeVerdict,
1027
+ parseCodexVerdict,
951
1028
  parseDateFromEntry,
952
1029
  parseDiff,
953
1030
  parseFile,
954
1031
  parseFileRegions,
955
1032
  parseFrontmatter2 as parseFrontmatter,
1033
+ parseGeminiVerdict,
956
1034
  parseHarnessIgnore,
957
1035
  parseLiteLLMData,
1036
+ parseLocalVerdict,
958
1037
  parseLookback,
959
1038
  parseManifest,
960
1039
  parseProtectedRegions,
@@ -964,8 +1043,10 @@ export {
964
1043
  parseSize,
965
1044
  parseStrategyDoc,
966
1045
  pathTraversalRules,
1046
+ presetKind,
967
1047
  previewFix,
968
1048
  projectValue,
1049
+ promoteFeature,
969
1050
  promoteSessionLearnings,
970
1051
  proposalsDir,
971
1052
  pruneLearnings,
@@ -988,6 +1069,7 @@ export {
988
1069
  resetParserCache,
989
1070
  resolveConsent,
990
1071
  resolveFileToLayer,
1072
+ resolveMode,
991
1073
  resolveModelTier,
992
1074
  resolveReverseStatus,
993
1075
  resolveRuleSeverity,
@@ -995,12 +1077,14 @@ export {
995
1077
  resolveStability,
996
1078
  resolveStreamPath,
997
1079
  resolveThresholds,
1080
+ rollupScore,
998
1081
  runAdversarialAgent,
999
1082
  runFallbackRules as runAgentConfigFallbackRules,
1000
1083
  runAll,
1001
1084
  runArchitectureAgent,
1002
1085
  runBugDetectionAgent,
1003
1086
  runCIChecks,
1087
+ runCiReview,
1004
1088
  runComplianceAgent,
1005
1089
  runFrontendRacesAgent,
1006
1090
  runMechanicalChecks,
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  checkDocsDefinition,
3
3
  handleCheckDocs
4
- } from "./chunk-C7J55C6E.js";
4
+ } from "./chunk-MGUPSE6D.js";
5
5
  import "./chunk-RC3OI5NK.js";
6
6
  import "./chunk-W6Y7ZW3Y.js";
7
- import "./chunk-B7KMTHN3.js";
7
+ import "./chunk-GGKRA7A7.js";
8
8
  import "./chunk-ZCZD7FHU.js";
9
9
  import "./chunk-3WGJMBKH.js";
10
- import "./chunk-GOHWCHCS.js";
10
+ import "./chunk-N24HCQA4.js";
11
11
  import "./chunk-N55WOGN3.js";
12
12
  import "./chunk-BDGTZRZ6.js";
13
13
  import "./chunk-PP6ZRL5T.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TemplateEngine
3
- } from "./chunk-UBZQE3JN.js";
4
- import "./chunk-GOHWCHCS.js";
3
+ } from "./chunk-UX3PQKVZ.js";
4
+ import "./chunk-N24HCQA4.js";
5
5
  import "./chunk-N55WOGN3.js";
6
6
  import "./chunk-BDGTZRZ6.js";
7
7
  import "./chunk-PP6ZRL5T.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  detectEntropyDefinition,
3
3
  handleDetectEntropy
4
- } from "./chunk-ACOOG3UW.js";
4
+ } from "./chunk-Z4AWEIBY.js";
5
5
  import "./chunk-RC3OI5NK.js";
6
6
  import "./chunk-W6Y7ZW3Y.js";
7
- import "./chunk-GOHWCHCS.js";
7
+ import "./chunk-N24HCQA4.js";
8
8
  import "./chunk-N55WOGN3.js";
9
9
  import "./chunk-BDGTZRZ6.js";
10
10
  import "./chunk-PP6ZRL5T.js";
@@ -5,7 +5,7 @@ import {
5
5
  handleCreateSelfReview,
6
6
  handleRequestPeerReview,
7
7
  requestPeerReviewDefinition
8
- } from "./chunk-UXPWSV3B.js";
8
+ } from "./chunk-BYVT5LVO.js";
9
9
  import "./chunk-RC3OI5NK.js";
10
10
  import "./chunk-W6Y7ZW3Y.js";
11
11
  import "./chunk-KFQGP6VL.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  createGenerateAgentDefinitionsCommand,
3
3
  generateAgentDefinitions
4
- } from "./chunk-EEFRPEWT.js";
4
+ } from "./chunk-NWLGL3IR.js";
5
5
  import "./chunk-KET4QQZB.js";
6
- import "./chunk-X4EFYVCZ.js";
6
+ import "./chunk-PC2R5RUJ.js";
7
7
  import "./chunk-3ISINLYT.js";
8
8
  import "./chunk-6B6UN6SG.js";
9
9
  import "./chunk-3WGJMBKH.js";
10
- import "./chunk-GOHWCHCS.js";
10
+ import "./chunk-N24HCQA4.js";
11
11
  import "./chunk-N55WOGN3.js";
12
12
  import "./chunk-BDGTZRZ6.js";
13
13
  import "./chunk-PP6ZRL5T.js";
@@ -7,13 +7,36 @@ import { readFileSync, mkdirSync, appendFileSync } from 'node:fs';
7
7
  import { join } from 'node:path';
8
8
  import process from 'node:process';
9
9
 
10
- function main() {
11
- let raw = '';
12
- try {
13
- raw = readFileSync(0, 'utf-8');
14
- } catch {
15
- process.exit(0);
10
+ /** Synchronous sleep (no busy-spin) used to back off between stdin read retries. */
11
+ function sleepMs(ms) {
12
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
13
+ }
14
+
15
+ /**
16
+ * Read all of stdin synchronously, tolerating the EAGAIN that fd 0 throws when
17
+ * it is a non-blocking pipe with data not yet delivered. Under load (notably CI
18
+ * under v8 coverage) the first read can race ahead of the writer; without the
19
+ * retry the hook silently fail-opens and drops the cost entry. A genuinely empty
20
+ * stdin returns '' immediately (EOF, no EAGAIN), so the empty/malformed paths
21
+ * stay fast. Bounded so a stuck pipe can't hang the hook.
22
+ */
23
+ function readStdin() {
24
+ const deadline = Date.now() + 2000;
25
+ for (;;) {
26
+ try {
27
+ return readFileSync(0, 'utf-8');
28
+ } catch (err) {
29
+ if (err && err.code === 'EAGAIN' && Date.now() < deadline) {
30
+ sleepMs(10);
31
+ continue;
32
+ }
33
+ return '';
34
+ }
16
35
  }
36
+ }
37
+
38
+ function main() {
39
+ const raw = readStdin();
17
40
 
18
41
  if (!raw.trim()) {
19
42
  process.exit(0);