Load, merge (global→sdk→doc), and return (merged_config, config_dir, sidebar_config).

[groups] and [[sidebar]] are deliberately NOT part of this JSON cascade: they are sourced exclusively from the document’s own sidebar.toml, with no default and no merge across tiers. Any groups/sidebar key found in the global, SDK, or doc JSON config is a hard error (see _reject_forbidden_sidebar_keys()).

Implements GAP-05 (TASK-B.1.2)

Raises: UdeException: If config file cannot be read, or a groups/sidebar key is found in a JSON config layer.

Returns:

A 3-tuple of (merged config dict, the doc config’s parent directory,

Methods

resolve_config

resolve_config(config_file_path: Path, global_cfg: GlobalConfig, global_config_path: Optional, sdk_config_path: Optional) -> tuple[dict, Path, dict]

Load, merge (global→sdk→doc), and return (merged_config, config_dir, sidebar_config).

[groups] and [[sidebar]] are deliberately NOT part of this JSON cascade: they are sourced exclusively from the document’s own sidebar.toml, with no default and no merge across tiers. Any groups/sidebar key found in the global, SDK, or doc JSON config is a hard error (see _reject_forbidden_sidebar_keys()).

Implements GAP-05 (TASK-B.1.2)

Raises: UdeException: If config file cannot be read, or a groups/sidebar key is found in a JSON config layer.

Returns:

A 3-tuple of (merged config dict, the doc config’s parent directory,

ParameterTypeDescription
config_file_pathPathPath to the target’s doc config JSON file.
global_cfg"GlobalConfig"The already-loaded (but not yet target-specific) GlobalConfig.
global_config_pathOptionalExplicit global config path, if one was supplied.
sdk_config_pathOptionalExplicit SDK/product config path, if one was supplied.

Generated with Flude

Copyright © 2026