@odla-ai/harness 0.11.15 → 0.11.17

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.
@@ -7,7 +7,7 @@ import {
7
7
  createCodeRuntimeControlClient,
8
8
  createCodeRuntimeSessionSkillLoader,
9
9
  runCodeRuntimeHeartbeatLoop
10
- } from "./chunk-ZYZN43G4.js";
10
+ } from "./chunk-RDCU4PIP.js";
11
11
  import "./chunk-6T26HEWI.js";
12
12
  import {
13
13
  assertPinnedImage,
package/dist/node.cjs CHANGED
@@ -28,6 +28,7 @@ __export(node_exports, {
28
28
  DEPENDENCY_INSTALL_TIMEOUT_MS: () => DEPENDENCY_INSTALL_TIMEOUT_MS,
29
29
  DecompositionError: () => DecompositionError,
30
30
  MAX_MEMORY_BODY: () => MAX_MEMORY_BODY,
31
+ MAX_TAP_FAILURES: () => MAX_TAP_FAILURES,
31
32
  MEASURED_PREMIUM: () => MEASURED_PREMIUM,
32
33
  PROOF_RECIPE_PREFIX: () => PROOF_RECIPE_PREFIX,
33
34
  REPOSITORY_RECIPES_FILE: () => REPOSITORY_RECIPES_FILE,
@@ -60,7 +61,9 @@ __export(node_exports, {
60
61
  describeCodeRecipes: () => describeCodeRecipes,
61
62
  describeGateFailure: () => describeGateFailure,
62
63
  describePatchFailure: () => describePatchFailure,
64
+ describeTapFailures: () => describeTapFailures,
63
65
  digestStagedWorkspace: () => digestStagedWorkspace,
66
+ extractTapFailingTests: () => extractTapFailingTests,
64
67
  feedbackIsActionable: () => feedbackIsActionable,
65
68
  hasContextFreeHunk: () => hasContextFreeHunk,
66
69
  hazardFromAttempt: () => hazardFromAttempt,
@@ -2253,6 +2256,14 @@ function describeReview(review) {
2253
2256
  const head = review.verdict === "approved" ? `Clean verification and independent review passed (score ${review.score}/100).` : `Clean verification passed; independent review REJECTED this candidate (score ${review.score}/100). Address the findings and checkpoint again.`;
2254
2257
  return [head, review.summary, findings].filter(Boolean).join("\n").slice(0, 4e3);
2255
2258
  }
2259
+ function gateOutput(output) {
2260
+ const plain = output.replace(GATE_ANSI, "");
2261
+ if (plain.length <= 1500) return plain;
2262
+ return `${plain.slice(0, 300)}
2263
+ \u2026 [${plain.length - 1500} characters omitted] \u2026
2264
+ ${plain.slice(-1200)}`;
2265
+ }
2266
+ var GATE_ANSI = /\u001b\[[0-9;?]*[A-Za-z]/g;
2256
2267
  function describeGateFailure(evidence) {
2257
2268
  const failed = evidence.receipt.recipes.filter((recipe2) => recipe2.status !== "passed");
2258
2269
  const detail = failed.map((recipe2) => {
@@ -2260,9 +2271,9 @@ function describeGateFailure(evidence) {
2260
2271
  const output = `${log?.stdout ?? ""}
2261
2272
  ${log?.stderr ?? ""}`.trim();
2262
2273
  const named = describeTapFailures(output);
2263
- return `${recipe2.recipeId}=${recipe2.status}${named ? `
2264
- ${named}` : ""}${output ? `
2265
- ${output.slice(0, 1500)}` : ""}`;
2274
+ return `${named ? `${named}
2275
+ ` : ""}${recipe2.recipeId}=${recipe2.status}${output ? `
2276
+ ${gateOutput(output)}` : ""}`;
2266
2277
  }).join("\n\n");
2267
2278
  return `Clean verification failed. Fix this and checkpoint again:
2268
2279
  ${detail}`.slice(0, 4e3);
@@ -5640,6 +5651,7 @@ async function hostBuildProducts(repoRoot) {
5640
5651
  DEPENDENCY_INSTALL_TIMEOUT_MS,
5641
5652
  DecompositionError,
5642
5653
  MAX_MEMORY_BODY,
5654
+ MAX_TAP_FAILURES,
5643
5655
  MEASURED_PREMIUM,
5644
5656
  PROOF_RECIPE_PREFIX,
5645
5657
  REPOSITORY_RECIPES_FILE,
@@ -5672,7 +5684,9 @@ async function hostBuildProducts(repoRoot) {
5672
5684
  describeCodeRecipes,
5673
5685
  describeGateFailure,
5674
5686
  describePatchFailure,
5687
+ describeTapFailures,
5675
5688
  digestStagedWorkspace,
5689
+ extractTapFailingTests,
5676
5690
  feedbackIsActionable,
5677
5691
  hasContextFreeHunk,
5678
5692
  hazardFromAttempt,