Sure.  Boundary values can be done.  Does staleness need to be passed into this layer?

I was thinking that GetValueAtTime would get []Values where it is either a single element of an exact match or the closest two adjacent ones.  It is up to the rule processor / data mediator to handle staleness and interpolation.  You'll see this in a subsequent push via an interface.