@gate-forge/core 0.1.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 (242) hide show
  1. package/LICENSE +202 -0
  2. package/dist/baselines/adoption.d.ts +76 -0
  3. package/dist/baselines/adoption.d.ts.map +1 -0
  4. package/dist/baselines/adoption.js +163 -0
  5. package/dist/baselines/adoption.js.map +1 -0
  6. package/dist/baselines/index.d.ts +102 -0
  7. package/dist/baselines/index.d.ts.map +1 -0
  8. package/dist/baselines/index.js +186 -0
  9. package/dist/baselines/index.js.map +1 -0
  10. package/dist/canonical-json.d.ts +51 -0
  11. package/dist/canonical-json.d.ts.map +1 -0
  12. package/dist/canonical-json.js +112 -0
  13. package/dist/canonical-json.js.map +1 -0
  14. package/dist/classifier/bind.d.ts +64 -0
  15. package/dist/classifier/bind.d.ts.map +1 -0
  16. package/dist/classifier/bind.js +188 -0
  17. package/dist/classifier/bind.js.map +1 -0
  18. package/dist/classifier/classify.d.ts +154 -0
  19. package/dist/classifier/classify.d.ts.map +1 -0
  20. package/dist/classifier/classify.js +1207 -0
  21. package/dist/classifier/classify.js.map +1 -0
  22. package/dist/classifier/glob.d.ts +48 -0
  23. package/dist/classifier/glob.d.ts.map +1 -0
  24. package/dist/classifier/glob.js +104 -0
  25. package/dist/classifier/glob.js.map +1 -0
  26. package/dist/classifier/index.d.ts +10 -0
  27. package/dist/classifier/index.d.ts.map +1 -0
  28. package/dist/classifier/index.js +21 -0
  29. package/dist/classifier/index.js.map +1 -0
  30. package/dist/classifier/schema.d.ts +150 -0
  31. package/dist/classifier/schema.d.ts.map +1 -0
  32. package/dist/classifier/schema.js +139 -0
  33. package/dist/classifier/schema.js.map +1 -0
  34. package/dist/config/index.d.ts +259 -0
  35. package/dist/config/index.d.ts.map +1 -0
  36. package/dist/config/index.js +523 -0
  37. package/dist/config/index.js.map +1 -0
  38. package/dist/fingerprints.d.ts +56 -0
  39. package/dist/fingerprints.d.ts.map +1 -0
  40. package/dist/fingerprints.js +59 -0
  41. package/dist/fingerprints.js.map +1 -0
  42. package/dist/graph/build.d.ts +16 -0
  43. package/dist/graph/build.d.ts.map +1 -0
  44. package/dist/graph/build.js +423 -0
  45. package/dist/graph/build.js.map +1 -0
  46. package/dist/graph/index.d.ts +12 -0
  47. package/dist/graph/index.d.ts.map +1 -0
  48. package/dist/graph/index.js +10 -0
  49. package/dist/graph/index.js.map +1 -0
  50. package/dist/graph/schema.d.ts +448 -0
  51. package/dist/graph/schema.d.ts.map +1 -0
  52. package/dist/graph/schema.js +237 -0
  53. package/dist/graph/schema.js.map +1 -0
  54. package/dist/graph/symbols.d.ts +129 -0
  55. package/dist/graph/symbols.d.ts.map +1 -0
  56. package/dist/graph/symbols.js +177 -0
  57. package/dist/graph/symbols.js.map +1 -0
  58. package/dist/graph/util.d.ts +40 -0
  59. package/dist/graph/util.d.ts.map +1 -0
  60. package/dist/graph/util.js +41 -0
  61. package/dist/graph/util.js.map +1 -0
  62. package/dist/index.d.ts +683 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +563 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/mapping/resolve.d.ts +177 -0
  67. package/dist/mapping/resolve.d.ts.map +1 -0
  68. package/dist/mapping/resolve.js +523 -0
  69. package/dist/mapping/resolve.js.map +1 -0
  70. package/dist/policy/coverage.d.ts +79 -0
  71. package/dist/policy/coverage.d.ts.map +1 -0
  72. package/dist/policy/coverage.js +119 -0
  73. package/dist/policy/coverage.js.map +1 -0
  74. package/dist/policy/evaluate.d.ts +275 -0
  75. package/dist/policy/evaluate.d.ts.map +1 -0
  76. package/dist/policy/evaluate.js +382 -0
  77. package/dist/policy/evaluate.js.map +1 -0
  78. package/dist/policy/index.d.ts +15 -0
  79. package/dist/policy/index.d.ts.map +1 -0
  80. package/dist/policy/index.js +14 -0
  81. package/dist/policy/index.js.map +1 -0
  82. package/dist/policy/trusted.d.ts +59 -0
  83. package/dist/policy/trusted.d.ts.map +1 -0
  84. package/dist/policy/trusted.js +96 -0
  85. package/dist/policy/trusted.js.map +1 -0
  86. package/dist/provenance.d.ts +170 -0
  87. package/dist/provenance.d.ts.map +1 -0
  88. package/dist/provenance.js +306 -0
  89. package/dist/provenance.js.map +1 -0
  90. package/dist/receipt/index.d.ts +74 -0
  91. package/dist/receipt/index.d.ts.map +1 -0
  92. package/dist/receipt/index.js +154 -0
  93. package/dist/receipt/index.js.map +1 -0
  94. package/dist/report/index.d.ts +100 -0
  95. package/dist/report/index.d.ts.map +1 -0
  96. package/dist/report/index.js +355 -0
  97. package/dist/report/index.js.map +1 -0
  98. package/dist/schemas/adoption.d.ts +40 -0
  99. package/dist/schemas/adoption.d.ts.map +1 -0
  100. package/dist/schemas/adoption.js +87 -0
  101. package/dist/schemas/adoption.js.map +1 -0
  102. package/dist/schemas/baseline.d.ts +19 -0
  103. package/dist/schemas/baseline.d.ts.map +1 -0
  104. package/dist/schemas/baseline.js +45 -0
  105. package/dist/schemas/baseline.js.map +1 -0
  106. package/dist/schemas/claim.d.ts +32 -0
  107. package/dist/schemas/claim.d.ts.map +1 -0
  108. package/dist/schemas/claim.js +34 -0
  109. package/dist/schemas/claim.js.map +1 -0
  110. package/dist/schemas/classification-policy.d.ts +84 -0
  111. package/dist/schemas/classification-policy.d.ts.map +1 -0
  112. package/dist/schemas/classification-policy.js +130 -0
  113. package/dist/schemas/classification-policy.js.map +1 -0
  114. package/dist/schemas/classification-signal.d.ts +125 -0
  115. package/dist/schemas/classification-signal.d.ts.map +1 -0
  116. package/dist/schemas/classification-signal.js +126 -0
  117. package/dist/schemas/classification-signal.js.map +1 -0
  118. package/dist/schemas/classification.d.ts +120 -0
  119. package/dist/schemas/classification.d.ts.map +1 -0
  120. package/dist/schemas/classification.js +154 -0
  121. package/dist/schemas/classification.js.map +1 -0
  122. package/dist/schemas/common.d.ts +73 -0
  123. package/dist/schemas/common.d.ts.map +1 -0
  124. package/dist/schemas/common.js +60 -0
  125. package/dist/schemas/common.js.map +1 -0
  126. package/dist/schemas/coverage-policy.d.ts +89 -0
  127. package/dist/schemas/coverage-policy.d.ts.map +1 -0
  128. package/dist/schemas/coverage-policy.js +81 -0
  129. package/dist/schemas/coverage-policy.js.map +1 -0
  130. package/dist/schemas/evidence.d.ts +65 -0
  131. package/dist/schemas/evidence.d.ts.map +1 -0
  132. package/dist/schemas/evidence.js +64 -0
  133. package/dist/schemas/evidence.js.map +1 -0
  134. package/dist/schemas/execution-result.d.ts +214 -0
  135. package/dist/schemas/execution-result.d.ts.map +1 -0
  136. package/dist/schemas/execution-result.js +240 -0
  137. package/dist/schemas/execution-result.js.map +1 -0
  138. package/dist/schemas/gate-receipt.d.ts +86 -0
  139. package/dist/schemas/gate-receipt.d.ts.map +1 -0
  140. package/dist/schemas/gate-receipt.js +193 -0
  141. package/dist/schemas/gate-receipt.js.map +1 -0
  142. package/dist/schemas/index.d.ts +22 -0
  143. package/dist/schemas/index.d.ts.map +1 -0
  144. package/dist/schemas/index.js +22 -0
  145. package/dist/schemas/index.js.map +1 -0
  146. package/dist/schemas/obligation.d.ts +37 -0
  147. package/dist/schemas/obligation.d.ts.map +1 -0
  148. package/dist/schemas/obligation.js +46 -0
  149. package/dist/schemas/obligation.js.map +1 -0
  150. package/dist/schemas/plugin.d.ts +19 -0
  151. package/dist/schemas/plugin.d.ts.map +1 -0
  152. package/dist/schemas/plugin.js +20 -0
  153. package/dist/schemas/plugin.js.map +1 -0
  154. package/dist/schemas/policy.d.ts +73 -0
  155. package/dist/schemas/policy.d.ts.map +1 -0
  156. package/dist/schemas/policy.js +46 -0
  157. package/dist/schemas/policy.js.map +1 -0
  158. package/dist/schemas/resource.d.ts +26 -0
  159. package/dist/schemas/resource.d.ts.map +1 -0
  160. package/dist/schemas/resource.js +29 -0
  161. package/dist/schemas/resource.js.map +1 -0
  162. package/dist/schemas/run-manifest.d.ts +72 -0
  163. package/dist/schemas/run-manifest.d.ts.map +1 -0
  164. package/dist/schemas/run-manifest.js +125 -0
  165. package/dist/schemas/run-manifest.js.map +1 -0
  166. package/dist/schemas/runner-adapter.d.ts +169 -0
  167. package/dist/schemas/runner-adapter.d.ts.map +1 -0
  168. package/dist/schemas/runner-adapter.js +2 -0
  169. package/dist/schemas/runner-adapter.js.map +1 -0
  170. package/dist/schemas/test-catalog.d.ts +472 -0
  171. package/dist/schemas/test-catalog.d.ts.map +1 -0
  172. package/dist/schemas/test-catalog.js +311 -0
  173. package/dist/schemas/test-catalog.js.map +1 -0
  174. package/dist/schemas/test-map.d.ts +99 -0
  175. package/dist/schemas/test-map.d.ts.map +1 -0
  176. package/dist/schemas/test-map.js +103 -0
  177. package/dist/schemas/test-map.js.map +1 -0
  178. package/dist/schemas/verdict.d.ts +73 -0
  179. package/dist/schemas/verdict.d.ts.map +1 -0
  180. package/dist/schemas/verdict.js +92 -0
  181. package/dist/schemas/verdict.js.map +1 -0
  182. package/dist/schemas/waiver.d.ts +36 -0
  183. package/dist/schemas/waiver.d.ts.map +1 -0
  184. package/dist/schemas/waiver.js +42 -0
  185. package/dist/schemas/waiver.js.map +1 -0
  186. package/dist/supervision/index.d.ts +170 -0
  187. package/dist/supervision/index.d.ts.map +1 -0
  188. package/dist/supervision/index.js +354 -0
  189. package/dist/supervision/index.js.map +1 -0
  190. package/dist/testing/clock.d.ts +50 -0
  191. package/dist/testing/clock.d.ts.map +1 -0
  192. package/dist/testing/clock.js +75 -0
  193. package/dist/testing/clock.js.map +1 -0
  194. package/dist/testing/env.d.ts +66 -0
  195. package/dist/testing/env.d.ts.map +1 -0
  196. package/dist/testing/env.js +106 -0
  197. package/dist/testing/env.js.map +1 -0
  198. package/dist/testing/gate-runner.d.ts +141 -0
  199. package/dist/testing/gate-runner.d.ts.map +1 -0
  200. package/dist/testing/gate-runner.js +173 -0
  201. package/dist/testing/gate-runner.js.map +1 -0
  202. package/dist/testing/gf19.d.ts +106 -0
  203. package/dist/testing/gf19.d.ts.map +1 -0
  204. package/dist/testing/gf19.js +282 -0
  205. package/dist/testing/gf19.js.map +1 -0
  206. package/dist/testing/index.d.ts +20 -0
  207. package/dist/testing/index.d.ts.map +1 -0
  208. package/dist/testing/index.js +14 -0
  209. package/dist/testing/index.js.map +1 -0
  210. package/dist/testing/red-probe.d.ts +138 -0
  211. package/dist/testing/red-probe.d.ts.map +1 -0
  212. package/dist/testing/red-probe.js +251 -0
  213. package/dist/testing/red-probe.js.map +1 -0
  214. package/dist/testing/temp-repo.d.ts +126 -0
  215. package/dist/testing/temp-repo.d.ts.map +1 -0
  216. package/dist/testing/temp-repo.js +214 -0
  217. package/dist/testing/temp-repo.js.map +1 -0
  218. package/dist/verdict/cause.d.ts +99 -0
  219. package/dist/verdict/cause.d.ts.map +1 -0
  220. package/dist/verdict/cause.js +206 -0
  221. package/dist/verdict/cause.js.map +1 -0
  222. package/dist/verdict/evaluate.d.ts +135 -0
  223. package/dist/verdict/evaluate.d.ts.map +1 -0
  224. package/dist/verdict/evaluate.js +1513 -0
  225. package/dist/verdict/evaluate.js.map +1 -0
  226. package/dist/verdict/index.d.ts +21 -0
  227. package/dist/verdict/index.d.ts.map +1 -0
  228. package/dist/verdict/index.js +20 -0
  229. package/dist/verdict/index.js.map +1 -0
  230. package/dist/verdict/pack-verifiers.d.ts +97 -0
  231. package/dist/verdict/pack-verifiers.d.ts.map +1 -0
  232. package/dist/verdict/pack-verifiers.js +763 -0
  233. package/dist/verdict/pack-verifiers.js.map +1 -0
  234. package/dist/verdict/registry.d.ts +180 -0
  235. package/dist/verdict/registry.d.ts.map +1 -0
  236. package/dist/verdict/registry.js +67 -0
  237. package/dist/verdict/registry.js.map +1 -0
  238. package/dist/waivers/index.d.ts +103 -0
  239. package/dist/waivers/index.d.ts.map +1 -0
  240. package/dist/waivers/index.js +192 -0
  241. package/dist/waivers/index.js.map +1 -0
  242. package/package.json +40 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify.js","sourceRoot":"","sources":["../../src/classifier/classify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Deterministic glob matching for classification-policy scan roots and
