What happened?
A custom visualizer requested a required component using GateDecision:window_start_ms, while the entity schema contained syrinx.archetypes.GateDecision:window_start_ms. The query returned no rows and produced no diagnostic, making a reader-side descriptor mismatch indistinguishable from data that was never recorded.
Custom archetype namespace retention itself is intentional and documented. The problem is the silent required-query failure mode.
Reproduction
- Log a custom archetype named
syrinx.archetypes.GateDecision with a window_start_ms field.
- In a custom visualizer, call
VisualizerQuery::iter_required with ComponentIdentifier("GateDecision:window_start_ms") rather than the fully namespaced identifier.
- Observe an empty iterator and no visualizer diagnostic. Inspecting the entity schema shows
syrinx.archetypes.GateDecision:window_start_ms is present.
This was observed with Rerun 0.35 and remains possible on current main (f4a84ae1659bd3125c8a2bebb55237e35a34c612).
Current behavior on main
BlueprintResolvedRangeResults::get_chunks returns MaybeChunksWithComponent::empty(component) when component_sources has no entry for the requested identifier. That is Ok([]), so ChunksWithComponent::try_from succeeds and VisualizerQuery::iter_required never enters its diagnostic path. This conflicts with the method documentation that a missing required component is reported.
Relevant source:
Expected behavior
When a required identifier is absent from the entity schema, report a low-noise diagnostic—ideally once per visualizer instruction/entity/query shape—containing the requested identifier and available component identifiers. A suffix-near-match such as these two identifiers would make the common custom-archetype namespace mistake immediately obvious.
Missing data within the selected time range can remain non-diagnostic; the useful distinction is “this entity has never had the requested identifier” versus “the component exists but has no data in this query.”
Additional context
Downstream report and exact observed identifiers: https://github.com/nymph-ai/nymphai/issues/1111
I searched this tracker for required-component diagnostics, custom-archetype namespace mismatches, and NoComponentDataForQuery/iter_required, and found no existing report.
What happened?
A custom visualizer requested a required component using
GateDecision:window_start_ms, while the entity schema containedsyrinx.archetypes.GateDecision:window_start_ms. The query returned no rows and produced no diagnostic, making a reader-side descriptor mismatch indistinguishable from data that was never recorded.Custom archetype namespace retention itself is intentional and documented. The problem is the silent required-query failure mode.
Reproduction
syrinx.archetypes.GateDecisionwith awindow_start_msfield.VisualizerQuery::iter_requiredwithComponentIdentifier("GateDecision:window_start_ms")rather than the fully namespaced identifier.syrinx.archetypes.GateDecision:window_start_msis present.This was observed with Rerun 0.35 and remains possible on current
main(f4a84ae1659bd3125c8a2bebb55237e35a34c612).Current behavior on main
BlueprintResolvedRangeResults::get_chunksreturnsMaybeChunksWithComponent::empty(component)whencomponent_sourceshas no entry for the requested identifier. That isOk([]), soChunksWithComponent::try_fromsucceeds andVisualizerQuery::iter_requirednever enters its diagnostic path. This conflicts with the method documentation that a missing required component is reported.Relevant source:
blueprint_resolved_results.rsvisualizer_query.rschunks_with_component.rsExpected behavior
When a required identifier is absent from the entity schema, report a low-noise diagnostic—ideally once per visualizer instruction/entity/query shape—containing the requested identifier and available component identifiers. A suffix-near-match such as these two identifiers would make the common custom-archetype namespace mistake immediately obvious.
Missing data within the selected time range can remain non-diagnostic; the useful distinction is “this entity has never had the requested identifier” versus “the component exists but has no data in this query.”
Additional context
Downstream report and exact observed identifiers: https://github.com/nymph-ai/nymphai/issues/1111
I searched this tracker for required-component diagnostics, custom-archetype namespace mismatches, and
NoComponentDataForQuery/iter_required, and found no existing report.