At the Hugo boundary

The portable semantic node and Hugo page parameters are different interfaces. The storage adapter maps root node: into .Params.node for templates. That mapping should not redefine the identity of the modeled thing.

AI-assisted application

Keep provider-specific response shapes behind a small adapter when the domain actually needs a stable interface. Ask AI to generate contract tests, including failure cases. Do not conceal meaningful provider differences behind an overly broad promise of interchangeability.

A conceptual resemblance to the pattern does not mean this template system is an implementation of the original object-oriented class structure.