Context
YAML uses tags to identify node types, and applications often define their own local or global tags. The module needs an explicit, safe extension point for callers that want to construct custom PowerShell values from application tags.
Official YAML 1.2.2 references:
Current State
The module constructs known standard tags and safely falls back for valid unknown tags. There is no public resolver parameter for caller-defined tag construction or custom plain-scalar resolution.
Objective
Provide opt-in tag and scalar resolver functionality that is idiomatic for PowerShell and safe by default.
PowerShell Design Considerations
- Resolver parameters should be explicit and pipeline-safe; no YAML content should trigger code unless the caller supplied a resolver.
- Scriptblock constructors should receive rich node information without leaking implementation-specific parser objects as the public contract.
- Parameter sets should separate broad typed projection from tag-specific construction when needed, while still allowing advanced users to compose schema, hashtable, and resolver options.
- Resolver errors should preserve the original error as inner context and include tag/location metadata.
Tasks
Benefits
- Enables application-specific YAML without forking the parser.
- Preserves safe defaults for untrusted YAML.
- Supports rich PowerShell objects where the caller explicitly asks for them.
Acceptance Criteria
Related
- Spec folder:
spec/Tag-Resolution.md
- Related safe default:
spec/Unknown-Tag-Policy.md
Context
YAML uses tags to identify node types, and applications often define their own local or global tags. The module needs an explicit, safe extension point for callers that want to construct custom PowerShell values from application tags.
Official YAML 1.2.2 references:
spec/Tag-Resolution.mdCurrent State
The module constructs known standard tags and safely falls back for valid unknown tags. There is no public resolver parameter for caller-defined tag construction or custom plain-scalar resolution.
Objective
Provide opt-in tag and scalar resolver functionality that is idiomatic for PowerShell and safe by default.
PowerShell Design Considerations
Tasks
Benefits
Acceptance Criteria
Related
spec/Tag-Resolution.mdspec/Unknown-Tag-Policy.md