Measurement-correctness release on top of v0.5.2. Two items
from the 2026-06-23 field-test (own and FCC-Extender 0.2 author Oberhesses CSV + log shared
via forum). No new feature surface, no config keys added, no
C-binding additions.
Added
NEARresult label for the intra-TP channel-share case.
When a bypass zap targets a service whose transponder is
already locked by a sibling pool slot (different service id
on the same MUX),pool.lookupcorrectly misses at the
service level buteDVBResourceManagerchannel-shares at
the transponder level - the demod is already there, so the
zap lands in the ~100-300 ms PMT-switch regime instead of
the ~700-900 ms cold-tune regime. Previously these zaps were
labelledEXTand dragged the EXT-bucket median artificially
low; they now report asNEARwith their own OSD bucket-
colour (teal#80ffc0). Wrapper-MISS paths get the same
upgrade when a TP-share is available. Addspool.tp_match(ref)
as the transponder-level partner of the existingpool.lookup
and a_tp_keyhelper alongside the existing_keyin
predictor.py.
Changed
- Wrapper-path zap timing now anchors on
evStart(same as
the bypass path) instead of at the top of the wrapper
closure. The wrapper sets_zap_attr/_zap_hitup front
so the metadata is known by the timeplayServicedispatches
evStart; the timing anchor itself is set by
_on_nav_event(evStart)for every path. Net effect:
zapUp/zapDown HITandext HITmeasurements now cover
the sameevStart -> evTunedInspan, eliminating the ~50 ms
measurement gap where wrapper-HIT looked artificially slower
than bypass-HIT in v0.5.2.
Field-test grounding
Oberhesses CSV from v0.5.2 contained two ext EXT rows at 154
and 153 ms - way too fast for cross-transponder cold tunes
(~700-900 ms hardware-bound). The corresponding LOOKUP
blocks in his log showed that a sibling slot was armed on the
same transponder as the target service (ZDF on 3F3 for the
ZDF Neo zap, ZDF Neo on 3F3 for the ZDF zap). pool.lookup
correctly missed at the service level but eDVBResourceManager
channel-shared at the transponder. v0.5.3 labels these as
NEAR; removing them from the EXT bucket makes Oberhesses
field-test factor (was 2x) line up with the on-hardware factor
(~5x), and removing the wrapper pre-work measurement gap makes
his wrapper-HIT vs bypass-HIT comparison directly meaningful.
Test suite: 144 -> 156 (12 new cases: pool.tp_match positive
and negative, NEAR classification on evStart, HIT priority
over NEAR, wrapper-MISS NEAR upgrade).