Skip to content

Commit 160ef66

Browse files
committed
Clarify that siblings of error propagation must not be added to the errors list
1 parent bc4ddea commit 160ef66

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

spec/Section 6 -- Execution.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,9 @@ entire list in the case of a list position), either resolving to {null} if
606606
allowed or being further propagated to a parent response position.
607607

608608
If this occurs, any sibling response positions which have not yet executed or
609-
have not yet yielded a value may be cancelled to avoid unnecessary work.
609+
have not yet yielded a value may be cancelled to avoid unnecessary work. Any
610+
errors raised by these sibling response positions must not be added to the
611+
{"errors"} list in the _execution result_.
610612

611613
Note: See [Handling Execution Errors](#sec-Handling-Execution-Errors) for more
612614
about this behavior.
@@ -920,10 +922,13 @@ that position is of a `Non-Null` type, then an execution error is raised at that
920922
position. The error must be added to the {"errors"} list in the _execution
921923
result_.
922924

925+
Exactly one error must be added to the {"errors"} list for each {null} appearing
926+
in the _execution response_ because of an error (including error propagation).
923927
If a _response position_ resolves to {null} because of an execution error which
924928
has already been added to the {"errors"} list in the _execution result_, the
925-
{"errors"} list must not be further affected. That is, only one error should be
926-
added to the errors list per _response position_.
929+
{"errors"} list must not be further affected. If a sibling field of a response
930+
position that triggered error propagation also raises an error, this additional
931+
error must not be added to the {"errors"} list.
927932

928933
Since `Non-Null` response positions cannot be {null}, execution errors are
929934
propagated to be handled by the parent _response position_. If the parent

0 commit comments

Comments
 (0)