3
+ * internal-rule name patterns. Supports the `*` (within one segment),
4
+ * `**` (across segments), and `?` (single character) wildcards; all
5
+ * other characters are literal. Path separators are posix `/`.
6
+ *
7
+ * Pure string machinery — no filesystem, clock, or network access — so
8
+ * core stays deterministic (Phase 1 anti-pattern guards).
9
+ */
10
+ /**
11
+ * Compiles one glob pattern to a whole-string regular expression.
12
+ * A `**` segment matches across segment boundaries: as the last segment
13
+ * it matches everything after the prefix (`backend/STAR-STAR` matches
14
+ * `backend/api/x.py`); in the middle it matches zero or more whole
15
+ * segments (`a/STAR-STAR/b` matches `a/b` and `a/x/y/b`). `*` matches
16
+ * within a single segment; `?` matches one non-separator character.
17
+ *
18
+ * Args:
19
+ * pattern: glob pattern, e.g. `backend/**` or `*_audit`.
20
+ *
21
+ * Returns:
22
+ * RegExp: anchored, case-sensitive matcher.
23
+ */
24
+ export declare function compileGlob(pattern: string): RegExp;
25
+ /**
26
+ * Whether a repo-root-relative path matches one glob pattern.
27
+ *
28
+ * Args:
29
+ * path: posix repo-root-relative path.
30
+ * pattern: glob pattern.
31
+ *
32
+ * Returns:
33
+ * boolean: true when the whole path matches.
34
+ */
35
+ export declare function globMatch(path: string, pattern: string): boolean;
36
+ /**
37
+ * Whether a path falls inside ANY of the given roots (the complete-scan
38
+ * scope test of ADR 0003 D4).
39
+ *
40
+ * Args:
41
+ * path: posix repo-root-relative path.
42
+ * roots: scan-root globs.
43
+ *
44
+ * Returns:
45
+ * boolean: true when at least one root matches the path.
46
+ */
47
+ export declare function pathInScope(path: string, roots: readonly string[]): boolean;
48
+ //# sourceMappingURL=glob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/classifier/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAmCnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAK3E"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Deterministic glob matching for classification-policy scan roots and
3
+ * internal-rule name patterns. Supports the `*` (within one segment),
4
+ * `**` (across segments), and `?` (single character) wildcards; all
5
+ * other characters are literal. Path separators are posix `/`.
6
+ *
7
+ * Pure string machinery — no filesystem, clock, or network access — so
8
+ * core stays deterministic (Phase 1 anti-pattern guards).
9
+ */
10
+ /** Escapes a literal string for embedding in a regular expression. */
11
+ function escapeLiteral(text) {
12
+ return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
13
+ }
14
+ /** Cache of compiled patterns; bounded by the policy document size. */
15
+ const compileCache = new Map();
16
+ /**
17
+ * Compiles one glob pattern to a whole-string regular expression.
18
+ * A `**` segment matches across segment boundaries: as the last segment
19
+ * it matches everything after the prefix (`backend/STAR-STAR` matches
20
+ * `backend/api/x.py`); in the middle it matches zero or more whole
21
+ * segments (`a/STAR-STAR/b` matches `a/b` and `a/x/y/b`). `*` matches
22
+ * within a single segment; `?` matches one non-separator character.
23
+ *
24
+ * Args:
25
+ * pattern: glob pattern, e.g. `backend/**` or `*_audit`.
26
+ *
27
+ * Returns:
28
+ * RegExp: anchored, case-sensitive matcher.
29
+ */
30
+ export function compileGlob(pattern) {
31
+ const cached = compileCache.get(pattern);
32
+ if (cached !== undefined)
33
+ return cached;
34
+ const segments = pattern.split('/');
35
+ const regexParts = [];
36
+ let afterGlobStar = false;
37
+ for (let i = 0; i < segments.length; i++) {
38
+ const segment = segments[i] ?? '';
39
+ if (segment === '**') {
40
+ if (i === segments.length - 1) {
41
+ // Trailing `**`: everything after the prefix (`backend/**` matches
42
+ // `backend/api/x.py`); a bare leading `**` matches everything.
43
+ if (i > 0 && !afterGlobStar)
44
+ regexParts.push('/');
45
+ regexParts.push('.*');
46
+ }
47
+ else {
48
+ // Interior `**`: zero or more whole segments (`a/**/b` matches
49
+ // `a/b` and `a/x/y/b`); the construct ends with its own '/'.
50
+ regexParts.push('(?:.*/)?');
51
+ afterGlobStar = true;
52
+ }
53
+ continue;
54
+ }
55
+ if (i > 0 && !afterGlobStar)
56
+ regexParts.push('/');
57
+ afterGlobStar = false;
58
+ let segmentRegex = '';
59
+ for (const ch of segment) {
60
+ if (ch === '*')
61
+ segmentRegex += '[^/]*';
62
+ else if (ch === '?')
63
+ segmentRegex += '[^/]';
64
+ else
65
+ segmentRegex += escapeLiteral(ch);
66
+ }
67
+ regexParts.push(segmentRegex);
68
+ }
69
+ const regex = new RegExp(`^${regexParts.join('')}$`);
70
+ compileCache.set(pattern, regex);
71
+ return regex;
72
+ }
73
+ /**
74
+ * Whether a repo-root-relative path matches one glob pattern.
75
+ *
76
+ * Args:
77
+ * path: posix repo-root-relative path.
78
+ * pattern: glob pattern.
79
+ *
80
+ * Returns:
81
+ * boolean: true when the whole path matches.
82
+ */
83
+ export function globMatch(path, pattern) {
84
+ return compileGlob(pattern).test(path);
85
+ }
86
+ /**
87
+ * Whether a path falls inside ANY of the given roots (the complete-scan
88
+ * scope test of ADR 0003 D4).
89
+ *
90
+ * Args:
91
+ * path: posix repo-root-relative path.
92
+ * roots: scan-root globs.
93
+ *
94
+ * Returns:
95
+ * boolean: true when at least one root matches the path.
96
+ */
97
+ export function pathInScope(path, roots) {
98
+ for (const root of roots) {
99
+ if (globMatch(path, root))
100
+ return true;
101
+ }
102
+ return false;
103
+ }
104
+ //# sourceMappingURL=glob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/classifier/glob.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,sEAAsE;AACtE,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,uEAAuE;AACvE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,mEAAmE;gBACnE,+DAA+D;gBAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa;oBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,6DAA6D;gBAC7D,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC5B,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,aAAa,GAAG,KAAK,CAAC;QACtB,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,EAAE,KAAK,GAAG;gBAAE,YAAY,IAAI,OAAO,CAAC;iBACnC,IAAI,EAAE,KAAK,GAAG;gBAAE,YAAY,IAAI,MAAM,CAAC;;gBACvC,YAAY,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACrD,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY,EAAE,OAAe;IACrD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,KAAwB;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The automatic conservative classifier (ADR 0003): signal/decision
3
+ * schemas, the deterministic lattice, and typed blocks.
4
+ */
5
+ export { BLOCK_DIMENSIONS, CLASSIFIER_BLOCK_CODES, ClassifierBlockCodeSchema, ClassifierBlockSchema, ClassifierContradictionSchema, ClassificationDecisionTraceSchema, EffectiveClassificationSchema, } from './schema.js';
6
+ export type { ClassifierBlock, ClassifierBlockCode, ClassifierContradiction, ClassificationDecisionTrace, EffectiveClassification, } from './schema.js';
7
+ export { RULES, classifyResources, type ClassifierResourceRef, type ClassificationDecision, type ClassificationResult, type ClassifierScanInput, type ClassifyResourcesInput, } from './classify.js';
8
+ export { compileGlob, globMatch, pathInScope } from './glob.js';
9
+ export { classifierBlocking, resourceRef, runClassification, type GraphClassification, type RunClassificationInput, } from './bind.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/classifier/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,6BAA6B,EAC7B,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAMrB,OAAO,EACL,KAAK,EACL,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMhE,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,WAAW,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The automatic conservative classifier (ADR 0003): signal/decision
3
+ * schemas, the deterministic lattice, and typed blocks.
4
+ */
5
+ // ---------------------------------------------------------------------------
6
+ // Decision/trace/block schemas
7
+ // ---------------------------------------------------------------------------
8
+ export { BLOCK_DIMENSIONS, CLASSIFIER_BLOCK_CODES, ClassifierBlockCodeSchema, ClassifierBlockSchema, ClassifierContradictionSchema, ClassificationDecisionTraceSchema, EffectiveClassificationSchema, } from './schema.js';
9
+ // ---------------------------------------------------------------------------
10
+ // The engine
11
+ // ---------------------------------------------------------------------------
12
+ export { RULES, classifyResources, } from './classify.js';
13
+ // ---------------------------------------------------------------------------
14
+ // Deterministic glob matching (scan roots, rule patterns)
15
+ // ---------------------------------------------------------------------------
16
+ export { compileGlob, globMatch, pathInScope } from './glob.js';
17
+ // ---------------------------------------------------------------------------
18
+ // Graph binding (plan phase 5, ADR 0003 D5)
19
+ // ---------------------------------------------------------------------------
20
+ export { classifierBlocking, resourceRef, runClassification, } from './bind.js';
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/classifier/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,6BAA6B,EAC7B,iCAAiC,EACjC,6BAA6B,GAC9B,MAAM,aAAa,CAAC;AASrB,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,OAAO,EACL,KAAK,EACL,iBAAiB,GAMlB,MAAM,eAAe,CAAC;AAEvB,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEhE,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAE9E,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,iBAAiB,GAGlB,MAAM,WAAW,CAAC"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Classifier result schemas (ADR 0003 D1/D2): the decision trace, the
3
+ * effective classification, and the typed machine-actionable blocks.
4
+ *
5
+ * `EffectiveClassification` carries the existing `Classification` fields
6
+ * policy/verdict code consumes PLUS explainability metadata (fingerprint,
7
+ * contributing signals, defaults, contradictions, rule ids). On graph
8
+ * resources the classification fields bind `GraphResource.classification`
9
+ * and the explainability rides the sibling `classificationTrace` field —
10
+ * never detector attributes.
11
+ */
12
+ import { z } from 'zod';
13
+ /** Why the classifier blocked one resource (each code is machine-actionable). */
14
+ export declare const CLASSIFIER_BLOCK_CODES: readonly ["CLASSIFICATION_CONTRADICTION", "LIFECYCLE_CONTRADICTION", "PLANE_CONTRADICTION", "IDENTITY_CONTRADICTION", "INCOMPLETE_PROOF_SCOPE", "PLANE_UNRESOLVED", "IDENTITY_UNRESOLVED", "DELETE_SEMANTICS_UNRESOLVED", "ADAPTER_MISSING", "STALE_SIGNAL_TARGET", "INVALID_SIGNAL", "UNAUTHORIZED_SUPPRESSIVE_SIGNAL"];
15
+ /** Union of classifier block codes. */
16
+ export type ClassifierBlockCode = (typeof CLASSIFIER_BLOCK_CODES)[number];
17
+ export declare const ClassifierBlockCodeSchema: z.ZodEnum<{
18
+ CLASSIFICATION_CONTRADICTION: "CLASSIFICATION_CONTRADICTION";
19
+ LIFECYCLE_CONTRADICTION: "LIFECYCLE_CONTRADICTION";
20
+ PLANE_CONTRADICTION: "PLANE_CONTRADICTION";
21
+ IDENTITY_CONTRADICTION: "IDENTITY_CONTRADICTION";
22
+ INCOMPLETE_PROOF_SCOPE: "INCOMPLETE_PROOF_SCOPE";
23
+ PLANE_UNRESOLVED: "PLANE_UNRESOLVED";
24
+ IDENTITY_UNRESOLVED: "IDENTITY_UNRESOLVED";
25
+ DELETE_SEMANTICS_UNRESOLVED: "DELETE_SEMANTICS_UNRESOLVED";
26
+ ADAPTER_MISSING: "ADAPTER_MISSING";
27
+ STALE_SIGNAL_TARGET: "STALE_SIGNAL_TARGET";
28
+ INVALID_SIGNAL: "INVALID_SIGNAL";
29
+ UNAUTHORIZED_SUPPRESSIVE_SIGNAL: "UNAUTHORIZED_SUPPRESSIVE_SIGNAL";
30
+ }>;
31
+ /** Also expose the block dimension mapping for report/block consumers. */
32
+ export declare const BLOCK_DIMENSIONS: Record<string, string>;
33
+ /** One typed classifier block: fail-closed, explainable, resolvable in code. */
34
+ export declare const ClassifierBlockSchema: z.ZodObject<{
35
+ code: z.ZodEnum<{
36
+ CLASSIFICATION_CONTRADICTION: "CLASSIFICATION_CONTRADICTION";
37
+ LIFECYCLE_CONTRADICTION: "LIFECYCLE_CONTRADICTION";
38
+ PLANE_CONTRADICTION: "PLANE_CONTRADICTION";
39
+ IDENTITY_CONTRADICTION: "IDENTITY_CONTRADICTION";
40
+ INCOMPLETE_PROOF_SCOPE: "INCOMPLETE_PROOF_SCOPE";
41
+ PLANE_UNRESOLVED: "PLANE_UNRESOLVED";
42
+ IDENTITY_UNRESOLVED: "IDENTITY_UNRESOLVED";
43
+ DELETE_SEMANTICS_UNRESOLVED: "DELETE_SEMANTICS_UNRESOLVED";
44
+ ADAPTER_MISSING: "ADAPTER_MISSING";
45
+ STALE_SIGNAL_TARGET: "STALE_SIGNAL_TARGET";
46
+ INVALID_SIGNAL: "INVALID_SIGNAL";
47
+ UNAUTHORIZED_SUPPRESSIVE_SIGNAL: "UNAUTHORIZED_SUPPRESSIVE_SIGNAL";
48
+ }>;
49
+ resourceId: z.ZodNullable<z.ZodString>;
50
+ name: z.ZodNullable<z.ZodString>;
51
+ detail: z.ZodString;
52
+ locations: z.ZodArray<z.ZodObject<{
53
+ file: z.ZodString;
54
+ line: z.ZodNumber;
55
+ col: z.ZodNumber;
56
+ }, z.core.$strict>>;
57
+ }, z.core.$strict>;
58
+ /** Inferred classifier-block shape. */
59
+ export type ClassifierBlock = z.infer<typeof ClassifierBlockSchema>;
60
+ /** One contradiction between two pieces of evidence (rendered in traces). */
61
+ export declare const ClassifierContradictionSchema: z.ZodObject<{
62
+ dimension: z.ZodString;
63
+ detail: z.ZodString;
64
+ locations: z.ZodArray<z.ZodObject<{
65
+ file: z.ZodString;
66
+ line: z.ZodNumber;
67
+ col: z.ZodNumber;
68
+ }, z.core.$strict>>;
69
+ }, z.core.$strict>;
70
+ /** Inferred classifier-contradiction shape. */
71
+ export type ClassifierContradiction = z.infer<typeof ClassifierContradictionSchema>;
72
+ /**
73
+ * The explainability trace of one classification decision (ADR 0003 D1):
74
+ * rule ids that selected each value, the conservative defaults applied,
75
+ * the sorted contributing-signal identities, contradictions, and the
76
+ * dimensions the classifier could not decide.
77
+ */
78
+ export declare const ClassificationDecisionTraceSchema: z.ZodObject<{
79
+ rules: z.ZodArray<z.ZodString>;
80
+ defaultsApplied: z.ZodArray<z.ZodString>;
81
+ contributingSignalIds: z.ZodArray<z.ZodString>;
82
+ contributingDetectors: z.ZodArray<z.ZodString>;
83
+ contradictions: z.ZodArray<z.ZodObject<{
84
+ dimension: z.ZodString;
85
+ detail: z.ZodString;
86
+ locations: z.ZodArray<z.ZodObject<{
87
+ file: z.ZodString;
88
+ line: z.ZodNumber;
89
+ col: z.ZodNumber;
90
+ }, z.core.$strict>>;
91
+ }, z.core.$strict>>;
92
+ unresolvedDimensions: z.ZodArray<z.ZodString>;
93
+ decisionFingerprint: z.ZodString;
94
+ }, z.core.$strict>;
95
+ /** Inferred decision-trace shape. */
96
+ export type ClassificationDecisionTrace = z.infer<typeof ClassificationDecisionTraceSchema>;
97
+ /**
98
+ * The classifier's complete decision for one resource: the plain
99
+ * `Classification` fields (what policy/verdict code consumes) plus the
100
+ * explainability metadata. Produced only when the resource has NO
101
+ * blocking classifier finding.
102
+ */
103
+ export declare const EffectiveClassificationSchema: z.ZodObject<{
104
+ exposure: z.ZodEnum<{
105
+ "user-facing": "user-facing";
106
+ internal: "internal";
107
+ }>;
108
+ plane: z.ZodEnum<{
109
+ tenant: "tenant";
110
+ master: "master";
111
+ global: "global";
112
+ }>;
113
+ lifecycle: z.ZodObject<{
114
+ create: z.ZodBoolean;
115
+ read: z.ZodBoolean;
116
+ update: z.ZodBoolean;
117
+ delete: z.ZodBoolean;
118
+ deleteSemantics: z.ZodOptional<z.ZodEnum<{
119
+ hard: "hard";
120
+ archive: "archive";
121
+ }>>;
122
+ archiveFields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
123
+ updateableFields: z.ZodOptional<z.ZodArray<z.ZodString>>;
124
+ }, z.core.$strict>;
125
+ primaryKey: z.ZodArray<z.ZodString>;
126
+ evidenceAdapter: z.ZodOptional<z.ZodString>;
127
+ evidenceLane: z.ZodOptional<z.ZodEnum<{
128
+ adapter: "adapter";
129
+ claims: "claims";
130
+ }>>;
131
+ notes: z.ZodOptional<z.ZodString>;
132
+ rules: z.ZodArray<z.ZodString>;
133
+ defaultsApplied: z.ZodArray<z.ZodString>;
134
+ contributingSignalIds: z.ZodArray<z.ZodString>;
135
+ contributingDetectors: z.ZodArray<z.ZodString>;
136
+ contradictions: z.ZodArray<z.ZodObject<{
137
+ dimension: z.ZodString;
138
+ detail: z.ZodString;
139
+ locations: z.ZodArray<z.ZodObject<{
140
+ file: z.ZodString;
141
+ line: z.ZodNumber;
142
+ col: z.ZodNumber;
143
+ }, z.core.$strict>>;
144
+ }, z.core.$strict>>;
145
+ unresolvedDimensions: z.ZodArray<z.ZodString>;
146
+ decisionFingerprint: z.ZodString;
147
+ }, z.core.$strict>;
148
+ /** Inferred effective-classification shape. */
149
+ export type EffectiveClassification = z.infer<typeof EffectiveClassificationSchema>;
150
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/classifier/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,iFAAiF;AACjF,eAAO,MAAM,sBAAsB,0TA+BzB,CAAC;AAEX,uCAAuC;AACvC,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;EAAiC,CAAC;AAExE,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAanD,CAAC;AAEF,gFAAgF;AAChF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;kBAYvB,CAAC;AAEZ,uCAAuC;AACvC,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B;;;;;;;;kBAS/B,CAAC;AAEZ,+CAA+C;AAC/C,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;kBAqBnC,CAAC;AAEZ,qCAAqC;AACrC,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAexC,CAAC;AAEH,+CAA+C;AAC/C,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Classifier result schemas (ADR 0003 D1/D2): the decision trace, the
3
+ * effective classification, and the typed machine-actionable blocks.
4
+ *
5
+ * `EffectiveClassification` carries the existing `Classification` fields
6
+ * policy/verdict code consumes PLUS explainability metadata (fingerprint,
7
+ * contributing signals, defaults, contradictions, rule ids). On graph
8
+ * resources the classification fields bind `GraphResource.classification`
9
+ * and the explainability rides the sibling `classificationTrace` field —
10
+ * never detector attributes.
11
+ */
12
+ import { z } from 'zod';
13
+ import { LocationSchema } from '../schemas/common.js';
14
+ import { ClassificationSchema } from '../schemas/classification.js';
15
+ /** Why the classifier blocked one resource (each code is machine-actionable). */
16
+ export const CLASSIFIER_BLOCK_CODES = [
17
+ /** Internal declaration/org-rule contradicted by positive code evidence. */
18
+ 'CLASSIFICATION_CONTRADICTION',
19
+ /** Conflicting lifecycle evidence: enabled (conservative) plus blocking contradiction. */
20
+ 'LIFECYCLE_CONTRADICTION',
21
+ /** Conflicting plane evidence; identity normalization never guesses. */
22
+ 'PLANE_CONTRADICTION',
23
+ /** Conflicting primary-key evidence. */
24
+ 'IDENTITY_CONTRADICTION',
25
+ /** An internal intent exists but its closed-world certificate cannot be completed. */
26
+ 'INCOMPLETE_PROOF_SCOPE',
27
+ /** No plane evidence at all; do not guess across tenant/master/global. */
28
+ 'PLANE_UNRESOLVED',
29
+ /** Missing or conflicting primary key; never defaults to `id`. */
30
+ 'IDENTITY_UNRESOLVED',
31
+ /** Delete enabled but semantics not provable; never guesses `hard` or `archive`. */
32
+ 'DELETE_SEMANTICS_UNRESOLVED',
33
+ /** User-facing resource with no reviewed adapter in the adapters directory. */
34
+ 'ADAPTER_MISSING',
35
+ /** A signal whose target matches no discovered resource. */
36
+ 'STALE_SIGNAL_TARGET',
37
+ /** A signal whose assertion shape contradicts its dimension. */
38
+ 'INVALID_SIGNAL',
39
+ /**
40
+ * A DETECTOR-channel signal with a suppressive shape (internality
41
+ * declaration/org rule, or a closed-world lifecycle disable). Suppressive
42
+ * authority is HOST-ISSUED only (ADR 0003 D2: the authority channel is a
43
+ * separate, engine-owned input) — a plugin can never carry it, whatever
44
+ * detector identity the signal claims.
45
+ */
46
+ 'UNAUTHORIZED_SUPPRESSIVE_SIGNAL',
47
+ ];
48
+ export const ClassifierBlockCodeSchema = z.enum(CLASSIFIER_BLOCK_CODES);
49
+ /** Also expose the block dimension mapping for report/block consumers. */
50
+ export const BLOCK_DIMENSIONS = {
51
+ CLASSIFICATION_CONTRADICTION: 'exposure',
52
+ LIFECYCLE_CONTRADICTION: 'lifecycle',
53
+ INCOMPLETE_PROOF_SCOPE: 'internality',
54
+ PLANE_CONTRADICTION: 'plane',
55
+ PLANE_UNRESOLVED: 'plane',
56
+ IDENTITY_CONTRADICTION: 'identity',
57
+ IDENTITY_UNRESOLVED: 'identity',
58
+ DELETE_SEMANTICS_UNRESOLVED: 'delete-semantics',
59
+ ADAPTER_MISSING: 'adapter-binding',
60
+ STALE_SIGNAL_TARGET: 'target',
61
+ INVALID_SIGNAL: 'assertion',
62
+ UNAUTHORIZED_SUPPRESSIVE_SIGNAL: 'provenance',
63
+ };
64
+ /** One typed classifier block: fail-closed, explainable, resolvable in code. */
65
+ export const ClassifierBlockSchema = z
66
+ .object({
67
+ code: ClassifierBlockCodeSchema,
68
+ /** Plane-qualified id when derivable, else `null`. */
69
+ resourceId: z.string().min(1).nullable(),
70
+ /** Bare resource name when known, else `null`. */
71
+ name: z.string().min(1).nullable(),
72
+ /** Single-cause human explanation naming the failing requirement. */
73
+ detail: z.string().min(1),
74
+ /** Evidence locations (sorted deterministically). */
75
+ locations: z.array(LocationSchema),
76
+ })
77
+ .strict();
78
+ /** One contradiction between two pieces of evidence (rendered in traces). */
79
+ export const ClassifierContradictionSchema = z
80
+ .object({
81
+ /** The dimension the evidence conflicts on. */
82
+ dimension: z.string().min(1),
83
+ /** Human explanation naming both sides and their locations. */
84
+ detail: z.string().min(1),
85
+ /** Locations of the conflicting evidence (sorted). */
86
+ locations: z.array(LocationSchema),
87
+ })
88
+ .strict();
89
+ /**
90
+ * The explainability trace of one classification decision (ADR 0003 D1):
91
+ * rule ids that selected each value, the conservative defaults applied,
92
+ * the sorted contributing-signal identities, contradictions, and the
93
+ * dimensions the classifier could not decide.
94
+ */
95
+ export const ClassificationDecisionTraceSchema = z
96
+ .object({
97
+ /** Stable rule ids explaining each selected value (sorted). */
98
+ rules: z.array(z.string().min(1)),
99
+ /** Rule ids of every conservative default applied (sorted). */
100
+ defaultsApplied: z.array(z.string().min(1)),
101
+ /** Sorted canonical signal ids of every contributing signal. */
102
+ contributingSignalIds: z.array(z.string().min(1)),
103
+ /** Detector identities of contributing signals, sorted, `id@version`. */
104
+ contributingDetectors: z.array(z.string().min(1)),
105
+ /** Contradictions surfaced while deciding (sorted). */
106
+ contradictions: z.array(ClassifierContradictionSchema),
107
+ /** Dimensions left undecided (sorted) — each corresponds to a block. */
108
+ unresolvedDimensions: z.array(z.string().min(1)),
109
+ /**
110
+ * sha256 over the canonical decision inputs (target, decision,
111
+ * rules, defaults, signal ids, detector versions). Any change in
112
+ * contributing signals changes this value (stale-awareness).
113
+ */
114
+ decisionFingerprint: z.string().min(1),
115
+ })
116
+ .strict();
117
+ /**
118
+ * The classifier's complete decision for one resource: the plain
119
+ * `Classification` fields (what policy/verdict code consumes) plus the
120
+ * explainability metadata. Produced only when the resource has NO
121
+ * blocking classifier finding.
122
+ */
123
+ export const EffectiveClassificationSchema = ClassificationSchema.extend({
124
+ /** Stable rule ids explaining each selected value (sorted). */
125
+ rules: z.array(z.string().min(1)),
126
+ /** Rule ids of every conservative default applied (sorted). */
127
+ defaultsApplied: z.array(z.string().min(1)),
128
+ /** Sorted canonical signal ids of every contributing signal. */
129
+ contributingSignalIds: z.array(z.string().min(1)),
130
+ /** Detector identities of contributing signals, sorted, `id@version`. */
131
+ contributingDetectors: z.array(z.string().min(1)),
132
+ /** Contradictions surfaced while deciding (sorted). */
133
+ contradictions: z.array(ClassifierContradictionSchema),
134
+ /** Dimensions left undecided (sorted) — always empty on a decision. */
135
+ unresolvedDimensions: z.array(z.string().min(1)),
136
+ /** sha256 over the canonical decision inputs (stale-aware identity). */
137
+ decisionFingerprint: z.string().min(1),
138
+ });
139
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/classifier/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE,iFAAiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,4EAA4E;IAC5E,8BAA8B;IAC9B,0FAA0F;IAC1F,yBAAyB;IACzB,wEAAwE;IACxE,qBAAqB;IACrB,wCAAwC;IACxC,wBAAwB;IACxB,sFAAsF;IACtF,wBAAwB;IACxB,0EAA0E;IAC1E,kBAAkB;IAClB,kEAAkE;IAClE,qBAAqB;IACrB,oFAAoF;IACpF,6BAA6B;IAC7B,+EAA+E;IAC/E,iBAAiB;IACjB,4DAA4D;IAC5D,qBAAqB;IACrB,gEAAgE;IAChE,gBAAgB;IAChB;;;;;;OAMG;IACH,iCAAiC;CACzB,CAAC;AAKX,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAExE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,4BAA4B,EAAE,UAAU;IACxC,uBAAuB,EAAE,WAAW;IACpC,sBAAsB,EAAE,aAAa;IACrC,mBAAmB,EAAE,OAAO;IAC5B,gBAAgB,EAAE,OAAO;IACzB,sBAAsB,EAAE,UAAU;IAClC,mBAAmB,EAAE,UAAU;IAC/B,2BAA2B,EAAE,kBAAkB;IAC/C,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,QAAQ;IAC7B,cAAc,EAAE,WAAW;IAC3B,+BAA+B,EAAE,YAAY;CAC9C,CAAC;AAEF,gFAAgF;AAChF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,CAAC;IACN,IAAI,EAAE,yBAAyB;IAC/B,sDAAsD;IACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,kDAAkD;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClC,qEAAqE;IACrE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,qDAAqD;IACrD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;CACnC,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ,6EAA6E;AAC7E,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,+CAA+C;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,+DAA+D;IAC/D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,sDAAsD;IACtD,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;CACnC,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC;KAC/C,MAAM,CAAC;IACN,+DAA+D;IAC/D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,+DAA+D;IAC/D,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3C,gEAAgE;IAChE,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,yEAAyE;IACzE,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,uDAAuD;IACvD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;IACtD,wEAAwE;IACxE,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD;;;;OAIG;IACH,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACvC,CAAC;KACD,MAAM,EAAE,CAAC;AAKZ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAC,MAAM,CAAC;IACvE,+DAA+D;IAC/D,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjC,+DAA+D;IAC/D,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3C,gEAAgE;IAChE,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,yEAAyE;IACzE,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,uDAAuD;IACvD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;IACtD,uEAAuE;IACvE,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAChD,wEAAwE;IACxE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACvC,CAAC,CAAC"}