Summary
Define and ratify the Trait system contract used to derive persistent player characteristics from matchLogs into playerProfiles.
Why
Downstream work (aggregation, matchmaking, hints, archetypes) depends on stable trait definitions, formulas, and update rules.
Scope
- Define v1 trait set (names, intent, interpretation), e.g.:
- Aggression, Risk Appetite, Tactical Precision, Tempo Control, Recovery, etc.
- For each trait:
- Input signals from move deltas / match outcomes
- Normalization range (e.g. 0–100)
- Update formula and weighting
- Confidence/variance handling
- Define decay / recency policy.
- Define anti-gaming safeguards.
- Define versioning:
traitModelVersion
- migration/backfill expectations
Deliverables
- RFC section added to
docs/design/player-profile-schema.md (or companion doc)
- Machine-readable trait spec (JSON/TS constant) for implementation parity
- Example worked calculation from a sample match log
Acceptance Criteria
- Team sign-off on trait names + formulas.
- Aggregator issue can implement directly from this RFC without ambiguity.
- Versioning/migration path documented.
Summary
Define and ratify the Trait system contract used to derive persistent player characteristics from
matchLogsintoplayerProfiles.Why
Downstream work (aggregation, matchmaking, hints, archetypes) depends on stable trait definitions, formulas, and update rules.
Scope
traitModelVersionDeliverables
docs/design/player-profile-schema.md(or companion doc)Acceptance Criteria