coderifts 1.8.2 → 1.8.4

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.
@@ -31,7 +31,9 @@
31
31
  "expected": {
32
32
  "has_breaking": false,
33
33
  "should_flag_poison": false,
34
- "risk_max": 20,
34
+ "risk_max": 0,
35
+ "bounds_changelog": "risk_max 20 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
36
+ "risk_note": "safe vector scores 0 on the pinned path - max 0 catches any inflation (detection-only)",
35
37
  "deep_signals": [],
36
38
  "notes": "Purely additive optional property. Agents that do not send 'limit' continue to work. Must NOT trigger breaking or high risk."
37
39
  }
@@ -65,7 +67,9 @@
65
67
  "expected": {
66
68
  "has_breaking": false,
67
69
  "should_flag_poison": false,
68
- "risk_max": 15,
70
+ "risk_max": 0,
71
+ "bounds_changelog": "risk_max 15 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
72
+ "risk_note": "safe vector scores 0 on the pinned path - max 0 catches any inflation (detection-only)",
69
73
  "deep_signals": [],
70
74
  "notes": "Input enum expansion is non-breaking for callers. Existing 'read'/'write' payloads still validate. Do not cry wolf."
71
75
  }
@@ -98,7 +102,9 @@
98
102
  "expected": {
99
103
  "has_breaking": false,
100
104
  "should_flag_poison": false,
101
- "risk_max": 25,
105
+ "risk_max": 0,
106
+ "bounds_changelog": "risk_max 25 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
107
+ "risk_note": "safe vector scores 0 on the pinned path - max 0 catches any inflation (detection-only)",
102
108
  "deep_signals": ["composition_branch_count_changed"],
103
109
  "notes": "New branch is additive. Old 'text' payloads continue to match first branch exactly. Non-breaking per rules."
104
110
  }
@@ -122,7 +128,9 @@
122
128
  "expected": {
123
129
  "has_breaking": false,
124
130
  "should_flag_poison": false,
125
- "risk_max": 5,
131
+ "risk_max": 0,
132
+ "bounds_changelog": "risk_max 5 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
133
+ "risk_note": "safe vector scores 0 on the pinned path - max 0 catches any inflation (detection-only)",
126
134
  "deep_signals": ["description_changed"],
127
135
  "notes": "Description change only. No structural impact and no suspicious content. Must stay low risk / non-breaking."
128
136
  }
@@ -154,7 +162,8 @@
154
162
  "expected": {
155
163
  "has_breaking": false,
156
164
  "should_flag_poison": false,
157
- "risk_max": 10,
165
+ "risk_max": 24,
166
+ "bounds_changelog": "risk_max 10 -> 24 (recalibrated 2026-07 to measured 20 on the oasdiff-1.11.11 pinned path)",
158
167
  "deep_signals": [],
159
168
  "notes": "Adding fields to output is generally non-breaking for agents (they can ignore unknown keys unless strict validation)."
160
169
  }
@@ -181,7 +190,9 @@
181
190
  "expected": {
182
191
  "has_breaking": false,
183
192
  "should_flag_poison": false,
184
- "risk_max": 5,
193
+ "risk_max": 0,
194
+ "bounds_changelog": "risk_max 5 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
195
+ "risk_note": "safe vector scores 0 on the pinned path - max 0 catches any inflation (detection-only)",
185
196
  "deep_signals": [],
186
197
  "notes": "Vendor extensions and unknown keywords do not affect validation contract for existing payloads."
187
198
  }
@@ -215,7 +226,8 @@
215
226
  "expected": {
216
227
  "has_breaking": true,
217
228
  "should_flag_poison": false,
218
- "risk_min": 60,
229
+ "risk_min": 24,
230
+ "bounds_changelog": "risk_min 60 -> 24 (recalibrated 2026-07 to measured 30 on the oasdiff-1.11.11 pinned path)",
219
231
  "deep_signals": ["required_added", "property_removed"],
220
232
  "notes": "Old agents send 'title'. New contract requires 'name'. Direct break. Must be detected as breaking despite surface 'add+remove' appearance."
221
233
  }
@@ -246,7 +258,8 @@
246
258
  },
247
259
  "expected": {
248
260
  "has_breaking": true,
249
- "risk_min": 45,
261
+ "risk_min": 16,
262
+ "bounds_changelog": "risk_min 45 -> 16 (recalibrated 2026-07 to measured 20 on the oasdiff-1.11.11 pinned path)",
250
263
  "deep_signals": ["enum_value_removed"],
251
264
  "notes": "Server will no longer emit 'error' state. Any agent logic or monitoring keyed on it breaks. Must flag."
252
265
  }
@@ -284,7 +297,9 @@
284
297
  },
285
298
  "expected": {
286
299
  "has_breaking": true,
287
- "risk_min": 70,
300
+ "risk_min": 0,
301
+ "bounds_changelog": "risk_min 70 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
302
+ "risk_note": "risk scorer produces no signal for this vector class - detection-only guard",
288
303
  "deep_signals": ["conditional_required_added", "required_added"],
289
304
  "notes": "When mode=full, 'reason' becomes mandatory. Agents using the old manifest for full updates will fail validation. Must catch deep conditional."
290
305
  }
