config source / parsed config Resolver output
~/.config/omop/config.toml
load_stack_config()
StackConfig
cross-references validated
Resolver(config)
Resolver

four independent lookups

resolve_connection(name)
ResolvedConnection
url : str (plaintext)
safe_url : str (redacted)
create_engine()
resolve_database(name)
ResolvedDatabase
connection : ResolvedConnection
cdm_schema, vocab_schema, results_schema
schema_translate_map(), create_engine(role=...)
resolve_tool(name)
ResolvedToolConfig
extra : dict (raw, untyped)
no validation against a package's own fields
resolve_package_config(cls)
cls instance
typed & validated against cls
PackageConfigBase.get_config() delegates here