As with #59, the Perp Stats Feed (v3.0.1) has no checker in tools/conformance @ e68184b — no frame magic, no rules, no engine file, and no core.Feed value.
It is the smallest of the family (239 lines, one substantive message type) and the shared frame/refdata rules cover most of it for free, so the marginal cost is low. Its own surface is mostly cadence and relay fidelity:
PerpStats message length and port placement in engine/tier1.go
- emission cadence against an
--expect-* flag, in the style of REFDATA.MANIFEST_CADENCE — this feed's whole premise is that REST-poll data runs on a REST cadence, so a publisher drifting off it is the defect the feed exists to make visible
- instrument scope: every instrument emitting stats should have a definition on refdata (the existing refdata join)
- design principle 7 ("pure relay, no computation") limits what else is checkable — every field traces one-to-one to a venue value, so the checker cannot recompute funding or premium and must not try
Lower priority than the market-by-price gaps, which affect a feed that already has a production publisher.
As with #59, the Perp Stats Feed (v3.0.1) has no checker in
tools/conformance@ e68184b — no frame magic, no rules, no engine file, and nocore.Feedvalue.It is the smallest of the family (239 lines, one substantive message type) and the shared frame/refdata rules cover most of it for free, so the marginal cost is low. Its own surface is mostly cadence and relay fidelity:
PerpStatsmessage length and port placement inengine/tier1.go--expect-*flag, in the style ofREFDATA.MANIFEST_CADENCE— this feed's whole premise is that REST-poll data runs on a REST cadence, so a publisher drifting off it is the defect the feed exists to make visibleLower priority than the market-by-price gaps, which affect a feed that already has a production publisher.