@jjchill/probity-rules 0.4.6 → 0.4.7

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.7
4
+
5
+ A judge answer that is not valid JSON is no longer reported as an
6
+ outage (#52), in every preset.
7
+
8
+ - **What went wrong.** The judge sometimes writes its verdict as broken
9
+ JSON: an unescaped `"` or a line break inside `reason`, or an answer
10
+ cut off mid-string. Probity then reports "could not parse verdict",
11
+ and `withJudgeFailureDiagnostics` rewrote that as "returned no
12
+ verdict … an infrastructure failure … retrying … will not help". In
13
+ #52 the judge had in fact denied the write for over-implementation.
14
+ The agent was told the judge was down, and that retrying was
15
+ pointless.
16
+ - **Now:** the wrapper tells the two causes apart.
17
+ - The provider reports it is unavailable (spend limit, quota, rate
18
+ limit, auth), or no AI agent is configured: unchanged. No retry;
19
+ the message still says retrying will not help until the judge is
20
+ back.
21
+ - The judge answered, but not as a valid verdict: it is asked once
22
+ more, and a well-formed second verdict stands. If the second answer
23
+ is still malformed but reads as a deny, the block is reported as
24
+ the policy decision it is, with the judge's reason quoted in full.
25
+ Anything else stays blocked, with the judge's output in full, and
26
+ the message says retrying the same write may succeed.
27
+ - Agents already retry a blocked write, so the automatic retry changes
28
+ what the agent is told, not how many chances the write gets.
29
+ - Tested with scripted verdicts run through Probity's own parser: an
30
+ unescaped quote, a raw line break, a cut-off answer, a malformed
31
+ pass, and prose. The raw output of the #52 answer was not recorded,
32
+ so this is not a replay of it. `hooks/PROBITY.md` now points at the
33
+ `--debug <path>` hook option for capturing such output.
34
+
3
35
  ## 0.4.6
4
36
 
5
37
  A TDD judge deny that ends in a bare "Pass." is now judged again (#50).
@@ -165,24 +165,34 @@ export declare function surfaceRemovedStringUsage(options: {
165
165
  export declare function withContradictionRetry(rule: Rule): Rule;
166
166
  /**
167
167
  * Wraps an AI-validated rule so that a judge that returned no verdict
168
- * — a billing/spend-limit notice, an auth error, empty or non-JSON
169
- * output — is reported as an infrastructure failure instead of reading
170
- * as a policy verdict on the write.
168
+ * is handled by cause, instead of reading as a policy verdict on the
169
+ * write.
171
170
  *
172
171
  * Why: Probity fails closed when it cannot parse the judge's output,
173
172
  * which is correct, but the deny text ("could not parse verdict from
174
- * validator output: You've hit your org's monthly spend limit…") looks
175
- * like a rejection of the change. Agents respond by rewording or
176
- * splitting the write and retrying, which cannot help. The rewritten
177
- * reason names the judge, says the write itself was not judged, and
178
- * points at the fix (restore the provider) and at the deterministic
179
- * paths that never call the judge.
180
- *
181
- * The verdict is unchanged — the write is still blocked. Only the
182
- * reason text of a judge-failure violation is rewritten; genuine
183
- * verdicts and passes pass through untouched. The wrapper keeps the
184
- * wrapped rule's name, so traces and block reports still identify the
185
- * rule that failed.
173
+ * validator output: …") looks like a rejection of the change. There
174
+ * are two different causes, and they need opposite advice:
175
+ *
176
+ * - The provider is unavailable (spend limit, quota, rate limit, auth)
177
+ * or no AI agent is configured. No retry is made; the reason says
178
+ * the write was not judged and that retrying will not help until
179
+ * the judge is back.
180
+ * - The judge answered, but not as a valid verdict (issue #52): an
181
+ * unescaped quote or line break inside `reason`, an answer cut off
182
+ * mid-string, or prose. The judge is asked once more and a
183
+ * well-formed second verdict stands. If the second answer is still
184
+ * malformed but reads as a deny, it is reported as the policy block
185
+ * it is, with the judge's reason quoted in full. Anything else stays
186
+ * blocked, and the reason says retrying the same write may succeed.
187
+ *
188
+ * Agents already retry a blocked write, so the automatic retry changes
189
+ * what the agent is told, not how many chances the write gets. Inside
190
+ * the presets' `withContradictionRetry`, the worst case is three judge
191
+ * calls, and only when both anomalies occur.
192
+ *
193
+ * Genuine verdicts and passes pass through untouched. The wrapper keeps
194
+ * the wrapped rule's name, so traces and block reports still identify
195
+ * the rule that failed.
186
196
  *
187
197
  * @param rule — the AI-validated rule to wrap.
188
198
  * @param options.deterministicPaths — sentence listing the writes this
@@ -1 +1 @@
1
- {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../rules/gates.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,IAAI,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAA;AAE3E;;;;;;;;;;;;GAYG;AAEH,uEAAuE;AACvE,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAQ7D,iEAAiE;AACjE,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACzC,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,QAAQ,EAAE,YAAY,EAAE,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC,CAcnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,YAAY,EAOpD,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAqBP;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;IACpE,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;IACpE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAA;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,IAAI,CAgEP;AA0CD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,IAAI,CA+CP;AAkBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAYvD;AAqBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5C,IAAI,CAkCN"}
1
+ {"version":3,"file":"gates.d.ts","sourceRoot":"","sources":["../../rules/gates.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,IAAI,EAAE,WAAW,EAAc,MAAM,gBAAgB,CAAA;AAE3E;;;;;;;;;;;;GAYG;AAEH,uEAAuE;AACvE,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAQ7D,iEAAiE;AACjE,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACzC,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,QAAQ,EAAE,YAAY,EAAE,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC,CAcnB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,EAAE,YAAY,EAOpD,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAC/C,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,IAAI,CAqBP;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;IAC/C,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;IACpE,cAAc,EAAE,MAAM,CAAA;IACtB,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAA;IACpE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAA;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,GAAG,IAAI,CAgEP;AA0CD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG,IAAI,CA+CP;AAkBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAYvD;AA+DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5C,IAAI,CAgEN"}
@@ -363,26 +363,75 @@ const JUDGE_FAILURE_REASON = /^(?:could not parse verdict from validator output|
363
363
  // spend/credit limits, quota, rate limits, and auth failures.
364
364
  const PROVIDER_UNAVAILABLE = /spend limit|usage[- ]credits|credit balance|out of credits|quota|rate[- ]limit|too many requests|overloaded|unauthori[sz]ed|authentication|invalid api key|\b(?:401|403|429|529)\b/i;
365
365
  const JUDGE_OUTPUT_EXCERPT = 300;
366
+ // Failures a second judge call can fix: output that was not a valid
367
+ // verdict, or an SDK stream that ended without one. Not retried: a
368
+ // missing AI agent (configuration) and a provider that reports it is
369
+ // unavailable (spend limit, quota, rate limit, auth) — see
370
+ // PROVIDER_UNAVAILABLE.
371
+ const TRANSIENT_JUDGE_FAILURE = /^(?:could not parse verdict from validator output|validator returned unexpected shape|expected string result from validator|no result message received)/;
372
+ const UNPARSED_OUTPUT = /^could not parse verdict from validator output:\s*/;
373
+ function judgeOutput(reason) {
374
+ return reason.replace(JUDGE_FAILURE_REASON, '').replace(/^\s*:/, '').trim();
375
+ }
376
+ function isTransientFailure(reason) {
377
+ return TRANSIENT_JUDGE_FAILURE.test(reason) && !PROVIDER_UNAVAILABLE.test(judgeOutput(reason));
378
+ }
379
+ /**
380
+ * The reason of a deny the judge wrote as broken JSON (an unescaped
381
+ * quote or line break in `reason`, or an answer cut off mid-string),
382
+ * or null when the output does not read as a deny. Anchors on the last
383
+ * `"kind"`, as Probity's own parser takes the verdict from the end.
384
+ */
385
+ function salvagedDenyReason(failureReason) {
386
+ if (!UNPARSED_OUTPUT.test(failureReason))
387
+ return null;
388
+ const output = failureReason.replace(UNPARSED_OUTPUT, '');
389
+ const kinds = [...output.matchAll(/"kind"\s*:\s*"(pass|violation)"/g)];
390
+ const last = kinds.at(-1);
391
+ if (!last || last[1] !== 'violation')
392
+ return null;
393
+ const rest = output.slice(last.index + last[0].length);
394
+ const field = /"reason"\s*:\s*"/.exec(rest);
395
+ if (!field)
396
+ return null;
397
+ const text = rest
398
+ .slice(field.index + field[0].length)
399
+ .replace(/"\s*\}\s*(?:```)?\s*$/, '')
400
+ .replace(/\\n/g, '\n')
401
+ .replace(/\\"/g, '"')
402
+ .trim();
403
+ return text || null;
404
+ }
366
405
  /**
367
406
  * Wraps an AI-validated rule so that a judge that returned no verdict
368
- * — a billing/spend-limit notice, an auth error, empty or non-JSON
369
- * output — is reported as an infrastructure failure instead of reading
370
- * as a policy verdict on the write.
407
+ * is handled by cause, instead of reading as a policy verdict on the
408
+ * write.
371
409
  *
372
410
  * Why: Probity fails closed when it cannot parse the judge's output,
373
411
  * which is correct, but the deny text ("could not parse verdict from
374
- * validator output: You've hit your org's monthly spend limit…") looks
375
- * like a rejection of the change. Agents respond by rewording or
376
- * splitting the write and retrying, which cannot help. The rewritten
377
- * reason names the judge, says the write itself was not judged, and
378
- * points at the fix (restore the provider) and at the deterministic
379
- * paths that never call the judge.
412
+ * validator output: …") looks like a rejection of the change. There
413
+ * are two different causes, and they need opposite advice:
414
+ *
415
+ * - The provider is unavailable (spend limit, quota, rate limit, auth)
416
+ * or no AI agent is configured. No retry is made; the reason says
417
+ * the write was not judged and that retrying will not help until
418
+ * the judge is back.
419
+ * - The judge answered, but not as a valid verdict (issue #52): an
420
+ * unescaped quote or line break inside `reason`, an answer cut off
421
+ * mid-string, or prose. The judge is asked once more and a
422
+ * well-formed second verdict stands. If the second answer is still
423
+ * malformed but reads as a deny, it is reported as the policy block
424
+ * it is, with the judge's reason quoted in full. Anything else stays
425
+ * blocked, and the reason says retrying the same write may succeed.
380
426
  *
381
- * The verdict is unchanged — the write is still blocked. Only the
382
- * reason text of a judge-failure violation is rewritten; genuine
383
- * verdicts and passes pass through untouched. The wrapper keeps the
384
- * wrapped rule's name, so traces and block reports still identify the
385
- * rule that failed.
427
+ * Agents already retry a blocked write, so the automatic retry changes
428
+ * what the agent is told, not how many chances the write gets. Inside
429
+ * the presets' `withContradictionRetry`, the worst case is three judge
430
+ * calls, and only when both anomalies occur.
431
+ *
432
+ * Genuine verdicts and passes pass through untouched. The wrapper keeps
433
+ * the wrapped rule's name, so traces and block reports still identify
434
+ * the rule that failed.
386
435
  *
387
436
  * @param rule — the AI-validated rule to wrap.
388
437
  * @param options.deterministicPaths — sentence listing the writes this
@@ -391,19 +440,47 @@ const JUDGE_OUTPUT_EXCERPT = 300;
391
440
  * working while the provider is down.
392
441
  */
393
442
  export function withJudgeFailureDiagnostics(rule, options = {}) {
443
+ const judge = rule.name || 'rule';
394
444
  const wrapped = async function judgeFailureDiagnostics(action, ctx) {
395
- const result = await rule(action, ctx);
445
+ let result = await rule(action, ctx);
446
+ if (result.kind === 'violation' && isTransientFailure(result.reason ?? '')) {
447
+ result = await rule(action, ctx);
448
+ }
396
449
  if (result.kind !== 'violation')
397
450
  return result;
398
451
  const reason = result.reason ?? '';
399
452
  if (!JUDGE_FAILURE_REASON.test(reason))
400
453
  return result;
401
- const output = reason.replace(JUDGE_FAILURE_REASON, '').replace(/^\s*:/, '').trim();
454
+ const output = judgeOutput(reason);
402
455
  const excerpt = output.length > JUDGE_OUTPUT_EXCERPT
403
456
  ? `${output.slice(0, JUDGE_OUTPUT_EXCERPT)}…`
404
457
  : output;
458
+ if (isTransientFailure(reason)) {
459
+ const denied = salvagedDenyReason(reason);
460
+ if (denied) {
461
+ return {
462
+ ...result,
463
+ reason: `Probity's AI judge (${judge}) denied this write. Its answer was ` +
464
+ 'not valid JSON, so its reason is quoted as written:\n\n' +
465
+ denied,
466
+ };
467
+ }
468
+ const lines = [
469
+ `Probity's AI judge (${judge}) answered twice, but not in the ` +
470
+ 'expected format, so this write was not judged and stays blocked ' +
471
+ '(fail closed). This is usually a one-off formatting slip: ' +
472
+ 'retrying the same write may succeed. If it keeps happening, ' +
473
+ 'check the judge provider (network, model availability).',
474
+ ];
475
+ if (options.deterministicPaths)
476
+ lines.push(options.deterministicPaths);
477
+ // In full (Probity caps it at 4,000 characters): the judge did
478
+ // answer, and its text is the evidence for an issue report.
479
+ lines.push('Do not bypass the hook. Judge output: ' + (output || '(empty)'));
480
+ return { ...result, reason: lines.join('\n\n') };
481
+ }
405
482
  const lines = [
406
- `Probity's AI judge (${rule.name || 'rule'}) returned no verdict, so ` +
483
+ `Probity's AI judge (${judge}) returned no verdict, so ` +
407
484
  'this write was NOT judged — this is an infrastructure failure, not ' +
408
485
  'a policy decision about your change. The write stays blocked ' +
409
486
  '(fail closed). Rewording, splitting, or retrying the same write ' +
@@ -421,7 +498,7 @@ export function withJudgeFailureDiagnostics(rule, options = {}) {
421
498
  lines.push('Do not bypass the hook. Judge output: ' + (excerpt || '(empty)'));
422
499
  return { ...result, reason: lines.join('\n\n') };
423
500
  };
424
- Object.defineProperty(wrapped, 'name', { value: rule.name || 'rule' });
501
+ Object.defineProperty(wrapped, 'name', { value: judge });
425
502
  return wrapped;
426
503
  }
427
504
  //# sourceMappingURL=gates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gates.js","sourceRoot":"","sources":["../../rules/gates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gates.js","sourceRoot":"","sources":["../../rules/gates.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jjchill/probity-rules",
3
- "version": "0.4.6",
3
+ "version": "0.4.7",
4
4
  "description": "Versioned Probity rule presets and CLI tooling for the agent-skills catalog (test-driven-development, ports-and-adapters, acceptance-testing, spec-test parity, ubiquitous-language) — see hooks/PROBITY.md.",
5
5
  "license": "MIT",
6
6
  "repository": {