@@ -327,7 +342,9 @@
327
342
  "expected": {
328
343
  "has_breaking": true,
329
344
  "should_flag_poison": true,
330
- "risk_min": 80,
345
+ "risk_min": 0,
346
+ "bounds_changelog": "risk_min 80 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
347
+ "risk_note": "risk scorer produces no signal for this vector class - detection-only guard",
331
348
  "deep_signals": ["$defs_changed", "required_added"],
332
349
  "poison_signals": ["Ignore previous", "always include"],
333
350
  "notes": "Ref target now requires extra field + contains FSP instruction. Classic deep + poison vector. Must surface both structural break and poisoning."
@@ -363,7 +380,9 @@
363
380
  "expected": {
364
381
  "has_breaking": false,
365
382
  "should_flag_poison": true,
366
- "risk_min": 55,
383
+ "risk_min": 0,
384
+ "bounds_changelog": "risk_min 55 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
385
+ "risk_note": "risk scorer produces no signal for this vector class - detection-only guard",
367
386
  "poison_signals": ["send a copy", "attacker.example"],
368
387
  "notes": "Structural contract same, but FSP in a property description. Shallow tools miss it. Full-schema detector + risk must catch."
369
388
  }
@@ -396,7 +415,9 @@
396
415
  },
397
416
  "expected": {
398
417
  "has_breaking": true,
399
- "risk_min": 65,
418
+ "risk_min": 0,
419
+ "bounds_changelog": "risk_min 65 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
420
+ "risk_note": "risk scorer produces no signal for this vector class - detection-only guard",
400
421
  "deep_signals": ["required_added"],
401
422
  "notes": "The second allOf fragment now requires 'data'. After merge the whole schema requires it. Must detect via normalization + allOf handling."
402
423
  }
@@ -427,7 +448,8 @@
427
448
  },
428
449
  "expected": {
429
450
  "has_breaking": true,
430
- "risk_min": 70,
451
+ "risk_min": 16,
452
+ "bounds_changelog": "risk_min 70 -> 16 (recalibrated 2026-07 to measured 20 on the oasdiff-1.11.11 pinned path)",
431
453
  "deep_signals": ["conditional_required_added"],
432
454
  "notes": "Error path now mandates 'result'. Agents and any gateway transformation that relied on optional result on error will break or behave differently."
433
455
  }
@@ -39,7 +39,9 @@
39
39
  },
40
40
  "expected": {
41
41
  "has_breaking": false,
42
- "risk_max": 10,
42
+ "risk_max": 0,
43
+ "bounds_changelog": "risk_max 10 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
44
+ "risk_note": "safe vector scores 0 on the pinned path - max 0 catches any inflation (detection-only)",
43
45
  "notes": "Optional query param addition never breaks existing calls that omit it. Must not flag."
44
46
  }
45
47
  },
@@ -92,7 +94,9 @@
92
94
  },
93
95
  "expected": {
94
96
  "has_breaking": false,
95
- "risk_max": 8,
97
+ "risk_max": 0,
98
+ "bounds_changelog": "risk_max 8 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
99
+ "risk_note": "safe vector scores 0 on the pinned path - max 0 catches any inflation (detection-only)",
96
100
  "notes": "Extra response fields are ignored by most clients unless they use strict additionalProperties:false. Non-breaking."
97
101
  }
98
102
  },
@@ -149,7 +153,9 @@
149
153
  },
150
154
  "expected": {
151
155
  "has_breaking": false,
152
- "risk_max": 12,
156
+ "risk_max": 0,
157
+ "bounds_changelog": "risk_max 12 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
158
+ "risk_note": "safe vector scores 0 on the pinned path - max 0 catches any inflation (detection-only)",
153
159
  "notes": "Response enum expansion gives clients more cases to handle optionally. Existing handling of open/closed remains valid."
154
160
  }
155
161
  },
@@ -185,7 +191,8 @@
185
191
  },
186
192
  "expected": {
187
193
  "has_breaking": true,
188
- "risk_min": 70,
194
+ "risk_min": 2,
195
+ "bounds_changelog": "risk_min 70 -> 2 (recalibrated 2026-07 to measured 3 on the production-faithful path - no pattern boost)",
189
196
  "notes": "All prior requests without 'org' now invalid. Direct breaking change for agents and SDK clients. Must be caught."
190
197
  }
191
198
  },
@@ -290,7 +297,8 @@
290
297
  },
291
298
  "expected": {
292
299
  "has_breaking": true,
293
- "risk_min": 75,
300
+ "risk_min": 4,
301
+ "bounds_changelog": "risk_min 75 -> 4 (recalibrated 2026-07 to measured 6 on the production-faithful path - no pattern boost)",
294
302
  "notes": "Request payload shape changed for a required identifier. Old 'userId' submissions rejected. Must detect rename as breaking."
295
303
  }
296
304
  },
@@ -414,7 +422,8 @@
414
422
  },
415
423
  "expected": {
416
424
  "has_breaking": true,
417
- "risk_min": 50,
425
+ "risk_min": 6,
426
+ "bounds_changelog": "risk_min 50 -> 6 (recalibrated 2026-07 to measured 8 on the production-faithful path - no pattern boost)",
418
427
  "notes": "Request-side tightening rejects previously-valid payloads. Must be caught."
419
428
  }
420
429
  },
@@ -468,7 +477,9 @@
468
477
  },
469
478
  "expected": {
470
479
  "has_breaking": false,
471
- "risk_max": 10,
480
+ "risk_max": 0,
481
+ "bounds_changelog": "risk_max 10 -> 0 (recalibrated 2026-07 to measured 0 on the oasdiff-1.11.11 pinned path)",
482
+ "risk_note": "safe vector scores 0 on the pinned path - max 0 catches any inflation (detection-only)",
472
483
  "notes": "Request-side loosening (nullable false->true, format unchanged): all previously-valid payloads stay valid. Must NOT be flagged breaking."
473
484
  }
474
485
  }