Problem
A carrier who performed excellently two years ago but has been inactive retains their peak score indefinitely. Old ratings are weighted equally with recent ones, meaning the score does not reflect a carrier's current reliability — a key piece of information for shippers choosing between carriers.
Proposed Solution
Implement a time-decay weighting algorithm in a new reputation contract inside contracts/package/reputation-decay/ that reduces the influence of older ratings on the composite score.
Note: All work must be done inside the contracts/package/ directory. Do not modify any existing contract files outside this folder.
Acceptance Criteria
Problem
A carrier who performed excellently two years ago but has been inactive retains their peak score indefinitely. Old ratings are weighted equally with recent ones, meaning the score does not reflect a carrier's current reliability — a key piece of information for shippers choosing between carriers.
Proposed Solution
Implement a time-decay weighting algorithm in a new reputation contract inside
contracts/package/reputation-decay/that reduces the influence of older ratings on the composite score.Acceptance Criteria
get_decayed_score(user_id, current_ledger_time)applies decay weights and returns the adjusted composite score (0-1000)