From 2bfd1af6a0e14f9daf919dfdb07c1e971f408cfc Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Wed, 23 Sep 2026 13:58:45 +0100 Subject: [PATCH] fix(telemetry): accept.apply has one lawful parent after the fallback arm went The accept.apply factory no longer falls back to the round context, so the harness contract lists consensus.accept alone. Note rewritten to describe the scoped child as it is now. --- docker/telemetry/workload/expected_spans.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/telemetry/workload/expected_spans.json b/docker/telemetry/workload/expected_spans.json index 09e95e130c..ffbb3ab920 100644 --- a/docker/telemetry/workload/expected_spans.json +++ b/docker/telemetry/workload/expected_spans.json @@ -238,7 +238,7 @@ { "name": "consensus.accept.apply", "category": "consensus", - "allowed_parents": ["consensus.accept", "consensus.round"], + "allowed_parents": ["consensus.accept"], "required_attributes": [ "ledger_seq", "close_time_ripple_epoch_s", @@ -248,7 +248,7 @@ "resolution_direction" ], "config_flag": "trace_consensus", - "note": "Also carries close_time_correct, close_resolution_ms, consensus_state, proposing, round_time_ms, tx_count. Emits a tx.included span EVENT per transaction in the accepted set (RCLConsensus.cpp:720, with a tx_id attribute), which validate_telemetry.py cannot assert (no event support). Two parents because the factory picks its context at RCLConsensus.cpp:636-638: childSpan of the captured accept context normally, falling back to the round context when the accept span was null. Both are explicit contexts, never ambient, so no third parent is possible — if neither context is valid the factory returns a null guard and no span is emitted at all." + "note": "Also carries close_time_correct, close_resolution_ms, consensus_state, proposing, round_time_ms, tx_count. Emits a tx.included span EVENT per transaction in the accepted set (RCLConsensus.cpp:720, with a tx_id attribute), which validate_telemetry.py cannot assert (no event support). One parent: a scoped childSpan of the captured accept context (RCLConsensus.cpp doAccept). The context is valid whenever the accept span is live; when it is not, the factory returns a null guard and no span is emitted at all. Scoped, so the txq spans doAccept creates after it are its children." }, { "name": "consensus.validation.send",