Fighting Game · Guides & deep dives

V2 Maat Balance Dashboard Integration

The service consumes metric series built from canonical V2 event-bus topics:

3sections1 minread

On this page

@v2/maat-balance-dashboard replaces the earlier standalone V2 dashboard / standalone V2 balance dashboard plan. V2 does not own a separate analytics stack; it composes the existing Maat trio:

  • @maat/intelligence analyzes release-candidate telemetry for trend signals and anomalies.
  • @maat/dashboard owns the governed dashboard surface manifest and canonical event-topic contract.
  • @maat/reporting emits scorecards and chart-ready KPI payloads for design, QA, live-ops, and release review.

Inputs#

The service consumes metric series built from canonical V2 event-bus topics:

  • v2.match.ended
  • v2.match.combat.move.used
  • v2.match.combat.damage.applied
  • v2.match.combat.attack.blocked
  • v2.match.combat.frame-data.drift
  • v2.match.balance.ab-result.published
  • v2.match.balance.ptb-signal.recorded
  • v2.match.performance.frame-budget-exceeded

Each release-candidate cook must provide at least one metric series for each required topic, and each series must contain at least twelve timestamped points. The service rejects duplicate metric IDs, malformed timestamps, unsupported topics, incomplete metric coverage, and balance experiments without V2 rollback runbooks, public result output, and PTB signal wiring before it generates a dashboard manifest.

Outputs#

buildV2MaatBalanceDashboardSurface() returns:

  • the @maat/dashboard manifest with replacesStandaloneV2Dashboard: true;
  • @maat/reporting group scorecard entries and a normalized operational KPI bar chart;
  • @maat/intelligence trend signals and detected anomalies;
  • balance experiment publication metadata with rollback runbooks;
  • package/source-of-truth metadata for @maat/intelligence, @maat/dashboard, and @maat/reporting.

The Unreal V2Services registry exposes the three Maat package adapters as maat-intelligence, maat-dashboard, and maat-reporting. The stale @maat/analytics adapter is intentionally absent because that package does not exist in this repo.

Rollback Boundary#

The balance dashboard is off rollback. It may inform release-candidate signoff, patch readiness, and human balance review, but no deterministic combat or rollback simulation path may read from it. The V2 service returns offRollback: true and mayInfluenceRollback: false, and the Unreal adapter test asserts that the dashboard adapters stay off rollback authority.