# Infrastructure Layer Definition
# Points to specific infrastructure overrides (runtime-resolved)

schema InfraLayer {
    name: str = "infra"
    description: str = "Infrastructure-specific configurations and overrides"
    priority: int = 300
    path: str = "dynamic"  # Resolved at runtime based on infra name

    # Dynamic paths (resolved at runtime)
    taskservs_path: str = "workspace/infra/${infra_name}/taskservs"
    overrides_path: str = "workspace/infra/${infra_name}/overrides"
    servers_path: str = "workspace/infra/${infra_name}/defs"

    # Layer metadata
    version: str = "1.0.0"
    runtime_resolved: bool = True
    extends: [str] = ["workspace", "core"]
    overrides_allowed: bool = True

    # Override capabilities
    can_override: [str] = [
        "taskserv_configs", "provider_defaults",
        "server_definitions", "cluster_settings"
    ]
}

# Layer instance (requires runtime resolution)
infra_layer = InfraLayer {}
