feat(models): canonical backstops so attestation correctness backfills pre-event#271
Open
samcm wants to merge 1 commit into
Open
feat(models): canonical backstops so attestation correctness backfills pre-event#271samcm wants to merge 1 commit into
samcm wants to merge 1 commit into
Conversation
samcm
force-pushed
the
orgroup-canonical-backfill
branch
from
June 22, 2026 03:36
fdfa702 to
e1e4bb0
Compare
…s pre-event
fct_block_proposer and fct_attestation_vote_correctness_by_validator are floored
at 2025 because they hard-depend on event-stream-derived models
(fct_block_proposer_head, int_attestation_attested_head) that only exist from
when sentries began capturing gossip/beacon-API events. That event data is
supplementary and already LEFT-JOINed (orphaned-block status; gossip first-seen
timing), so canonical data alone produces valid historical rows.
OR-group each event dep with its canonical equivalent (which reaches genesis),
matching the existing int_beacon_committee_head / fct_block_proposer_head
backstops. The engine unions OR-group bounds, so either source satisfies
coverage and the models backfill the full chain history; event-derived columns
are NULL pre-event.
Unblocks the canonical-only downstream chain to genesis with no further changes:
fct_attestation_correctness_by_validator_canonical and
fct_attestation_inclusion_delay_{daily,hourly} (fully correct historically), plus
fct_attestation_vote_correctness_by_validator{,_daily,_hourly} (NULL gossip
timing pre-event). int_attestation_first_seen_aggregate is intentionally left
unchanged — it has no canonical equivalent (pure gossip first-seen metric).
SQL is unchanged; this only relaxes dependency-coverage scheduling.
samcm
force-pushed
the
orgroup-canonical-backfill
branch
from
June 22, 2026 06:23
e1e4bb0 to
273e046
Compare
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.
OR-group the event-stream dependencies of
fct_block_proposer(fct_block_proposer_head→ ORint_block_proposer_canonical) andfct_attestation_vote_correctness_by_validator(int_attestation_attested_head→ ORint_attestation_attested_canonical) with their canonical equivalents, matching the existingint_beacon_committee_head/fct_block_proposer_headbackstops. These models are floored at 2025 only because the event data — which is supplementary and already LEFT-JOINed (orphaned-block status, gossip first-seen timing) — doesn't exist earlier; canonical reaches genesis, so relaxing coverage lets the whole canonical chain backfill the full history (correctness_by_validator_canonicalandinclusion_delayfully correct;vote_correctnesswith NULL gossip-timing pre-event), whileint_attestation_first_seen_aggregateis left unchanged as it has no canonical equivalent.SQL is unchanged — this only relaxes dependency-coverage scheduling; pulling the history down is a follow-up coverage-reset op once deployed.