package ports import ( "context" "galaxy/rtmanager/internal/domain/operation" ) // OperationLogStore stores append-only audit entries for every // lifecycle operation Runtime Manager performed against a game's // runtime. Adapters must persist entry verbatim and return the // generated bigserial id from Append. type OperationLogStore interface { // Append inserts entry into the operation log and returns the // generated bigserial id. Adapters validate entry through // operation.OperationEntry.Validate before touching the store. Append(ctx context.Context, entry operation.OperationEntry) (id int64, err error) // ListByGame returns the most recent entries for gameID, ordered by // started_at descending and capped by limit. A non-positive limit // is rejected as invalid input by adapters. ListByGame(ctx context.Context, gameID string, limit int) ([]operation.OperationEntry, error) }