You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Un-defer the two retrieval conformance fixtures the v0.107.0 pin
surfaced:
- 042 (malformed chunk usage, 0100): the contains_event matcher compared
a record-valued field (EmbeddingUsage) against a dict with ==, which
never matched. Promote wire.py's record-to-dict coercion to a shared
as_record_mapping helper and use it for a subset match; a named subkey
must be present, not just non-null.
- 043 (over-cap chunk-and-stitch, 0103): thread the conformance-adapter
chunk_size cap override into the OpenAI embed provider construction
(absent -> the fixed vendor 2048).
The present-key tightening is applied to the carries matcher too, so the
two subset comparisons stay consistent. Adds a unit test for the field
comparator. Harness-only; no src change. 052 (same-name collision) stays
deferred for the batched spec review.
note = "A provider figure present on the wire but malformed (a token count as a string / negative / boolean) in an ancillary field (usage, response_id) is treated as not reported: the call succeeds, the figure is nulled, and the verbatim value stays on raw. An implementation MUST NOT raise on it and MUST NOT fabricate / coerce / clamp / repair it. Each figure is judged independently and the outcome follows §4 / §6's record rules; the rule binds the graph-engine §6 EmbeddingEvent / RerankEvent figures as well as the response. Behavior shipped + unit-tested ahead of the pin; the malformed-usage / malformed-id / chunk-stitch fixtures (incl. retrieval 042) ride the v0.17.0 fixture-wiring PR."
977
+
note = "A provider figure present on the wire but malformed (a token count as a string / negative / boolean) in an ancillary field (usage, response_id) is treated as not reported: the call succeeds, the figure is nulled, and the verbatim value stays on raw. An implementation MUST NOT raise on it and MUST NOT fabricate / coerce / clamp / repair it. Each figure is judged independently and the outcome follows §4 / §6's record rules; the rule binds the graph-engine §6 EmbeddingEvent / RerankEvent figures as well as the response. Behavior shipped + unit-tested ahead of the pin; retrieval fixture 042 (chunk-and-stitch malformed usage) runs -- its chunk-stitch usage assertion needed the contains_event record-subset match wired into the harness."
978
978
979
979
# Spec v0.96.0 (proposal 0101). A malformed llm usage counter is not
980
980
# reported; the observability guard chain reconciled (llm-provider §7).
@@ -997,7 +997,7 @@ note = "Generalizes the carries directive capability-neutrally (a key MUST name
997
997
[proposals."0103"]
998
998
status = "implemented"
999
999
since = "0.17.0"
1000
-
note = "§8.3's cap sentence pins that the §8 Batch chunking rule chunks by input COUNT only (the 2048-input cap); OpenAI's summed-token ceiling is NOT a chunking trigger, so an over-token request is sent and the provider's rejection surfaces as provider_invalid_request (no client-side token estimation). The mapping already implements count-based chunking (0092); the OpenAI embed provider gained a test-only chunk_size cap override (conformance-adapter §5.14) so a fixed-cap mapping's chunking fixture is self-enforcing. Behavior shipped + unit-tested ahead of the pin; fixture 043 (over-cap chunk-and-stitch + count-vs-token fail-loud) + the §5.14 harness directive ride the v0.17.0 fixture-wiring PR."
1000
+
note = "§8.3's cap sentence pins that the §8 Batch chunking rule chunks by input COUNT only (the 2048-input cap); OpenAI's summed-token ceiling is NOT a chunking trigger, so an over-token request is sent and the provider's rejection surfaces as provider_invalid_request (no client-side token estimation). The mapping already implements count-based chunking (0092); the OpenAI embed provider gained a test-only chunk_size cap override (conformance-adapter §5.14) so a fixed-cap mapping's chunking fixture is self-enforcing. Behavior shipped + unit-tested ahead of the pin; fixture 043 (over-cap chunk-and-stitch + count-vs-token fail-loud) runs, with the §5.14 chunk_size cap override threaded to the OpenAI embed provider construction in the harness."
1001
1001
1002
1002
# Spec v0.99.0 (proposal 0104). An empty-string response_id is null
1003
1003
# (absent); §8.2 Jina maps a bare 400 to provider_invalid_request
0 commit comments