@@ -289,6 +289,20 @@ not cause confusion.
289
289
290
290
Criteria score: 🥇
291
291
292
+ ## 🎯 G. Error propagation boundaries should not change in existing executable documents
293
+
294
+ An expansion of B, this states that the proposal will not change where errors
295
+ propagate to when error propagation is enabled (i.e. existing documents will
296
+ still keep errors local to the same positions that they did when they were
297
+ published), allowing for the "partial success" feature of GraphQL to continue to
298
+ shine and not compromising the resiliency of legacy deployed app versions.
299
+
300
+ | [ 1] [ solution-1 ] | [ 2] [ solution-2 ] | [ 3] [ solution-3 ] | [ 4] [ solution-4 ] |
301
+ | --------------- | --------------- | --------------- | --------------- |
302
+ | ✅ | ✅ | ✅ | ✅ |
303
+
304
+ Criteria score: 🥇
305
+
292
306
<!--
293
307
294
308
Template for new items:
@@ -369,6 +383,8 @@ have been discussed the choice of symbol comes down mostly to aesthetics.
369
383
- ✅ Same syntax .
370
384
- [F ][criteria -f ]
371
385
- ✅ Same syntax .
386
+ - [G ][criteria -g ]
387
+ - ✅ Error capture positions unchanged when error propagation enabled
372
388
373
389
## 💡 2. "Strict Semantic Nullability"
374
390
@@ -406,6 +422,8 @@ symbol) to indicate that a position may semantically be null.
406
422
- ✅ The same syntax is used on input and output .
407
423
- [F ][criteria -f ]
408
424
- ✅ There is no alternative syntax .
425
+ - [G ][criteria -g ]
426
+ - ✅ Error capture positions unchanged when error propagation enabled
409
427
410
428
## 💡 3. New "Semantic Non-Null" type, usurping `!` syntax
411
429
@@ -466,6 +484,8 @@ day-to-day work.
466
484
non-nullable in both modes. Only the SDL ever uses `Int!!` and it still
467
485
means non-null, just with the additional "kills parent on exception"
468
486
behavior.
487
+ - [G][criteria-g]
488
+ - ✅ Error capture positions unchanged when error propagation enabled
469
489
470
490
## 💡 4. New "Semantic Non-Null" type, with `?` used for nullable types
471
491
@@ -501,3 +521,5 @@ directive is present, and a `?` symbol is used to indicate a nullable position.
501
521
- [F][criteria-f]
502
522
- 🚫 `Int` being nullable in one mode and non-nullable in the other mode is
503
523
unexpected and will likely lead to confusion.
524
+ - [G][criteria-g]
525
+ - ✅ Error capture positions unchanged when error propagation enabled
0 commit comments