doc: notes towards a typed ProblemDetails discussion at TC DATA - #72
Merged
Merged
Conversation
Material for an ice-breaker at the October 2026 meeting, in the same register as bridge-channels.md and likewise off-nav: working notes, not a contribution. An NGSI-LD error carries five members of which exactly one - type, with twelve values for the whole API - is machine-readable. Everything below that (which Attribute, which Entity, which registration, which member of the body, which rule) is prose in detail, whose content TS 104-175 § 8.3.3 explicitly leaves to the implementation. So a client cannot decide whether to fix, drop or give up without string-matching an implementation-defined sentence, and the conformance suite cannot tell a right answer from a right status code for the wrong reason. The notes carry the evidence, a menu of candidate members grouped by class (identity / offending input / diagnostics / advice / spec clause), and a recommendation against making error stacking recursive - flatten and carry provenance per element, the way a stack trace is a flat list rather than a tree. Two findings recorded on the way, both also filed as spec-doubts: errors/ Conflict is mandated at shall-level in 27 places in clause 10 and has no HTTP status code registered in TS 104-176 § 6.3.2 (#126, and the same gap is in GS CIM 009 V1.9.1, so not a conversion artefact), and reference [n.6] is RFC 7807, obsoleted by RFC 9457. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mo7DQD14mrErQD4N2v99d2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Material for an ice-breaker at the Athens meeting, October 2026. Same register and placement as
bridge-channels.md— working notes, off-nav, not a contribution and not a CR.Unrelated to #70 in substance; it is where the
@referredTypebug led.The provocation
An NGSI-LD error carries five members, of which exactly one —
type, with twelve values for the whole API — is machine-readable. Everything below that is prose insidedetail, whose content TS 104-175 § 8.3.3 explicitly leaves to the implementation.So a client cannot decide between fix / drop / give up without string-matching an implementation-defined sentence, and the conformance suite cannot tell a right answer from a right status code for the wrong reason.
What's in it
attributeName,registrationId,statusCode) — the window for agreeing a common vocabulary is open only while the count is small.§ 4.6.2strings as the exhibit: GS CIM 009 numbering, all wrong the day TS 104-175 publishes, and nothing detects it.Two findings along the way
Both also filed in the spec-doubts log:
errors/Conflicthas no HTTP status code. TS 104-175 § 8.3.2 defines it and clause 10 mandates it atshalllevel in 27 places; TS 104-176 § 6.3.2 maps the other eleven types and omits this one, while § 6.3.3 says the status is "as per clause 6.3.2 depending on error type". Checked against GS CIM 009 V1.9.1 — identical gap, so not a TS 104 conversion artefact. (#126)🤖 Generated with Claude Code
https://claude.ai/code/session_01Mo7DQD14mrErQD4N2v99d2