chore: implement phase 2 - #2780
Conversation
📊 API Diff Results
|
bbd2ebe to
799df17
Compare
| // skewHardLimit is one of §5's filled-in values (basis: §16; §22.11 asserts | ||
| // 120s errors, 30s does not). It belongs in schedule.go's named-constants | ||
| // block once P4 exists; defined here because P2 needs it first. | ||
| const skewHardLimit = 60 * time.Second |
There was a problem hiding this comment.
Clock skew is only ever needed to place the runner-defined window edges [from, to+grace] onto Grafana's own timeline, so it's a single-point reconciliation, not a factor in any duration-based check. The 60s hard limit is therefore a sanity gate, not a correction: skew is estimated as serverDate − (t_send+t_recv)/2 with error RTT/2, and that estimation is only trusted while the two clocks are in rough agreement. Past 60s the offset is treated as a broken or misconfigured clock, so the gate fails closed rather than align fine-grained window work against a clock it no longer trusts.
| // verified against (§2.7 control 2, §21.5): >= 13.0.0, < 14.0.0. | ||
| var ( | ||
| supportedGrafanaMin = grafanaVersion{13, 0, 0} | ||
| supportedGrafanaMax = grafanaVersion{14, 0, 0} // exclusive |
There was a problem hiding this comment.
better safe than sorry, we don't want to risk subtle behaviour changes.
Fix retry-error conflation, measure full poll latency, and harden Source test doubles for concurrency.
4159c2f to
3894d9b
Compare
Fix retry-error conflation, measure full poll latency, and harden Source test doubles for concurrency.
Stack created with GitHub Stacks CLI • Give Feedback 💬