closes#2722
I don't love the current structure. There is a number of improvements that can be made:
JsonSchemaResolver can be refactored to have the following signature:
def __init__(schemas: Mapping[str, any], refs: Mapping[str, any])
# schemas are all json files in `schemas/`, refs are all json files in `schemas/shared/`
Then we can thoroughly test the resolving behavior in JsonSchemaResolver independently from the logic for where we actually load schemas from.
I was tempted to make this refactor now but I'd rather cover more ground with tests then revisit. I created an issue to track this: #3222