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
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):
PR: #10779
Branch:
protocol-research/feat/scorer-refactoring