@hellraisercenobit/ai-engineering-gate 0.8.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 (100) hide show
  1. package/README.md +82 -0
  2. package/agents/design-pattern-reviewer.md +40 -0
  3. package/agents/modern-typescript-reviewer.md +24 -0
  4. package/agents/testing-pattern-reviewer.md +23 -0
  5. package/bin/ai-engineering-gate.mjs +6 -0
  6. package/contracts/axi/axi-standard.md +273 -0
  7. package/contracts/axi/pin.json +36 -0
  8. package/contracts/members.json +58 -0
  9. package/contracts/schemas/arbitration.schema.json +45 -0
  10. package/contracts/schemas/decision-envelope.schema.json +215 -0
  11. package/contracts/schemas/declaration.schema.json +190 -0
  12. package/contracts/schemas/dispute.schema.json +67 -0
  13. package/contracts/schemas/evidence-append.schema.json +72 -0
  14. package/contracts/schemas/gate-output.schema.json +296 -0
  15. package/contracts/schemas/marker.schema.json +75 -0
  16. package/contracts/schemas/review-envelope.schema.json +378 -0
  17. package/contracts/schemas/verdict-record.schema.json +191 -0
  18. package/contracts/suite-contract.md +270 -0
  19. package/dist/ai-engineering-gate.mjs +2762 -0
  20. package/package.json +47 -0
  21. package/skills/engineering/review-design-patterns/LICENSE +6 -0
  22. package/skills/engineering/review-design-patterns/SKILL.md +196 -0
  23. package/skills/engineering/review-design-patterns/agents/openai.yaml +3 -0
  24. package/skills/engineering/review-design-patterns/references/smell-signatures.md +117 -0
  25. package/skills/engineering/review-design-patterns/review-design-patterns.yaml +25 -0
  26. package/skills/engineering/review-modern-typescript/LICENSE +21 -0
  27. package/skills/engineering/review-modern-typescript/SKILL.md +88 -0
  28. package/skills/engineering/review-modern-typescript/agents/openai.yaml +3 -0
  29. package/skills/engineering/review-modern-typescript/references/smell-signatures.md +36 -0
  30. package/skills/engineering/review-modern-typescript/review-modern-typescript.yaml +22 -0
  31. package/skills/engineering/review-testing-patterns/SKILL.md +108 -0
  32. package/skills/engineering/review-testing-patterns/agents/openai.yaml +4 -0
  33. package/skills/engineering/review-testing-patterns/references/compiler-profile.mjs +103 -0
  34. package/skills/engineering/review-testing-patterns/references/smell-signatures.md +30 -0
  35. package/skills/engineering/review-testing-patterns/review-testing-patterns.yaml +23 -0
  36. package/skills/engineering/transpose-design-patterns/LICENSE +6 -0
  37. package/skills/engineering/transpose-design-patterns/SKILL.md +231 -0
  38. package/skills/engineering/transpose-design-patterns/agents/openai.yaml +3 -0
  39. package/skills/engineering/transpose-design-patterns/references/arbitration.schema.json +45 -0
  40. package/skills/engineering/transpose-design-patterns/references/decision-envelope.schema.json +215 -0
  41. package/skills/engineering/transpose-design-patterns/references/declaration.schema.json +190 -0
  42. package/skills/engineering/transpose-design-patterns/references/design-decision-record.schema.json +731 -0
  43. package/skills/engineering/transpose-design-patterns/references/dispute.schema.json +67 -0
  44. package/skills/engineering/transpose-design-patterns/references/evidence-append.schema.json +72 -0
  45. package/skills/engineering/transpose-design-patterns/references/marker.schema.json +75 -0
  46. package/skills/engineering/transpose-design-patterns/references/pattern-catalog.md +305 -0
  47. package/skills/engineering/transpose-design-patterns/references/record.example.json +120 -0
  48. package/skills/engineering/transpose-design-patterns/references/review-envelope.schema.json +378 -0
  49. package/skills/engineering/transpose-design-patterns/references/suite-contract.md +270 -0
  50. package/skills/engineering/transpose-design-patterns/references/transpose-angular.md +224 -0
  51. package/skills/engineering/transpose-design-patterns/references/transpose-php.md +561 -0
  52. package/skills/engineering/transpose-design-patterns/references/transpose-quarkus.md +283 -0
  53. package/skills/engineering/transpose-design-patterns/references/transpose-react.md +256 -0
  54. package/skills/engineering/transpose-design-patterns/references/transpose-vanilla.md +204 -0
  55. package/skills/engineering/transpose-design-patterns/references/transpose-vue.md +234 -0
  56. package/skills/engineering/transpose-design-patterns/transpose-design-patterns.yaml +24 -0
  57. package/skills/engineering/transpose-modern-typescript/LICENSE +21 -0
  58. package/skills/engineering/transpose-modern-typescript/SKILL.md +90 -0
  59. package/skills/engineering/transpose-modern-typescript/agents/openai.yaml +3 -0
  60. package/skills/engineering/transpose-modern-typescript/references/arbitration.schema.json +45 -0
  61. package/skills/engineering/transpose-modern-typescript/references/catalog.md +38 -0
  62. package/skills/engineering/transpose-modern-typescript/references/collections.md +50 -0
  63. package/skills/engineering/transpose-modern-typescript/references/compatibility.md +61 -0
  64. package/skills/engineering/transpose-modern-typescript/references/decision-envelope.schema.json +215 -0
  65. package/skills/engineering/transpose-modern-typescript/references/decision-record.schema.json +830 -0
  66. package/skills/engineering/transpose-modern-typescript/references/declaration.schema.json +190 -0
  67. package/skills/engineering/transpose-modern-typescript/references/dispute.schema.json +67 -0
  68. package/skills/engineering/transpose-modern-typescript/references/evidence-append.schema.json +72 -0
  69. package/skills/engineering/transpose-modern-typescript/references/idioms.md +74 -0
  70. package/skills/engineering/transpose-modern-typescript/references/marker.schema.json +75 -0
  71. package/skills/engineering/transpose-modern-typescript/references/platform.md +147 -0
  72. package/skills/engineering/transpose-modern-typescript/references/record.example.json +172 -0
  73. package/skills/engineering/transpose-modern-typescript/references/record.md +37 -0
  74. package/skills/engineering/transpose-modern-typescript/references/review-envelope.schema.json +378 -0
  75. package/skills/engineering/transpose-modern-typescript/references/suite-contract.md +270 -0
  76. package/skills/engineering/transpose-modern-typescript/references/types.md +97 -0
  77. package/skills/engineering/transpose-modern-typescript/transpose-modern-typescript.yaml +22 -0
  78. package/skills/engineering/transpose-testing-patterns/SKILL.md +96 -0
  79. package/skills/engineering/transpose-testing-patterns/agents/openai.yaml +4 -0
  80. package/skills/engineering/transpose-testing-patterns/references/arbitration.schema.json +45 -0
  81. package/skills/engineering/transpose-testing-patterns/references/catalog.md +218 -0
  82. package/skills/engineering/transpose-testing-patterns/references/decision-envelope.schema.json +215 -0
  83. package/skills/engineering/transpose-testing-patterns/references/decision-record.schema.json +857 -0
  84. package/skills/engineering/transpose-testing-patterns/references/declaration.schema.json +190 -0
  85. package/skills/engineering/transpose-testing-patterns/references/detect-adapter.mjs +98 -0
  86. package/skills/engineering/transpose-testing-patterns/references/dispute.schema.json +67 -0
  87. package/skills/engineering/transpose-testing-patterns/references/doubles-data.md +45 -0
  88. package/skills/engineering/transpose-testing-patterns/references/evidence-append.schema.json +72 -0
  89. package/skills/engineering/transpose-testing-patterns/references/journal-event.schema.json +115 -0
  90. package/skills/engineering/transpose-testing-patterns/references/marker.schema.json +75 -0
  91. package/skills/engineering/transpose-testing-patterns/references/record.example.json +230 -0
  92. package/skills/engineering/transpose-testing-patterns/references/record.md +25 -0
  93. package/skills/engineering/transpose-testing-patterns/references/review-envelope.schema.json +378 -0
  94. package/skills/engineering/transpose-testing-patterns/references/suite-contract.md +270 -0
  95. package/skills/engineering/transpose-testing-patterns/references/tdd.md +62 -0
  96. package/skills/engineering/transpose-testing-patterns/references/transpose-codeception.md +84 -0
  97. package/skills/engineering/transpose-testing-patterns/references/transpose-karma-jasmine-angular.md +73 -0
  98. package/skills/engineering/transpose-testing-patterns/references/transpose-vitest.md +111 -0
  99. package/skills/engineering/transpose-testing-patterns/references/typescript.md +42 -0
  100. package/skills/engineering/transpose-testing-patterns/transpose-testing-patterns.yaml +23 -0
