Write a function `running_maximum(numbers)` that takes a list of numbers and returns a new list of the same length where each element at index `i` is the maximum of all elements from index `0` up to `i` inclusive. The input list will not be empty. The function should not modify the input list.
Constraints
Input list length is between 1 and 1000. Numbers can be any integers or floats. Time complexity O(n) where n is the length of the list.