Rebuild Veriflier v2 contract and discovery#105
Draft
chrisbliss18 wants to merge 8 commits into
Draft
Conversation
717b746 to
7e24bad
Compare
added 4 commits
May 13, 2026 14:50
Keep the effective HEAD/GET method and detection profile on the /v2/check request path after rebasing the Veriflier rebuild onto the staged rollout work from PR #109. This lets v2 monitor cohorts use HEAD plus legacy, GET plus simple_http, and GET plus full checks through remote Verifliers without silently converting them to full-profile GET probes. It also updates the transport docs and fixes the ADR reference now that the streaming engine owns ADR-0009.
7e24bad to
fceba31
Compare
added 4 commits
May 13, 2026 15:07
The Veriflier discovery rebuild added monitor-collected agent telemetry, but the streaming scheduler returned from the classic round loop before calling the existing telemetry sync path. That left the discovery report amber on streaming deployments even when the configured v2 Veriflier was healthy. Start an asynchronous telemetry sync when the streaming engine boots and repeat it during the normal heartbeat cadence. The sync is guarded so slow or unreachable Verifliers cannot stack overlapping probes or block the scheduler hot path.
The v2 Veriflier contract now carries both quorum-counted vantage identity and diagnostic agent identity. Legacy Veriflier replies still have a vote identity, but treating that fallback as a vantage_id makes reports look like the legacy endpoint supplied trusted v2 metadata. Keep vote_id and host for legacy evidence, but only write the vantage_id field when the Veriflier response explicitly supplied one. Update the summary test so legacy replies do not grow synthetic v2 fields.
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.
Summary
This draft PR rebuilds the Jetmon v2 Veriflier path around a versioned Go JSON-over-HTTP contract while preserving transition compatibility with the existing legacy Veriflier endpoints.
Included:
/v2/checkand/v2/statuswith request IDs, typed outcomes, timing metadata, vantage identity, agent identity, deadline propagation, and capacity reporting.HEAD+legacy,GET+simple_http, andGET+fullcohorts instead of silently converting everything to full-profile GET probes.agent_overloaded/ HTTP 503 behavior when saturated.jetmon_veriflier_vantages, monitor-collectedjetmon_veriflier_agents,VERIFLIER_DISCOVERY_MODE=static|shadow|active, and static fallback in active mode.jetmon2 verifliers discovery-reportas a read-only shadow-mode gate.validate-config, telemetry report, host health, and the fleet dashboard with Veriflier v2/discovery evidence.Rebase Notes
Rebased on the latest
v2after PR #110. The branch now includes the staged-check sidecar work from #109, the repeated-confirmation guard from #111, and the WPCOM/streaming hardening from #110. The Veriflier discovery migrations remain after the staged-check sidecar migrations as 39 and 40, and fresh schema creation includes both sidecar tables and Veriflier discovery tables.Validation
Latest local checks after the #110 rebase:
go test ./...make test-veriflier-soakgit diff --checkRequested Uptime-Bench Coverage
The next runtime test should validate both transition compatibility and the new v2 contract:
veriflier2legacy-compatible endpoint comparison using the same request corpus, expected to produce equivalent up/down/HTTP/error outcomes for legacy-supported detections.veriflier2/v2/checkand/v2/statusendpoints, including staged HEAD/GET check policies./v2/statusor/v2/check.Remaining Rollout Gates
This is intentionally a draft PR. Do not merge until the remaining external/runtime gates are handled:
Safety Notes
VERIFIERSif discovery is unavailable or empty during rollout.