@@ -0,0 +1,378 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/hellraisercenobit/skills/blob/main/contracts/schemas/review-envelope.schema.json",
4
+ "title": "Review envelope 1.0.0",
5
+ "description": "Emitted by a review beside its prose report and piped to `attest` for `SOUND` or to `report` for `SMELLS` and `VIOLATIONS`. It carries no fingerprint: the gate alone adds the state a verdict binds to.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "document",
10
+ "documentVersion",
11
+ "dimension",
12
+ "contractVersion",
13
+ "verdict",
14
+ "records",
15
+ "checks",
16
+ "reviewer",
17
+ "findings",
18
+ "challengedSurvived"
19
+ ],
20
+ "properties": {
21
+ "document": {
22
+ "const": "review-envelope"
23
+ },
24
+ "documentVersion": {
25
+ "const": "1.0.0"
26
+ },
27
+ "dimension": {
28
+ "type": "string",
29
+ "minLength": 1
30
+ },
31
+ "contractVersion": {
32
+ "description": "The contract version this review ran under.",
33
+ "type": "string",
34
+ "pattern": "^\\d+\\.\\d+\\.\\d+$"
35
+ },
36
+ "verdict": {
37
+ "enum": [
38
+ "SOUND",
39
+ "SMELLS",
40
+ "VIOLATIONS"
41
+ ]
42
+ },
43
+ "records": {
44
+ "description": "The record identifiers or paths the review examined.",
45
+ "type": "array",
46
+ "minItems": 1,
47
+ "items": {
48
+ "type": "string",
49
+ "minLength": 1
50
+ }
51
+ },
52
+ "checks": {
53
+ "description": "The deterministic checks the reviewer saw executed. Enforcement validates their presence, never their result.",
54
+ "type": "array",
55
+ "items": {
56
+ "type": "object",
57
+ "additionalProperties": false,
58
+ "required": [
59
+ "command",
60
+ "outcome",
61
+ "guarantee"
62
+ ],
63
+ "properties": {
64
+ "command": {
65
+ "type": "string",
66
+ "minLength": 1
67
+ },
68
+ "outcome": {
69
+ "type": "string",
70
+ "minLength": 1
71
+ },
72
+ "guarantee": {
73
+ "type": "string",
74
+ "minLength": 1
75
+ }
76
+ }
77
+ }
78
+ },
79
+ "reviewer": {
80
+ "type": "object",
81
+ "additionalProperties": false,
82
+ "required": [
83
+ "independence",
84
+ "identity"
85
+ ],
86
+ "properties": {
87
+ "independence": {
88
+ "description": "The reviewer's own claim about its brief: a fresh context with no builder history or rationale, or the exposure it must state.",
89
+ "type": "string",
90
+ "minLength": 1
91
+ },
92
+ "identity": {
93
+ "description": "The reviewer's declared identity. Enforcement compares it with the identity the harness reported and never takes it as proof.",
94
+ "type": "string",
95
+ "minLength": 1
96
+ },
97
+ "agentType": {
98
+ "type": "string",
99
+ "minLength": 1
100
+ }
101
+ }
102
+ },
103
+ "findings": {
104
+ "type": "array",
105
+ "items": {
106
+ "$ref": "#/$defs/finding"
107
+ }
108
+ },
109
+ "challengedSurvived": {
110
+ "description": "Candidates whose strongest defense held, and the defense.",
111
+ "type": "array",
112
+ "items": {
113
+ "type": "string",
114
+ "minLength": 1
115
+ }
116
+ },
117
+ "gaps": {
118
+ "description": "Catalog gaps, reported without severity or verdict impact.",
119
+ "type": "array",
120
+ "items": {
121
+ "type": "string",
122
+ "minLength": 1
123
+ }
124
+ }
125
+ },
126
+ "$defs": {
127
+ "finding": {
128
+ "type": "object",
129
+ "additionalProperties": false,
130
+ "required": [
131
+ "id",
132
+ "kind",
133
+ "severity",
134
+ "location",
135
+ "rule",
136
+ "expected",
137
+ "recorded",
138
+ "actual",
139
+ "impact",
140
+ "defense",
141
+ "refutation"
142
+ ],
143
+ "properties": {
144
+ "id": {
145
+ "type": "string",
146
+ "minLength": 1
147
+ },
148
+ "kind": {
149
+ "description": "`evidence` when an artifact is not on file, `judgment` when a decision is wrong against the catalog.",
150
+ "enum": [
151
+ "evidence",
152
+ "judgment"
153
+ ]
154
+ },
155
+ "severity": {
156
+ "description": "The contract's severity clause owns these tiers.",
157
+ "enum": [
158
+ "Blocker",
159
+ "Major",
160
+ "Minor"
161
+ ]
162
+ },
163
+ "location": {
164
+ "type": "string",
165
+ "minLength": 1
166
+ },
167
+ "rule": {
168
+ "type": "string",
169
+ "minLength": 1
170
+ },
171
+ "expected": {
172
+ "type": "string",
173
+ "minLength": 1
174
+ },
175
+ "recorded": {
176
+ "type": "string",
177
+ "minLength": 1
178
+ },
179
+ "actual": {
180
+ "type": "string",
181
+ "minLength": 1
182
+ },
183
+ "impact": {
184
+ "type": "string",
185
+ "minLength": 1
186
+ },
187
+ "defense": {
188
+ "type": "string",
189
+ "minLength": 1
190
+ },
191
+ "refutation": {
192
+ "type": "string",
193
+ "minLength": 1
194
+ },
195
+ "correction": {
196
+ "description": "The proposed correction C08 requires. Required for a judgment finding.",
197
+ "type": "string",
198
+ "minLength": 1
199
+ },
200
+ "remedy": {
201
+ "description": "Required for an evidence finding: an action the builder can execute.",
202
+ "$ref": "#/$defs/remedy"
203
+ }
204
+ },
205
+ "allOf": [
206
+ {
207
+ "if": {
208
+ "properties": {
209
+ "kind": {
210
+ "const": "evidence"
211
+ }
212
+ },
213
+ "required": [
214
+ "kind"
215
+ ]
216
+ },
217
+ "then": {
218
+ "required": [
219
+ "remedy"
220
+ ],
221
+ "properties": {
222
+ "remedy": {
223
+ "$ref": "#/$defs/remedy"
224
+ }
225
+ }
226
+ },
227
+ "else": {
228
+ "required": [
229
+ "correction"
230
+ ],
231
+ "properties": {
232
+ "correction": {
233
+ "description": "The proposed correction C08 requires. Required for a judgment finding.",
234
+ "type": "string",
235
+ "minLength": 1
236
+ }
237
+ }
238
+ }
239
+ }
240
+ ]
241
+ },
242
+ "remedy": {
243
+ "type": "object",
244
+ "additionalProperties": false,
245
+ "required": [
246
+ "kind"
247
+ ],
248
+ "properties": {
249
+ "kind": {
250
+ "enum": [
251
+ "produce",
252
+ "rerun",
253
+ "replay",
254
+ "dispute"
255
+ ]
256
+ },
257
+ "artifact": {
258
+ "type": "string",
259
+ "minLength": 1
260
+ },
261
+ "command": {
262
+ "type": "string",
263
+ "minLength": 1
264
+ },
265
+ "scenario": {
266
+ "type": "string",
267
+ "minLength": 1
268
+ }
269
+ },
270
+ "allOf": [
271
+ {
272
+ "if": {
273
+ "properties": {
274
+ "kind": {
275
+ "const": "produce"
276
+ }
277
+ },
278
+ "required": [
279
+ "kind"
280
+ ]
281
+ },
282
+ "then": {
283
+ "required": [
284
+ "artifact"
285
+ ],
286
+ "properties": {
287
+ "artifact": {
288
+ "type": "string",
289
+ "minLength": 1
290
+ }
291
+ }
292
+ }
293
+ },
294
+ {
295
+ "if": {
296
+ "properties": {
297
+ "kind": {
298
+ "const": "rerun"
299
+ }
300
+ },
301
+ "required": [
302
+ "kind"
303
+ ]
304
+ },
305
+ "then": {
306
+ "required": [
307
+ "command"
308
+ ],
309
+ "properties": {
310
+ "command": {
311
+ "type": "string",
312
+ "minLength": 1
313
+ }
314
+ }
315
+ }
316
+ },
317
+ {
318
+ "if": {
319
+ "properties": {
320
+ "kind": {
321
+ "const": "replay"
322
+ }
323
+ },
324
+ "required": [
325
+ "kind"
326
+ ]
327
+ },
328
+ "then": {
329
+ "required": [
330
+ "scenario",
331
+ "command"
332
+ ],
333
+ "properties": {
334
+ "scenario": {
335
+ "type": "string",
336
+ "minLength": 1
337
+ },
338
+ "command": {
339
+ "type": "string",
340
+ "minLength": 1
341
+ }
342
+ }
343
+ }
344
+ }
345
+ ]
346
+ }
347
+ },
348
+ "allOf": [
349
+ {
350
+ "if": {
351
+ "properties": {
352
+ "verdict": {
353
+ "const": "SOUND"
354
+ }
355
+ },
356
+ "required": [
357
+ "verdict"
358
+ ]
359
+ },
360
+ "then": {
361
+ "properties": {
362
+ "findings": {
363
+ "type": "array",
364
+ "maxItems": 0
365
+ }
366
+ }
367
+ },
368
+ "else": {
369
+ "properties": {
370
+ "findings": {
371
+ "type": "array",
372
+ "minItems": 1
373
+ }
374
+ }
375
+ }
376
+ }
377
+ ]
378
+ }
@@ -0,0 +1,191 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://github.com/hellraisercenobit/skills/blob/main/contracts/schemas/verdict-record.schema.json",
4
+ "title": "Attestation and report 1.0.0",
5
+ "description": "Written by the gate and by nobody else, in its index. An attestation stores a `SOUND` review envelope, a report a `SMELLS` or `VIOLATIONS` one. Both bind the envelope to the three fingerprints of the reviewer's window and to the identity the gate captured.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "document",
10
+ "documentVersion",
11
+ "id",
12
+ "dimension",
13
+ "task",
14
+ "round",
15
+ "filedAt",
16
+ "gateVersion",
17
+ "fingerprints",
18
+ "identity",
19
+ "envelope"
20
+ ],
21
+ "properties": {
22
+ "document": {
23
+ "enum": [
24
+ "attestation",
25
+ "report"
26
+ ]
27
+ },
28
+ "documentVersion": {
29
+ "const": "1.0.0"
30
+ },
31
+ "id": {
32
+ "type": "string",
33
+ "minLength": 1
34
+ },
35
+ "dimension": {
36
+ "type": "string",
37
+ "minLength": 1
38
+ },
39
+ "task": {
40
+ "type": "string",
41
+ "minLength": 1
42
+ },
43
+ "round": {
44
+ "type": "integer",
45
+ "minimum": 1
46
+ },
47
+ "filedAt": {
48
+ "type": "string",
49
+ "minLength": 1
50
+ },
51
+ "gateVersion": {
52
+ "type": "string",
53
+ "minLength": 1
54
+ },
55
+ "fingerprints": {
56
+ "$ref": "#/$defs/fingerprints"
57
+ },
58
+ "identity": {
59
+ "$ref": "#/$defs/identity"
60
+ },
61
+ "envelope": {
62
+ "description": "The review envelope as filed. Validated against the review envelope schema before it is stored.",
63
+ "type": "object"
64
+ },
65
+ "openFindings": {
66
+ "description": "Finding identifiers still pending on a report: neither addressed, disputed nor closed by arbitration.",
67
+ "type": "array",
68
+ "items": {
69
+ "type": "string",
70
+ "minLength": 1
71
+ }
72
+ },
73
+ "warnings": {
74
+ "type": "array",
75
+ "items": {
76
+ "type": "string",
77
+ "minLength": 1
78
+ }
79
+ }
80
+ },
81
+ "$defs": {
82
+ "fingerprints": {
83
+ "type": "object",
84
+ "additionalProperties": false,
85
+ "required": [
86
+ "source",
87
+ "reference",
88
+ "decision"
89
+ ],
90
+ "properties": {
91
+ "source": {
92
+ "type": "string",
93
+ "minLength": 1
94
+ },
95
+ "reference": {
96
+ "type": "string",
97
+ "minLength": 1
98
+ },
99
+ "decision": {
100
+ "type": "string",
101
+ "minLength": 1
102
+ }
103
+ }
104
+ },
105
+ "identity": {
106
+ "type": "object",
107
+ "additionalProperties": false,
108
+ "required": [
109
+ "session",
110
+ "verified"
111
+ ],
112
+ "properties": {
113
+ "session": {
114
+ "type": [
115
+ "string",
116
+ "null"
117
+ ]
118
+ },
119
+ "agent": {
120
+ "type": [
121
+ "string",
122
+ "null"
123
+ ]
124
+ },
125
+ "agentType": {
126
+ "type": [
127
+ "string",
128
+ "null"
129
+ ]
130
+ },
131
+ "harness": {
132
+ "type": [
133
+ "string",
134
+ "null"
135
+ ]
136
+ },
137
+ "verified": {
138
+ "description": "`false` where the harness provides no agent identifier. The state says so and completion still passes unless the marker requires verified identity.",
139
+ "type": "boolean"
140
+ }
141
+ }
142
+ }
143
+ },
144
+ "allOf": [
145
+ {
146
+ "if": {
147
+ "properties": {
148
+ "document": {
149
+ "const": "attestation"
150
+ }
151
+ },
152
+ "required": [
153
+ "document"
154
+ ]
155
+ },
156
+ "then": {
157
+ "properties": {
158
+ "envelope": {
159
+ "type": "object",
160
+ "properties": {
161
+ "verdict": {
162
+ "const": "SOUND"
163
+ }
164
+ },
165
+ "required": [
166
+ "verdict"
167
+ ]
168
+ }
169
+ }
170
+ },
171
+ "else": {
172
+ "properties": {
173
+ "envelope": {
174
+ "type": "object",
175
+ "properties": {
176
+ "verdict": {
177
+ "enum": [
178
+ "SMELLS",
179
+ "VIOLATIONS"
180
+ ]
181
+ }
182
+ },
183
+ "required": [
184
+ "verdict"
185
+ ]
186
+ }
187
+ }
188
+ }
189
+ }
190
+ ]
191
+ }