Skip to content

Update o-c and add tracer for LeiosTally - #6670

Draft
johnalotoski wants to merge 1 commit into
leios-prototypefrom
jl/leios-prototype-w35-patched
Draft

Update o-c and add tracer for LeiosTally#6670
johnalotoski wants to merge 1 commit into
leios-prototypefrom
jl/leios-prototype-w35-patched

Conversation

@johnalotoski

Copy link
Copy Markdown
Contributor

Description

Node-side companion to the consensus change that adds TraceLeiosTally, making the
Leios certification margin observable. IntersectMBO/ouroboros-consensus#2256

  • cabal.project bumps the ouroboros-consensus source-repository-package
  • Cardano/Node/Tracing/Tracers/Consensus.hs registers the new constructor at the three
    sites the tracing framework requires: a forHuman clause, a namespaceFor mapping to
    Namespace [] ["Tally"], and the corresponding entry in allNamespaces. forMachine
    needs nothing, since it delegates to consensus traceLeiosKernelToObject.

Severity falls through to Info, matching Voted and VoteAcquired. That makes the
trace inert under stock configs, which filter at Notice.

Bumps ouroboros-consensus to pick up the running per-point vote tally
trace, and registers the Consensus.LeiosKernel.Tally namespace it needs.
The bump spans two consensus commits: the trace itself, and keeping the
per-point total in the vote state rather than resumming the voter map on
every accepted vote.

The tally is the certification margin. Only certified points reach the
chain, so a point that stalls below minCertificationThreshold currently
leaves no record of how close it came, and a diffusion near miss cannot be
told apart from a structural shortfall.

Registration is the usual three sites: forHuman, namespaceFor and
allNamespaces. privacyFor, detailsFor and metricsDocFor take their class
defaults and documentFor is covered by the instance catch-all. forHuman
renders the adding seat and its weight alongside the tally and threshold,
so the human format carries the same five fields as forMachine.

Severity falls through to the Info default, matching the neighbouring Voted
and VoteAcquired traces. Note that puts it below the Notice root threshold
in the configs shipped here, so the trace is inert unless the deployment
lowers Consensus.LeiosKernel, as the playground config does. A metric would
sidestep the threshold entirely and is worth considering when log-derived
values move to Prometheus.
Copilot AI lite review requested due to automatic review settings August 31, 2026 18:02
@johnalotoski
johnalotoski requested a review from a team as a code owner August 31, 2026 18:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the node’s tracing integration to surface the new consensus trace event TraceLeiosTally, making the Leios certification margin observable, and bumps the ouroboros-consensus pinned source-repository-package to a commit that includes that new constructor.

Changes:

  • Add human-readable formatting for TraceLeiosTally in the node’s TraceLeiosKernel log formatting.
  • Register TraceLeiosTally under Namespace [] ["Tally"] and include it in allNamespaces so it can be configured via the tracing framework.
  • Update cabal.project to point the ouroboros-consensus SRP to a newer commit (and update the recorded sha256 comment).

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
cardano-node/src/Cardano/Node/Tracing/Tracers/Consensus.hs Adds formatting + namespace registration for the new TraceLeiosTally trace event.
cabal.project Bumps the pinned ouroboros-consensus SRP commit to bring in the new trace constructor.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants