namespace NeonSprawl.Server.Game.Factions; /// Append-only reputation delta audit log (NEO-135). public interface IReputationDeltaStore { /// /// First append with a given row Id returns true; duplicate ids return false. /// Postgres: row references player_position — orchestrators (NEO-136) should apply standing before audit append. /// bool TryAppend(ReputationDeltaRow row); /// Audit rows for one player ordered by then Id ascending. IReadOnlyList GetDeltasForPlayer(string playerId, int? limit = null); /// /// Dev fixture only — removes quest-completion audit rows for one quest (includes rollback rows). /// Idempotent when no rows match. /// bool TryClearQuestCompletionAudit(string playerId, string questId); }