Loading
fix(local): D002_02_01_inc / D002_02_02_inc expect 204, not 207
Both tests do an inclusive Delete Entity where one leg returns 404 and
expect a 207 BatchOperationResult surfacing that 404. That contradicts
the operation definition.
TS 104-175 § 10.2.8.4 (Delete Entity behaviour):
- ResourceNotFound is reserved for total absence — "no existing Entity
held locally, AND no matching registrations apply". A matching
inclusive registration exists here, so this never fires.
- For inclusive matches the request "is also forwarded ... The input
data shall be used to remove the entity locally if it exists."
So a 404 from one inclusive Context Source (which simply does not hold
the entity — inclusive registrations are commonly by entity type, and
not every entity of a type lives on every source) is not in the error
model, and local absence is explicitly a non-error ("if it exists").
The delete succeeds → 204 No Content.
- D002_02_01_inc: entity exists locally, CSR returns 404 → 204.
- D002_02_02_inc: entity absent locally, CSR deletes it (204) → 204.
The only text pulling toward 207 is the coarse HTTP-binding rule in
TS 104-176 § 6.3.5 ("inclusive + an error response from one or more
sources → 207"); § 10.2.8.4 (normative behaviour) takes precedence and
backs 204. Broker is correct; expectations corrected. See forge issue
#105 (spec-discussion). Local branch only, no MR.