Repository navigation
Read ruin dossiers with more than 50 YAML aliases - #31
Conversation
Bukkit saves shared empty cell lists as YAML aliases and reads them back without a limit, but the ownership parser kept SnakeYAML's default cap of 50. Nine Dev sites crossed it, stayed unmigrated and showed in wills as "Invalid dossier YAML". Wills now name a site by its title and short ID rather than its file name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Summary
Merge Risk: ⚪ Minimal · up to
|
|
Reviewed by Muse (muse-wonder-full-1.0): VERDICT OK. Non-blocking notes: lifting the alias cap could expand a hand-crafted nested alias graph exponentially in |
Bukkit's
YamlConfigurationsaves the shared empty cell lists in a ruin site as YAML aliases (&id001 [],*id001) and reads them back with no alias limit. The ownership parser inSiteDocumentskept SnakeYAML's default cap of 50 aliases. On Dev, every site file with more than 50 aliases (nine of them, all created around 19 September) failed to parse, was held unmigrated and appeared in wills as<uuid>.yml (held: Invalid dossier YAML).The parser now lifts the alias cap to match Bukkit. Recursive values and deep nesting are still rejected by the existing key walk. Will entries now show the site's title and short ID (
Site in desert 225fdad8) instead of its file name.Tests:
bukkitAliasedEmptyListsBeyondSnakeYamlDefaultLimitMigratefails without the fix and passes with it;tfmc-mvn -o -B clean verifypasses.After release and restart, the held Dev sites migrate on the next load. Their originals are already archived under
ownership/source/.🤖 Generated with Claude Code