Unity assets are YAML, so parsing them is a solved problem. The hand rolled
indentation parser produced three bugs in sequences alone: bare scalar items
dropped, mapping items parented to the wrong node, then only the first item
of each sequence kept. YamlDotNet does the parsing; what remains is mapping
a parsed node onto a settings class by field name, with unknown keys
reported rather than silently misplaced.
The settings command keeps asserting counts, since that check is what caught
the parser both times.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Running loose script files caches a build per script and does not rebuild
when the referenced project changes, so scripts silently ran against stale
schemas: item-census held a binary predating FactionProductData and failed
with a TypeLoadException surfacing as a NullReferenceException elsewhere,
and station-fit last ran on a pre-role build. One project with commands
(doctor, census, station-fit, migrate-products) rebuilds through the normal
project graph, and shares one Open.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>