Context
YAML 1.2.2 distinguishes valid tags, recognized tags, valid content, and native type availability. A processor may compose a representation for a valid unknown tag even when it cannot construct a native application type.
Official YAML 1.2.2 references:
Current State
The module intentionally avoids YAML-driven type activation. Valid unknown tagged scalars project as strings, unknown tagged collections project by kind, and representation-level commands preserve effective tags.
Objective
Codify, verify, and document the safe unknown-tag policy so users can rely on valid application tags without risking reflection or command invocation.
PowerShell Design Considerations
- Rich PowerShell projection should remain safe by default: tags must not name .NET types, commands, modules, or paths.
- Representation-level commands should preserve unknown tags for users who need lossless YAML graph operations.
- Future resolver parameters should be explicit opt-in parameters with clear parameter sets and should not change default safety.
- Errors should distinguish invalid tag syntax from valid-but-unknown tags.
Tasks
Benefits
- Supports application-specific YAML safely.
- Prevents accidental code activation from untrusted YAML.
- Preserves tags for representation-preserving workflows.
Acceptance Criteria
Related
Context
YAML 1.2.2 distinguishes valid tags, recognized tags, valid content, and native type availability. A processor may compose a representation for a valid unknown tag even when it cannot construct a native application type.
Official YAML 1.2.2 references:
spec/Unknown-Tag-Policy.mdCurrent State
The module intentionally avoids YAML-driven type activation. Valid unknown tagged scalars project as strings, unknown tagged collections project by kind, and representation-level commands preserve effective tags.
Objective
Codify, verify, and document the safe unknown-tag policy so users can rely on valid application tags without risking reflection or command invocation.
PowerShell Design Considerations
Tasks
Benefits
Acceptance Criteria
YamlInvalidTagand do not enter the unknown-tag policy.Related
spec/Unknown-Tag-Policy.md