@jjchill/probity-rules 0.2.3 → 0.3.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0
4
+
5
+ Kotlin and KMP presets now wire the characterization round-trip the
6
+ Swift preset already had (issue #34). A test that pins behavior
7
+ production already has — for example a branch an independent mutation
8
+ review found untested — is born green, so no red can precede it, and
9
+ the TDD judge could block it with no honest way forward. Now:
10
+
11
+ - a test-source write (`src/test`, or any `src/<name>Test` source set)
12
+ carrying `// probity: characterization` above the test passes without
13
+ the judge; the marker does nothing in production source;
14
+ - the marker comes off only when the session transcript records that
15
+ test failing (typically under a `// probity: mutation-probe`), and the
16
+ new `enforceCharacterizationResolution` commit gate blocks `git commit`
17
+ while any marker is on disk;
18
+ - `withCharacterizationTest` (all presets that use it) appends a note
19
+ naming the marker when it denies an unmarked test-layer write for
20
+ lacking a red, and resolves backticked Kotlin test names
21
+ (``fun `rejects blank ids`()``) in full for the removal proof.
22
+
23
+ **Behavior change:** Kotlin/KMP commits are now blocked while a
24
+ `probity: characterization` marker is on disk. No existing project
25
+ carries the marker unless it opted in.
26
+
27
+ The TDD judge in every preset reports a judge that returned no verdict
28
+ as an infrastructure failure (issue #32). A spend-limit, quota, or auth
29
+ notice used to surface as `could not parse verdict from validator
30
+ output: …`, which reads as a rejection of the change. The write is
31
+ still blocked (fail closed), but the deny text now says it was not
32
+ judged, whether the provider reported itself unavailable, and which
33
+ writes still pass deterministically. The wrapper is exported as
34
+ `withJudgeFailureDiagnostics` from `rules/gates.ts`.
35
+
36
+ `probity-scope-report` no longer flags test files under a core-purity
37
+ rule as "adapter/DI/UI-looking" (issue #26). A test-wide
38
+ `forbidContentPattern` (such as a no-mocking-library screen over every
39
+ test source set) legitimately covers adapter tests; the old warning
40
+ suggested excluding them, which would weaken the check. Production
41
+ adapter paths are still flagged.
42
+
3
43
  ## 0.2.3
4
44
 
5
45
  `enforceSpecTestParity` now inspects the pending Git commit before scanning
@@ -2,7 +2,9 @@ import { type Rule } from '@nizos/probity';
2
2
  /**
3
3
  * Kotlin sessions commonly include Gradle output plus several source reads between
4
4
  * red and green. Twenty events preserves that nearby red; clipping each event at
5
- * 6,000 characters keeps the additional context bounded.
5
+ * 6,000 characters keeps the additional context bounded. A judge that
6
+ * returns no verdict (spend limit, auth failure) is reported as an
7
+ * infrastructure failure rather than a TDD rejection.
6
8
  */
7
9
  export declare function enforceKotlinTdd(): Rule;
8
10
  //# sourceMappingURL=kotlin-tdd.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kotlin-tdd.d.ts","sourceRoot":"","sources":["../../internal/kotlin-tdd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAStD;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC"}
1
+ {"version":3,"file":"kotlin-tdd.d.ts","sourceRoot":"","sources":["../../internal/kotlin-tdd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAiBtD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CASvC"}
@@ -1,4 +1,9 @@
1
1
  import { enforceTdd } from '@nizos/probity';
2
+ import { withJudgeFailureDiagnostics } from '../rules/gates.js';
3
+ const KOTLIN_DETERMINISTIC_PATHS = 'Writes that never call the judge still go through: a test-source write ' +
4
+ 'adding exactly one @Test function (Kotlin fast path), telemetry-only ' +
5
+ 'lines, writes marked `// probity: mutation-probe`, and test-source ' +
6
+ 'writes marked `// probity: characterization`.';
2
7
  const KOTLIN_TDD_ADDENDUM = `## Kotlin/JVM TDD clarification
3
8
 
4
9
  - Kotlin-specific exception to the generic placeholder guidance: when a targeted, relevant Kotlin test executes a \`TODO()\` placeholder and reports \`kotlin.NotImplementedError\`, that runtime failure is a clean red. Do not require a second run that reaches an assertion before replacing the placeholder. The implementation remains bounded by the assertions present in the relevant test source visible in the recent session.
@@ -8,13 +13,15 @@ const KOTLIN_TDD_ADDENDUM = `## Kotlin/JVM TDD clarification
8
13
  /**
9
14
  * Kotlin sessions commonly include Gradle output plus several source reads between
10
15
  * red and green. Twenty events preserves that nearby red; clipping each event at
11
- * 6,000 characters keeps the additional context bounded.
16
+ * 6,000 characters keeps the additional context bounded. A judge that
17
+ * returns no verdict (spend limit, auth failure) is reported as an
18
+ * infrastructure failure rather than a TDD rejection.
12
19
  */
13
20
  export function enforceKotlinTdd() {
14
- return enforceTdd({
21
+ return withJudgeFailureDiagnostics(enforceTdd({
15
22
  instructions: (defaults) => `${defaults}\n\n${KOTLIN_TDD_ADDENDUM}`,
16
23
  maxEvents: 20,
17
24
  maxContentChars: 6_000,
18
- });
25
+ }), { deterministicPaths: KOTLIN_DETERMINISTIC_PATHS });
19
26
  }
20
27
  //# sourceMappingURL=kotlin-tdd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kotlin-tdd.js","sourceRoot":"","sources":["../../internal/kotlin-tdd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,gBAAgB,CAAA;AAEtD,MAAM,mBAAmB,GAAG;;;;;2LAK+J,CAAA;AAE3L;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAC;QAChB,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,OAAO,mBAAmB,EAAE;QACnE,SAAS,EAAE,EAAE;QACb,eAAe,EAAE,KAAK;KACvB,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"kotlin-tdd.js","sourceRoot":"","sources":["../../internal/kotlin-tdd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,gBAAgB,CAAA;AAEtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AAE/D,MAAM,0BAA0B,GAC9B,yEAAyE;IACzE,uEAAuE;IACvE,qEAAqE;IACrE,+CAA+C,CAAA;AAEjD,MAAM,mBAAmB,GAAG;;;;;2LAK+J,CAAA;AAE3L;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,2BAA2B,CAChC,UAAU,CAAC;QACT,YAAY,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,QAAQ,OAAO,mBAAmB,EAAE;QACnE,SAAS,EAAE,EAAE;QACb,eAAe,EAAE,KAAK;KACvB,CAAC,EACF,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,CACnD,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../presets/js.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAYjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,QAC2O,CAAA;AAEpR,MAAM,MAAM,eAAe,GAAG;IAC5B;qDACiD;IACjD,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B;+CAC2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;2BACuB;IACvB,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB;wDACoD;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB;sDACkD;IAClD,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB;oBACgB;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,wCAAwC;IACxC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,0CAA0C;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,eAAoB,GAAG,SAAS,EAAE,CAkFxE"}
1
+ {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../presets/js.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAajF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,QAC2O,CAAA;AAEpR,MAAM,MAAM,eAAe,GAAG;IAC5B;qDACiD;IACjD,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B;+CAC2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;2BACuB;IACvB,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB;wDACoD;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB;sDACkD;IAClD,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB;oBACgB;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,wCAAwC;IACxC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,0CAA0C;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,eAAoB,GAAG,SAAS,EAAE,CAkFxE"}
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import { enforceTdd, forbidContentPattern } from '@nizos/probity';
19
19
  import { enforceAcceptanceLanguage } from '../rules/acceptance-language.js';
20
- import { forbidNewAmbientEffects, JS_AMBIENT_EFFECT_PATTERNS, requireGreenTestRun, } from '../rules/gates.js';
20
+ import { forbidNewAmbientEffects, JS_AMBIENT_EFFECT_PATTERNS, requireGreenTestRun, withJudgeFailureDiagnostics, } from '../rules/gates.js';
21
21
  import { enforcePortsBoundary, forbidInternalModuleMocks, } from '../rules/ports-and-adapters.js';
22
22
  /**
23
23
  * Deterministic first line of defense for the Dependency Rule: known
@@ -80,7 +80,7 @@ export function jsRuleEntries(options = {}) {
80
80
  // screen, never after a model call.
81
81
  {
82
82
  files: tddGlobs,
83
- rules: [enforceTdd()],
83
+ rules: [withJudgeFailureDiagnostics(enforceTdd())],
84
84
  },
85
85
  // ── Outer loop: acceptance-testing ──────────────────────────────
86
86
  // The Language Test on the spec layer only. Do NOT widen this to
@@ -1 +1 @@
1
- {"version":3,"file":"js.js","sourceRoot":"","sources":["../../presets/js.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAkB,MAAM,gBAAgB,CAAA;AAEjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AAGvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACvC,kRAAkR,CAAA;AA+BpR;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,UAA2B,EAAE;IACzD,MAAM,SAAS,GAAU,OAAO,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;IAC9E,MAAM,SAAS,GAAU,OAAO,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;IACnG,MAAM,QAAQ,GAAU,OAAO,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;IAC7E,MAAM,SAAS,GAAU,OAAO,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,CAAC,CAAA;IAE3F,OAAO;QACL,mEAAmE;QACnE,8DAA8D;QAC9D,+DAA+D;QAC/D,kCAAkC;QAClC;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACL,oBAAoB,CAAC;oBACnB,KAAK,EAAE,OAAO,CAAC,qBAAqB,IAAI,4BAA4B;oBACpE,MAAM,EACJ,6DAA6D;wBAC7D,wDAAwD;wBACxD,2DAA2D;wBAC3D,6CAA6C;wBAC7C,4BAA4B;iBAC/B,CAAC;gBACF,iEAAiE;gBACjE,0DAA0D;gBAC1D,oDAAoD;gBACpD,uBAAuB,CAAC;oBACtB,QAAQ,EAAE,0BAA0B;oBACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CAAC;gBACF,oBAAoB,EAAE;aACvB;SACF;QAED,gEAAgE;QAChE,iEAAiE;QACjE,WAAW;QACX;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,CAAC,yBAAyB,EAAE,CAAC;SACrC;QAED,mEAAmE;QACnE,kEAAkE;QAClE,gEAAgE;QAChE,4DAA4D;QAC5D,4DAA4D;QAC5D,4DAA4D;QAC5D,oCAAoC;QACpC;YACE,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC;SACtB;QAED,mEAAmE;QACnE,iEAAiE;QACjE,8DAA8D;QAC9D,gEAAgE;QAChE,gEAAgE;QAChE,uBAAuB;QACvB,gCAAgC;QAChC,mFAAmF;QACnF,OAAO;QACP;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,CAAC,yBAAyB,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;SAC3E;QAED,oEAAoE;QACpE,iEAAiE;QACjE,mEAAmE;QACnE,+DAA+D;QAC/D,+DAA+D;QAC/D,gEAAgE;QAChE,oBAAoB;QACpB,mBAAmB,CAAC;YAClB,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,6BAA6B;YAC/D,cAAc,EACZ,OAAO,CAAC,oBAAoB,IAAI,iDAAiD;YACnF,cAAc,EAAE,OAAO,CAAC,oBAAoB,IAAI,mBAAmB;SACpE,CAAC;KACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"js.js","sourceRoot":"","sources":["../../presets/js.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAkB,MAAM,gBAAgB,CAAA;AAEjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAA;AAC3E,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,mBAAmB,EACnB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAA;AAGvC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACvC,kRAAkR,CAAA;AA+BpR;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,UAA2B,EAAE;IACzD,MAAM,SAAS,GAAU,OAAO,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAA;IAC9E,MAAM,SAAS,GAAU,OAAO,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;IACnG,MAAM,QAAQ,GAAU,OAAO,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;IAC7E,MAAM,SAAS,GAAU,OAAO,CAAC,SAAS,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,CAAC,CAAA;IAE3F,OAAO;QACL,mEAAmE;QACnE,8DAA8D;QAC9D,+DAA+D;QAC/D,kCAAkC;QAClC;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE;gBACL,oBAAoB,CAAC;oBACnB,KAAK,EAAE,OAAO,CAAC,qBAAqB,IAAI,4BAA4B;oBACpE,MAAM,EACJ,6DAA6D;wBAC7D,wDAAwD;wBACxD,2DAA2D;wBAC3D,6CAA6C;wBAC7C,4BAA4B;iBAC/B,CAAC;gBACF,iEAAiE;gBACjE,0DAA0D;gBAC1D,oDAAoD;gBACpD,uBAAuB,CAAC;oBACtB,QAAQ,EAAE,0BAA0B;oBACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBAC3B,CAAC;gBACF,oBAAoB,EAAE;aACvB;SACF;QAED,gEAAgE;QAChE,iEAAiE;QACjE,WAAW;QACX;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,CAAC,yBAAyB,EAAE,CAAC;SACrC;QAED,mEAAmE;QACnE,kEAAkE;QAClE,gEAAgE;QAChE,4DAA4D;QAC5D,4DAA4D;QAC5D,4DAA4D;QAC5D,oCAAoC;QACpC;YACE,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,CAAC,2BAA2B,CAAC,UAAU,EAAE,CAAC,CAAC;SACnD;QAED,mEAAmE;QACnE,iEAAiE;QACjE,8DAA8D;QAC9D,gEAAgE;QAChE,gEAAgE;QAChE,uBAAuB;QACvB,gCAAgC;QAChC,mFAAmF;QACnF,OAAO;QACP;YACE,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,CAAC,yBAAyB,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;SAC3E;QAED,oEAAoE;QACpE,iEAAiE;QACjE,mEAAmE;QACnE,+DAA+D;QAC/D,+DAA+D;QAC/D,gEAAgE;QAChE,oBAAoB;QACpB,mBAAmB,CAAC;YAClB,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,6BAA6B;YAC/D,cAAc,EACZ,OAAO,CAAC,oBAAoB,IAAI,iDAAiD;YACnF,cAAc,EAAE,OAAO,CAAC,oBAAoB,IAAI,mBAAmB;SACpE,CAAC;KACH,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"kmp.d.ts","sourceRoot":"","sources":["../../presets/kmp.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAUrE,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAA;AAmBrC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAClE,SAAS,EAAE,CAuOb"}
1
+ {"version":3,"file":"kmp.d.ts","sourceRoot":"","sources":["../../presets/kmp.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAUrE,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,8BAA8B,CAAA;AAsBrC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAClE,SAAS,EAAE,CAqPb"}
@@ -22,7 +22,7 @@ import { enforceKotlinTdd } from '../internal/kotlin-tdd.js';
22
22
  import { enforceAcceptanceLanguage, withAcceptanceLanguageFastPath, } from '../rules/acceptance-language.js';
23
23
  import { enforceSpecTestParity, requireSpecBackedAcceptanceTest, surfaceScenarioLinkBreakage, } from '../rules/spec-test-parity.js';
24
24
  import { surfaceGlossaryTermBreakage } from '../rules/ubiquitous-language.js';
25
- import { enforceProbeReversion, forbidNewAmbientEffects, GRADLE_TEST_COMMAND, KOTLIN_BOUNDARY_ADDENDUM, KOTLIN_INFRASTRUCTURE_IMPORTS, MOCKING_LIBRARY_IMPORTS, requireGreenTestRun, withKotlinFastPath, withMutationProbe, withTelemetryFastPath, } from '../rules/kotlin.js';
25
+ import { enforceCharacterizationResolution, enforceProbeReversion, forbidNewAmbientEffects, GRADLE_TEST_COMMAND, KOTLIN_BOUNDARY_ADDENDUM, KOTLIN_INFRASTRUCTURE_IMPORTS, KOTLIN_TEST_SOURCE_PATTERN, MOCKING_LIBRARY_IMPORTS, requireGreenTestRun, withCharacterizationTest, withKotlinFastPath, withMutationProbe, withTelemetryFastPath, } from '../rules/kotlin.js';
26
26
  import { enforceAdapterObservability, enforcePortsBoundary, } from '../rules/ports-and-adapters.js';
27
27
  /**
28
28
  * The rule entries, as a factory over the project root. Probity only
@@ -136,7 +136,12 @@ export function kmpRuleEntries(root, parity) {
136
136
  // lets a write marked `// probity: mutation-probe` (a deliberate
137
137
  // break proving a retrofitted test bites) through without a
138
138
  // red-before-green demand — enforceProbeReversion below blocks
139
- // commits until the probe is reverted.
139
+ // commits until the probe is reverted. The characterization
140
+ // wrapper sanctions a test for behavior production already has
141
+ // (born green, so no red can precede it): a test-source write
142
+ // marked `// probity: characterization` passes, and
143
+ // enforceCharacterizationResolution below blocks commits until the
144
+ // marker comes off through a recorded red under a mutation probe.
140
145
  {
141
146
  files: [
142
147
  '**/src/*Main/kotlin/**',
@@ -149,7 +154,7 @@ export function kmpRuleEntries(root, parity) {
149
154
  // adapter-observability rule must not be judged as unasserted
150
155
  // behavior by the TDD gate.
151
156
  rules: [
152
- withMutationProbe(withTelemetryFastPath(withKotlinFastPath(enforceKotlinTdd()))),
157
+ withCharacterizationTest(withMutationProbe(withTelemetryFastPath(withKotlinFastPath(enforceKotlinTdd()))), { filePattern: KOTLIN_TEST_SOURCE_PATTERN }),
153
158
  ],
154
159
  },
155
160
  // Boundaries: ports-and-adapters. The Dependency Rule judgments
@@ -244,6 +249,11 @@ export function kmpRuleEntries(root, parity) {
244
249
  // while a `probity: mutation-probe` marker is still on disk —
245
250
  // reverting the mutation removes the marker with it.
246
251
  enforceProbeReversion({ roots: [root] }),
252
+ // The commit half of the characterization round-trip: no commit
253
+ // while a `probity: characterization` marker is still on disk —
254
+ // the marker only comes off once the transcript records the
255
+ // marked test failing under a mutation probe.
256
+ enforceCharacterizationResolution({ roots: [root] }),
247
257
  // Accepts test/test...Test, :desktop:jvmTest, allTests,
248
258
  // build, and check. The latest matching run must carry BUILD
249
259
  // SUCCESSFUL or a trustworthy Kiro zero status.
@@ -1 +1 @@
1
- {"version":3,"file":"kmp.js","sourceRoot":"","sources":["../../presets/kmp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kmp.js","sourceRoot":"","sources":["../../presets/kmp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kotlin.d.ts","sourceRoot":"","sources":["../../presets/kotlin.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAyBrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAGhD,MAAM,MAAM,mBAAmB,GAAG;IAChC;;iDAE6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;kEAE8D;IAC9D,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,uEAAuE;IACvE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;oDACgD;IAChD,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,KAAK,CAAA;IAC3B;sCACkC;IAClC,uBAAuB,CAAC,EAAE,KAAK,CAAA;IAC/B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,oEAAoE;IACpE,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,SAAS,EAAE,CA+J9F"}
1
+ {"version":3,"file":"kotlin.d.ts","sourceRoot":"","sources":["../../presets/kotlin.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AA4BrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAGhD,MAAM,MAAM,mBAAmB,GAAG;IAChC;;iDAE6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;kEAE8D;IAC9D,SAAS,CAAC,EAAE,KAAK,CAAA;IACjB,uEAAuE;IACvE,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;oDACgD;IAChD,eAAe,CAAC,EAAE,KAAK,CAAA;IACvB,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,KAAK,CAAA;IAC3B;sCACkC;IAClC,uBAAuB,CAAC,EAAE,KAAK,CAAA;IAC/B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,oEAAoE;IACpE,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,SAAS,EAAE,CA4K9F"}
@@ -17,7 +17,7 @@ import { join } from 'node:path';
17
17
  import { forbidContentPattern } from '@nizos/probity';
18
18
  import { enforceKotlinTdd } from '../internal/kotlin-tdd.js';
19
19
  import { enforceAcceptanceLanguage, withAcceptanceLanguageFastPath, } from '../rules/acceptance-language.js';
20
- import { enforceProbeReversion, forbidNewAmbientEffects, forbidStaticMocks, GRADLE_TEST_COMMAND, KOTLIN_BOUNDARY_ADDENDUM, KOTLIN_INFRASTRUCTURE_IMPORTS, requireGreenTestRun, withKotlinFastPath, withMutationProbe, withTelemetryFastPath, } from '../rules/kotlin.js';
20
+ import { enforceCharacterizationResolution, enforceProbeReversion, forbidNewAmbientEffects, forbidStaticMocks, GRADLE_TEST_COMMAND, KOTLIN_BOUNDARY_ADDENDUM, KOTLIN_INFRASTRUCTURE_IMPORTS, KOTLIN_TEST_SOURCE_PATTERN, requireGreenTestRun, withCharacterizationTest, withKotlinFastPath, withMutationProbe, withTelemetryFastPath, } from '../rules/kotlin.js';
21
21
  import { enforceAdapterObservability, enforcePortsBoundary, } from '../rules/ports-and-adapters.js';
22
22
  import { requireSpecBackedAcceptanceTest } from '../rules/spec-test-parity.js';
23
23
  import { surfaceGlossaryTermBreakage } from '../rules/ubiquitous-language.js';
@@ -118,12 +118,16 @@ export function kotlinRuleEntries(root, options = {}) {
118
118
  // allowed) passes without an AI call. Its parser ships as optional
119
119
  // dependencies; unavailable parser support delegates to
120
120
  // enforceKotlinTdd with an explicit diagnostic and a bounded history.
121
+ // The characterization wrapper sanctions a test for behavior
122
+ // production already has (born green): a test-source write marked
123
+ // `// probity: characterization` passes, and the commit gate below
124
+ // holds the marker until a mutation probe shows that test failing.
121
125
  {
122
126
  files: tddGlobs,
123
127
  // Telemetry-only additions pass deterministically — see the
124
128
  // KMP preset's note on the TDD/observability tension.
125
129
  rules: [
126
- withMutationProbe(withTelemetryFastPath(withKotlinFastPath(enforceKotlinTdd()))),
130
+ withCharacterizationTest(withMutationProbe(withTelemetryFastPath(withKotlinFastPath(enforceKotlinTdd()))), { filePattern: KOTLIN_TEST_SOURCE_PATTERN }),
127
131
  ],
128
132
  },
129
133
  // Boundaries: ports-and-adapters. The Dependency Rule judgments
@@ -162,6 +166,11 @@ export function kotlinRuleEntries(root, options = {}) {
162
166
  // while a `probity: mutation-probe` marker is still on disk —
163
167
  // reverting the mutation removes the marker with it.
164
168
  enforceProbeReversion({ roots: [root] }),
169
+ // The commit half of the characterization round-trip: no commit
170
+ // while a `probity: characterization` marker is still on disk —
171
+ // the marker only comes off once the transcript records the
172
+ // marked test failing under a mutation probe.
173
+ enforceCharacterizationResolution({ roots: [root] }),
165
174
  // No commit on an unverified tree. The default accepts test/
166
175
  // test...Test, allTests, jvmTest, build, and check; a custom
167
176
  // commitCommand replaces that task policy. The latest matching run
@@ -1 +1 @@
1
- {"version":3,"file":"kotlin.js","sourceRoot":"","sources":["../../presets/kotlin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kotlin.js","sourceRoot":"","sources":["../../presets/kotlin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../presets/swift.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AA6CjF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAmR1D"}
1
+ {"version":3,"file":"swift.d.ts","sourceRoot":"","sources":["../../presets/swift.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAmDjF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAwR1D"}
@@ -22,12 +22,16 @@ import { enforceAdapterObservability, enforcePortsBoundary, } from '../rules/por
22
22
  import { enforceSpecTestParity, requireSpecBackedAcceptanceTest, surfaceScenarioLinkBreakage, } from '../rules/spec-test-parity.js';
23
23
  import { SWIFT_FIXED_SLEEPS, SWIFT_PROBE_FILE_PATTERN, XCODEBUILD_TEST_COMMAND, XCODEBUILD_TEST_FAILED, XCODEBUILD_TEST_SUCCEEDED, XCUITEST_MECHANICS, } from '../rules/swift.js';
24
24
  import { surfaceGlossaryTermBreakage } from '../rules/ubiquitous-language.js';
25
+ import { withJudgeFailureDiagnostics } from '../rules/gates.js';
25
26
  // Acceptance test files live under AcceptanceTests/ (capital A) — the
26
27
  // parity scanners' default pattern expects a lowercase `acceptance/`
27
28
  // segment, so every spec-traceability rule below overrides it.
28
29
  const ACCEPTANCE_TEST_FILES = /AcceptanceTests[/\\]/;
29
30
  // Swift telemetry lines the fast-path recognizes as complete
30
31
  // single-line instrumentation (SudoLogging-style logger calls).
32
+ const SWIFT_DETERMINISTIC_PATHS = 'Writes that never call the judge still go through: telemetry-only ' +
33
+ 'lines, writes marked `// probity: mutation-probe`, and AcceptanceTests ' +
34
+ 'writes marked `// probity: characterization`.';
31
35
  const SWIFT_TELEMETRY_LINES = [
32
36
  /^[\w.]*logger\.(?:event|info|debug|error|warning)\(.*\)$/i,
33
37
  ];
@@ -159,7 +163,9 @@ export function swiftRuleEntries(root) {
159
163
  // where that test failed under a mutation probe). The
160
164
  // resolution gate below blocks commits while a marker is on
161
165
  // disk, so the bypass is a round-trip, not an exemption.
162
- withInverseScenarioGuidance(withCharacterizationTest(withMutationProbe(withTelemetryFastPath(enforceTdd(), {
166
+ withInverseScenarioGuidance(withCharacterizationTest(withMutationProbe(withTelemetryFastPath(withJudgeFailureDiagnostics(enforceTdd(), {
167
+ deterministicPaths: SWIFT_DETERMINISTIC_PATHS,
168
+ }), {
163
169
  patterns: SWIFT_TELEMETRY_LINES,
164
170
  filePattern: /\.swift$/,
165
171
  })), { filePattern: /AcceptanceTests[/\\]/ }), { filePattern: /App[/\\]Sources[/\\]Acceptance[/\\]/ }),
@@ -1 +1 @@
1
- {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../presets/swift.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAkB,MAAM,gBAAgB,CAAA;AAEjF,OAAO,EACL,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,iCAAiC,EACjC,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAA;AAE7E,sEAAsE;AACtE,qEAAqE;AACrE,+DAA+D;AAC/D,MAAM,qBAAqB,GAAG,sBAAsB,CAAA;AAEpD,6DAA6D;AAC7D,gEAAgE;AAChE,MAAM,qBAAqB,GAAG;IAC5B,2DAA2D;CAC5D,CAAA;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAA;IAE/C,oEAAoE;IACpE,+DAA+D;IAC/D,iEAAiE;IACjE,UAAU;IAEV,OAAO;QACL,oEAAoE;QAEpE,+DAA+D;QAC/D,2CAA2C;QAC3C,4CAA4C;QAC5C;YACE,KAAK,EAAE,CAAC,oBAAoB,CAAC;YAC7B,KAAK,EAAE;gBACL,oBAAoB,CAAC;oBACnB,KAAK,EAAE,kBAAkB;oBACzB,MAAM,EACJ,yDAAyD;wBACzD,uDAAuD;wBACvD,2CAA2C;wBAC3C,yDAAyD;wBACzD,8BAA8B;iBACjC,CAAC;aACH;SACF;QAED,6DAA6D;QAC7D,+DAA+D;QAC/D,+DAA+D;QAC/D;YACE,KAAK,EAAE;gBACL,0BAA0B;gBAC1B,8BAA8B;gBAC9B,wBAAwB;gBACxB,8BAA8B;aAC/B;YACD,KAAK,EAAE;gBACL,oBAAoB,CAAC;oBACnB,KAAK,EAAE,kBAAkB;oBACzB,MAAM,EACJ,+DAA+D;wBAC/D,4DAA4D;wBAC5D,4DAA4D;wBAC5D,2DAA2D;wBAC3D,SAAS;iBACZ,CAAC;aACH;SACF;QAED,+DAA+D;QAC/D,qDAAqD;QACrD,iEAAiE;QACjE,iEAAiE;QACjE,8DAA8D;QAC9D,4DAA4D;QAC5D,gEAAgE;QAChE,kEAAkE;QAClE,+DAA+D;QAC/D,+DAA+D;QAC/D,4DAA4D;QAC5D,+DAA+D;QAC/D;YACE,KAAK,EAAE,CAAC,oBAAoB,CAAC;YAC7B,KAAK,EAAE;gBACL,+BAA+B,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;aACxE;SACF;QAED,kEAAkE;QAClE,mEAAmE;QACnE,0CAA0C;QAC1C;YACE,KAAK,EAAE,CAAC,4BAA4B,CAAC;YACrC,KAAK,EAAE;gBACL,2BAA2B,CAAC;oBAC1B,SAAS,EAAE,CAAC,IAAI,CAAC;oBACjB,eAAe,EAAE,qBAAqB;iBACvC,CAAC;aACH;SACF;QAED,kEAAkE;QAClE,gEAAgE;QAChE,0BAA0B;QAC1B;YACE,KAAK,EAAE,CAAC,kBAAkB,CAAC;YAC3B,KAAK,EAAE,CAAC,2BAA2B,CAAC,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC9D;QAED,oEAAoE;QAEpE,+DAA+D;QAC/D,yDAAyD;QACzD,iDAAiD;QACjD,+DAA+D;QAC/D,4DAA4D;QAC5D,kEAAkE;QAClE,+DAA+D;QAC/D,sDAAsD;QACtD,+DAA+D;QAC/D,+BAA+B;QAC/B,kEAAkE;QAClE,iEAAiE;QACjE,kEAAkE;QAClE,yBAAyB;QACzB;YACE,KAAK,EAAE;gBACL,aAAa;gBACb,gBAAgB;gBAChB,oBAAoB;gBACpB,wBAAwB;aACzB;YACD,KAAK,EAAE;gBACL,+DAA+D;gBAC/D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,0DAA0D;gBAC1D,4DAA4D;gBAC5D,8DAA8D;gBAC9D,0DAA0D;gBAC1D,YAAY;gBACZ,4DAA4D;gBAC5D,0DAA0D;gBAC1D,0DAA0D;gBAC1D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,sDAAsD;gBACtD,4DAA4D;gBAC5D,yDAAyD;gBACzD,2BAA2B,CACzB,wBAAwB,CACtB,iBAAiB,CACf,qBAAqB,CAAC,UAAU,EAAE,EAAE;oBAClC,QAAQ,EAAE,qBAAqB;oBAC/B,WAAW,EAAE,UAAU;iBACxB,CAAC,CACH,EACD,EAAE,WAAW,EAAE,sBAAsB,EAAE,CACxC,EACD,EAAE,WAAW,EAAE,qCAAqC,EAAE,CACvD;aACF;SACF;QAED,8DAA8D;QAC9D,2DAA2D;QAC3D,6DAA6D;QAC7D,6DAA6D;QAC7D,8DAA8D;QAC9D,iEAAiE;QACjE,qDAAqD;QACrD;YACE,KAAK,EAAE,CAAC,4BAA4B,EAAE,2BAA2B,CAAC;YAClE,KAAK,EAAE,CAAC,8BAA8B,EAAE,CAAC;SAC1C;QAED,kEAAkE;QAClE,0DAA0D;QAC1D,kEAAkE;QAClE,iEAAiE;QACjE,qCAAqC;QACrC;YACE,KAAK,EAAE,CAAC,wBAAwB,EAAE,oCAAoC,CAAC;YACvE,KAAK,EAAE,CAAC,oBAAoB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC1D;QAED,iEAAiE;QACjE,iEAAiE;QACjE,yDAAyD;QACzD,iBAAiB;QACjB;YACE,KAAK,EAAE;gBACL,4BAA4B;gBAC5B,4BAA4B;gBAC5B,6BAA6B;aAC9B;YACD,KAAK,EAAE;gBACL,qBAAqB,CACnB,2BAA2B,CAAC;oBAC1B,cAAc,EACZ,wDAAwD;wBACxD,yDAAyD;wBACzD,sDAAsD;wBACtD,sDAAsD;wBACtD,eAAe;iBAClB,CAAC,EACF,EAAE,QAAQ,EAAE,qBAAqB,EAAE,WAAW,EAAE,UAAU,EAAE,CAC7D;aACF;SACF;QAED,gEAAgE;QAChE,kEAAkE;QAClE,8DAA8D;QAC9D,yDAAyD;QACzD,2DAA2D;QAC3D;YACE,KAAK,EAAE;gBACL,4BAA4B;gBAC5B,0BAA0B;gBAC1B,8BAA8B;gBAC9B,8BAA8B;gBAC9B,wBAAwB;aACzB;YACD,KAAK,EAAE,CAAC,yBAAyB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;SAC/D;QAED,oEAAoE;QAEpE,iEAAiE;QACjE,iEAAiE;QACjE,8DAA8D;QAC9D,wDAAwD;QACxD,4DAA4D;QAC5D,+DAA+D;QAC/D,mEAAmE;QACnE,gEAAgE;QAChE,iEAAiE;QACjE,+DAA+D;QAC/D,gEAAgE;QAChE,8DAA8D;QAC9D,gEAAgE;QAChE,kEAAkE;QAClE,qBAAqB,CAAC;YACpB,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;YAClC,SAAS,EAAE,CAAC,IAAI,CAAC;YACjB,eAAe,EAAE,qBAAqB;YACtC,YAAY,EAAE,IAAI,CAAC,IAAI,EAAE,6BAA6B,CAAC;YACvD,kBAAkB;YAClB,uEAAuE;YACvE,8EAA8E;YAC9E,KAAK;YACL,gCAAgC;SACjC,CAAC;QAEF,8DAA8D;QAC9D,6DAA6D;QAC7D,qBAAqB,CAAC;YACpB,KAAK,EAAE,CAAC,IAAI,CAAC;YACb,WAAW,EAAE,wBAAwB;SACtC,CAAC;QAEF,gEAAgE;QAChE,gEAAgE;QAChE,4DAA4D;QAC5D,8CAA8C;QAC9C,iCAAiC,CAAC;YAChC,KAAK,EAAE,CAAC,IAAI,CAAC;YACb,WAAW,EAAE,wBAAwB;SACtC,CAAC;QAEF,+DAA+D;QAC/D,+DAA+D;QAC/D,kEAAkE;QAClE,2DAA2D;QAC3D,gEAAgE;QAChE,iEAAiE;QACjE,gEAAgE;QAChE,gEAAgE;QAChE,+DAA+D;QAC/D,4CAA4C;QAC5C,8DAA8D;QAC9D,kEAAkE;QAClE,mEAAmE;QACnE,8DAA8D;QAC9D,mBAAmB,CAAC;YAClB,OAAO,EAAE,uBAAuB;YAChC,cAAc,EAAE,yBAAyB;YACzC,cAAc,EAAE,sBAAsB;YACtC,eAAe,EAAE,gDAAgD;SAClE,CAAC;KACH,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../presets/swift.ts"],"names":[],"mappings":"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"}
@@ -139,4 +139,34 @@ export declare function surfaceRemovedStringUsage(options: {
139
139
  searchPattern?: RegExp;
140
140
  minLength?: number;
141
141
  }): Rule;
142
+ /**
143
+ * Wraps an AI-validated rule so that a judge that returned no verdict
144
+ * — a billing/spend-limit notice, an auth error, empty or non-JSON
145
+ * output — is reported as an infrastructure failure instead of reading
146
+ * as a policy verdict on the write.
147
+ *
148
+ * Why: Probity fails closed when it cannot parse the judge's output,
149
+ * which is correct, but the deny text ("could not parse verdict from
150
+ * validator output: You've hit your org's monthly spend limit…") looks
151
+ * like a rejection of the change. Agents respond by rewording or
152
+ * splitting the write and retrying, which cannot help. The rewritten
153
+ * reason names the judge, says the write itself was not judged, and
154
+ * points at the fix (restore the provider) and at the deterministic
155
+ * paths that never call the judge.
156
+ *
157
+ * The verdict is unchanged — the write is still blocked. Only the
158
+ * reason text of a judge-failure violation is rewritten; genuine
159
+ * verdicts and passes pass through untouched. The wrapper keeps the
160
+ * wrapped rule's name, so traces and block reports still identify the
161
+ * rule that failed.
162
+ *
163
+ * @param rule — the AI-validated rule to wrap.
164
+ * @param options.deterministicPaths — sentence listing the writes this
165
+ * rule stack passes without calling the judge (e.g. single-test
166
+ * fast paths), appended to the deny text so an agent can keep
167
+ * working while the provider is down.
168
+ */
169
+ export declare function withJudgeFailureDiagnostics(rule: Rule, options?: {
170
+ deterministicPaths?: string;
171
+ }): Rule;
142
172
  //# sourceMappingURL=gates.d.ts.map
@@ -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"}
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;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5C,IAAI,CAkCN"}
@@ -303,4 +303,74 @@ export function surfaceRemovedStringUsage(options) {
303
303
  };
304
304
  };
305
305
  }
306
+ // Reasons Probity's verdict plumbing produces when the AI judge never
307
+ // returned a verdict at all — the validator's raw output was not JSON,
308
+ // had the wrong shape, or the SDK stream produced no result. None of
309
+ // these is a code-policy judgment of the pending write.
310
+ const JUDGE_FAILURE_REASON = /^(?:could not parse verdict from validator output|validator returned unexpected shape|expected string result from validator|no result message received|enforceTdd: no AI agent available)/;
311
+ // Provider messages that mean "no service" rather than "bad output":
312
+ // spend/credit limits, quota, rate limits, and auth failures.
313
+ 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;
314
+ const JUDGE_OUTPUT_EXCERPT = 300;
315
+ /**
316
+ * Wraps an AI-validated rule so that a judge that returned no verdict
317
+ * — a billing/spend-limit notice, an auth error, empty or non-JSON
318
+ * output — is reported as an infrastructure failure instead of reading
319
+ * as a policy verdict on the write.
320
+ *
321
+ * Why: Probity fails closed when it cannot parse the judge's output,
322
+ * which is correct, but the deny text ("could not parse verdict from
323
+ * validator output: You've hit your org's monthly spend limit…") looks
324
+ * like a rejection of the change. Agents respond by rewording or
325
+ * splitting the write and retrying, which cannot help. The rewritten
326
+ * reason names the judge, says the write itself was not judged, and
327
+ * points at the fix (restore the provider) and at the deterministic
328
+ * paths that never call the judge.
329
+ *
330
+ * The verdict is unchanged — the write is still blocked. Only the
331
+ * reason text of a judge-failure violation is rewritten; genuine
332
+ * verdicts and passes pass through untouched. The wrapper keeps the
333
+ * wrapped rule's name, so traces and block reports still identify the
334
+ * rule that failed.
335
+ *
336
+ * @param rule — the AI-validated rule to wrap.
337
+ * @param options.deterministicPaths — sentence listing the writes this
338
+ * rule stack passes without calling the judge (e.g. single-test
339
+ * fast paths), appended to the deny text so an agent can keep
340
+ * working while the provider is down.
341
+ */
342
+ export function withJudgeFailureDiagnostics(rule, options = {}) {
343
+ const wrapped = async function judgeFailureDiagnostics(action, ctx) {
344
+ const result = await rule(action, ctx);
345
+ if (result.kind !== 'violation')
346
+ return result;
347
+ const reason = result.reason ?? '';
348
+ if (!JUDGE_FAILURE_REASON.test(reason))
349
+ return result;
350
+ const output = reason.replace(JUDGE_FAILURE_REASON, '').replace(/^\s*:/, '').trim();
351
+ const excerpt = output.length > JUDGE_OUTPUT_EXCERPT
352
+ ? `${output.slice(0, JUDGE_OUTPUT_EXCERPT)}…`
353
+ : output;
354
+ const lines = [
355
+ `Probity's AI judge (${rule.name || 'rule'}) returned no verdict, so ` +
356
+ 'this write was NOT judged — this is an infrastructure failure, not ' +
357
+ 'a policy decision about your change. The write stays blocked ' +
358
+ '(fail closed). Rewording, splitting, or retrying the same write ' +
359
+ 'will not help until the judge is back.',
360
+ PROVIDER_UNAVAILABLE.test(output)
361
+ ? 'The judge provider reports it is unavailable (spend limit, ' +
362
+ 'quota, rate limit, or authentication). Restore service — e.g. ' +
363
+ 'raise the limit (/usage-credits) or fix the credentials Probity ' +
364
+ 'runs with — then retry.'
365
+ : 'Check the judge provider (auth, network, model availability), ' +
366
+ 'then retry.',
367
+ ];
368
+ if (options.deterministicPaths)
369
+ lines.push(options.deterministicPaths);
370
+ lines.push('Do not bypass the hook. Judge output: ' + (excerpt || '(empty)'));
371
+ return { ...result, reason: lines.join('\n\n') };
372
+ };
373
+ Object.defineProperty(wrapped, 'name', { value: rule.name || 'rule' });
374
+ return wrapped;
375
+ }
306
376
  //# 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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"}
@@ -84,6 +84,13 @@ export declare function forbidNewAmbientEffects(options?: {
84
84
  seamHint?: string;
85
85
  patterns?: NamedPattern[];
86
86
  }): Rule;
87
+ /**
88
+ * Any Kotlin/Android test source set — classic `src/test`, and every
89
+ * `src/<name>Test` set (androidTest, sharedTest, commonTest, jvmTest,
90
+ * androidUnitTest, …). The boundary the Kotlin presets give
91
+ * {@link withCharacterizationTest}: the marker only works in test code.
92
+ */
93
+ export declare const KOTLIN_TEST_SOURCE_PATTERN: RegExp;
87
94
  /**
88
95
  * Kotlin equivalent of `enforceTdd({ fastPath: true })`, which Probity
89
96
  * only implements for TS/JS/Python/C#/Ruby/PHP: wraps a rule so that a
@@ -295,6 +302,11 @@ export declare const CHARACTERIZATION_MARKER: RegExp;
295
302
  * every transcript gate: reds observed in another terminal or CI are
296
303
  * invisible — run the probe in-session.
297
304
  *
305
+ * Discoverability: when the wrapped rule denies an unmarked test-layer
306
+ * write for lacking a red, the deny text gains a note naming the
307
+ * marker, so an agent pinning existing behavior learns the sanctioned
308
+ * route at the point it is blocked instead of breaking production.
309
+ *
298
310
  * @param rule — the TDD rule to wrap (fast-paths/probe wrappers
299
311
  * included as usual).
300
312
  * @param options.filePattern — paths that hold test code (e.g.
@@ -1 +1 @@
1
- {"version":3,"file":"kotlin.d.ts","sourceRoot":"","sources":["../../rules/kotlin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,IAAI,EAA2B,MAAM,gBAAgB,CAAA;AAE3E,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;GASG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,QACoV,CAAA;AAE9X;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QACoB,CAAA;AAExD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,QAC+D,CAAA;AAsB/F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAsBxC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;CAAO,GAC7D,IAAI,CAON;AAyYD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/D,IAAI,CAiGN;AAwMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,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,CAqBP;AAUD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1D,IAAI,CAmCN;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAA8B,CAAA;AA+BhE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAclD;AAmCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/B,IAAI,CAqCN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,IAAI,CA6BP;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,QAAkC,CAAA;AA8BtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/B,IAAI,CA4DN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE;IACzD,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,IAAI,CA+BP;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,0zDAkC4B,CAAA"}
1
+ {"version":3,"file":"kotlin.d.ts","sourceRoot":"","sources":["../../rules/kotlin.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAU,IAAI,EAA2B,MAAM,gBAAgB,CAAA;AAE3E,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;GASG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,QACoV,CAAA;AAE9X;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QACoB,CAAA;AAExD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB,QAC+D,CAAA;AAsB/F;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAsBxC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;CAAO,GAC7D,IAAI,CAON;AAwCD;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,QACc,CAAA;AAmWrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/D,IAAI,CAiGN;AAwMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,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,CAqBP;AAUD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1D,IAAI,CAmCN;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAA8B,CAAA;AA+BhE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAclD;AAmCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/B,IAAI,CAqCN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,IAAI,CA6BP;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,QAAkC,CAAA;AAqDtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/B,IAAI,CAsEN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE;IACzD,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,GAAG,IAAI,CA+BP;AAED;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,0zDAkC4B,CAAA"}
@@ -143,6 +143,13 @@ const KOTLIN_TEST_PATTERNS = [
143
143
  },
144
144
  ];
145
145
  const KOTLIN_TEST_FILE_PATTERN = /(?:^|\/)src\/(?:test|[A-Za-z0-9]+Test)\/(?:java|kotlin)\//;
146
+ /**
147
+ * Any Kotlin/Android test source set — classic `src/test`, and every
148
+ * `src/<name>Test` set (androidTest, sharedTest, commonTest, jvmTest,
149
+ * androidUnitTest, …). The boundary the Kotlin presets give
150
+ * {@link withCharacterizationTest}: the marker only works in test code.
151
+ */
152
+ export const KOTLIN_TEST_SOURCE_PATTERN = /(?:^|[/\\])src[/\\](?:test|[A-Za-z0-9]+Test)[/\\]/;
146
153
  let astGrep;
147
154
  function loadKotlinAstGrep() {
148
155
  if (astGrep !== undefined)
@@ -985,7 +992,10 @@ export function enforceProbeReversion(options) {
985
992
  * func testSignedInUserWithoutAnEntitlementIsOfferedPlans() async { … }
986
993
  */
987
994
  export const CHARACTERIZATION_MARKER = /probity:\s*characterization\b/;
988
- const FUNCTION_NAME = /(?:func|fun)\s+`?([A-Za-z_]\w*)/;
995
+ // Kotlin test names are often backticked sentences
996
+ // (fun `rejects blank ids`()); capture the whole name so the removal
997
+ // proof looks for that test, not its first word.
998
+ const FUNCTION_NAME = /(?:func|fun)\s+(?:`([^`]+)`|([A-Za-z_]\w*))/;
989
999
  /** Test names whose characterization markers this write removes,
990
1000
  * paired with `null` when a marker can't be tied to a function. */
991
1001
  function removedMarkerTests(before, after) {
@@ -998,7 +1008,7 @@ function removedMarkerTests(before, after) {
998
1008
  for (let scan = index; scan < Math.min(index + 6, lines.length); scan++) {
999
1009
  const match = lines[scan].match(FUNCTION_NAME);
1000
1010
  if (match) {
1001
- found.push(match[1]);
1011
+ found.push((match[1] ?? match[2]));
1002
1012
  return;
1003
1013
  }
1004
1014
  }
@@ -1009,6 +1019,20 @@ function removedMarkerTests(before, after) {
1009
1019
  const remaining = new Set(names(after).filter(Boolean));
1010
1020
  return names(before).filter((name) => name === null || !remaining.has(name));
1011
1021
  }
1022
+ // A test-layer denial that asks for a red the test can never have —
1023
+ // the behavior already exists, so the test is born green. Broader than
1024
+ // MISSING_RED_REASON: judges phrase this as "must be observed failing
1025
+ // first" or "treats this as new behavior".
1026
+ const CHARACTERIZATION_CANDIDATE_REASON = new RegExp(`${MISSING_RED_REASON.source}|observed? (?:it |the test |to )?fail|fail(?:ing|s)? first|red first|new (?:unimplemented )?behaviou?r|existing behaviou?r|already (?:implemented|exists|passes|satisf)`, 'i');
1027
+ const CHARACTERIZATION_HINT = 'Note: if this test pins behavior production ALREADY has (a ' +
1028
+ 'characterization or regression test — e.g. covering a branch a ' +
1029
+ 'mutation review found untested), no honest red can precede it. Put ' +
1030
+ '`// probity: characterization` in a comment directly above the test ' +
1031
+ 'function and retry: the write passes, then prove the test bites — ' +
1032
+ 'mutation-probe the production path (`// probity: mutation-probe`), ' +
1033
+ 'run the test and watch it fail, revert the probe, remove the marker. ' +
1034
+ 'Commits are blocked while the marker is on disk. Do not break ' +
1035
+ 'production to manufacture a red.';
1012
1036
  /**
1013
1037
  * Wraps a TDD rule to sanction the **characterization round-trip** —
1014
1038
  * the only honest way to add the FIRST test for behavior that predates
@@ -1039,6 +1063,11 @@ function removedMarkerTests(before, after) {
1039
1063
  * every transcript gate: reds observed in another terminal or CI are
1040
1064
  * invisible — run the probe in-session.
1041
1065
  *
1066
+ * Discoverability: when the wrapped rule denies an unmarked test-layer
1067
+ * write for lacking a red, the deny text gains a note naming the
1068
+ * marker, so an agent pinning existing behavior learns the sanctioned
1069
+ * route at the point it is blocked instead of breaking production.
1070
+ *
1042
1071
  * @param rule — the TDD rule to wrap (fast-paths/probe wrappers
1043
1072
  * included as usual).
1044
1073
  * @param options.filePattern — paths that hold test code (e.g.
@@ -1087,7 +1116,15 @@ export function withCharacterizationTest(rule, options) {
1087
1116
  if (markerRemains) {
1088
1117
  return { kind: 'pass', notes: [{ kind: 'characterization' }] };
1089
1118
  }
1090
- return rule(action, ctx);
1119
+ const result = await rule(action, ctx);
1120
+ if (result.kind === 'violation' &&
1121
+ CHARACTERIZATION_CANDIDATE_REASON.test(result.reason ?? '')) {
1122
+ return {
1123
+ ...result,
1124
+ reason: `${result.reason}\n\n${CHARACTERIZATION_HINT}`,
1125
+ };
1126
+ }
1127
+ return result;
1091
1128
  };
1092
1129
  Object.defineProperty(wrapped, 'name', {
1093
1130
  value: `characterizationTest(${rule.name || 'rule'})`,
@@ -1 +1 @@
1
- {"version":3,"file":"kotlin.js","sourceRoot":"","sources":["../../rules/kotlin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kotlin.js","sourceRoot":"","sources":["../../rules/kotlin.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  * notices. This report surfaces both at setup time:
13
13
  *
14
14
  * - DEAD SCOPE: a block whose globs match zero files
15
- * - core-purity rules claiming adapter/DI/UI-looking paths
15
+ * - core-purity rules claiming adapter/DI/UI-looking production paths
16
16
  * - the acceptance-language rule claiming Robot/driver/DSL files
17
17
  *
18
18
  * Globs are resolved exactly as Probity resolves them — anchoring and
@@ -55,6 +55,14 @@ const SAMPLE_LIMIT = 6;
55
55
  // review, not proof of misconfiguration.
56
56
  const CORE_RULES = /PortsBoundary|forbidNewAmbientEffects|forbidContentPattern/;
57
57
  const ADAPTERISH_SEGMENT = /^(adapter|adapters|infra|infrastructure|ui|di)$/;
58
+ // Core purity is about production code. Test files are skipped by that
59
+ // check: a test-wide screen (e.g. forbidContentPattern banning mocking
60
+ // libraries) is meant to cover adapter tests too, and "exclude them"
61
+ // would weaken it. Test source sets: src/test, src/<name>Test
62
+ // (commonTest, androidTest, …), Tests/__tests__ dirs, Xcode *Tests
63
+ // targets, and *Test/*Spec/*.test/*.spec files.
64
+ const TEST_DIR_SEGMENT = /^(?:tests?|__tests__|specs?|[A-Za-z0-9]+Tests?)$/;
65
+ const TEST_FILE = /(?:Tests?|Spec)\.\w+$|\.(?:test|spec)\.\w+$/;
58
66
  const LANGUAGE_RULES = /AcceptanceLanguage/;
59
67
  const DRIVERISH_FILE = /(Robot|Driver|Dsl)\.\w+$|[/\\](drivers?|dsl)[/\\]/;
60
68
  function parseArgs(argv) {
@@ -151,7 +159,12 @@ for (const [index, entry] of config.rules.entries()) {
151
159
  'Adjust the globs to your layout (this is the silent failure mode).');
152
160
  }
153
161
  if (CORE_RULES.test(ruleNames(entry))) {
154
- const suspicious = matched.filter((file) => relative(root, file).split(/[/\\]/).some((segment) => ADAPTERISH_SEGMENT.test(segment)));
162
+ const suspicious = matched.filter((file) => {
163
+ const segments = relative(root, file).split(/[/\\]/);
164
+ const isTest = TEST_FILE.test(segments[segments.length - 1]) ||
165
+ segments.slice(0, -1).some((segment) => TEST_DIR_SEGMENT.test(segment));
166
+ return !isTest && segments.some((segment) => ADAPTERISH_SEGMENT.test(segment));
167
+ });
155
168
  if (suspicious.length > 0) {
156
169
  warnings.push(`${label} claims ${suspicious.length} adapter/DI/UI-looking file(s), e.g. ` +
157
170
  `${relative(root, suspicious[0])} — core-purity rules pointed at adapters ` +
@@ -1 +1 @@
1
- {"version":3,"file":"scope-report.js","sourceRoot":"","sources":["../../scripts/scope-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-report.js","sourceRoot":"","sources":["../../scripts/scope-report.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.2.3",
3
+ "version": "0.3.0",
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": {