change compose_query to use a filter dictionary, add queryspec to compose_cached_query