Skip to content
Novus Examples
yaml648 B

YAML Bounded Anchor Reuse

Nested anchor reuse kept deliberately small: two anchors, six references, thirty-one expanded nodes. It is here to test alias resolution and expansion accounting on a safe input, and is explicitly not a billion-laughs expansion bomb.

Preview — first 25 linesyaml
# BOUNDED ON PURPOSE. Three anchors, each referenced at most three times, expanding to well
# under two hundred nodes. This is a fixture for alias RESOLUTION and for measuring expansion
# cost on a safe input — it is deliberately NOT a "billion laughs" style expansion bomb, and it
# must never be grown into one. If you need to test a depth limit, lower the limit rather than
# raising this file.
leaf: &leaf
  retries: 2
  timeout: 30

group: &group
  a: *leaf
  b: *leaf
  c: *leaf

pipeline:
  one: *group
  two: *group
  three: *group

expected:
  distinct_anchors: 2
  alias_references: 6
  expanded_leaf_maps: 9
  total_expanded_nodes: 31

Specifications

Anchors
2
Alias References
6
Expansion Depth
2
Expanded Nodes
31
Is Expansion Bomb
false
Note
deliberately bounded; not a billion-laughs style expansion

Testing contract

Reference control
Scenario
Measure alias expansion cost on a bounded nested-anchor document
Expected result
Resolution completes with 31 expanded nodes and terminates immediately, so a depth or node limit can be calibrated without a hostile input

What is a .yaml file?

YAML (YAML Ain't Markup Language) is a human-readable data-serialization format using indentation, key-value pairs, and lists, and is a superset of JSON. It supports comments, anchors, and multiple documents per file, favoring readability for configuration. Its indentation sensitivity makes it error-prone to hand-edit.

How to use this file

Use an example YAML file to test config parsers, indentation and anchor handling, multi-document streams, and safe-loading to avoid arbitrary object construction.

How to use this file for testing

“YAML Bounded Anchor Reuse” is a deterministic Novus Examples fixture for Config parsing, Encoding detection, Editor testing. TOML and INI configuration files with nested sections and typed values — for testing config parsers and loaders.

Documented properties for this file: YAML · 648 bytes. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Pipeline and infrastructure fixtures are inert configuration: steps reference fictional images and scripts, and nothing here executes. Run your linter, schema validator, migrator, or policy engine against them, and expect the deprecated-syntax and intentionally invalid variants to be rejected.

Point your config loader at the file and assert it reads the documented sections and typed values, including any deliberately-tricky nesting or comments.

Code examples

import yaml  # pip install pyyaml

with open("bounded-anchor-reuse.yaml") as f:
    data = yaml.safe_load(f)
print(data)

Generated by generation/pipelines.py. Free for any use, no attribution required — license.