Skip to content

Refactoring of the Scorer module #11416

@piotrm50

Description

@piotrm50

Tracking issue for PR #10779.

Refactor the misbehavior-report and scorer subsystems in iota-core. Inherited from Olivia; rebased onto the post-Starfish/Mysticeti develop, then iterated for type safety, atomicity, and operability.

Scope (already in PR):

  • BCS wire-format pinning tests for VersionedMisbehaviorReport (testnet-safe).
  • Authority + generation moved onto VersionedMisbehaviorReport (mirrors AuthorityCapabilitiesV1).
  • ReportPayload[V1] renamed to MisbehaviorObservations[V1]; in-memory mirror collapsed.
  • Scorer renamed to Scoreboard; per-version math moved into VersionedScorer / ScorerV1 with named-field MetricParams.
  • ArcSwap publication for scores; RCU + merge_max for aggregator and monitor.
  • validate_report returns ReportValidationError for operator-visible failure causes.
  • Consensus-output misbehavior contract switched to a named-field struct (ConsensusOutputMisbehaviorCounts).
  • One protocol knob (scorer_version) gates both scorer impl and report wire format.

PR: #10779
Branch: protocol-research/feat/scorer-refactoring

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions