sow-topdata moved skills into a tree (skills/core, skills/specs, skillcats, skillspecranks), which broke validate/build: the generated feat families hardcoded dataset "skills".
Resolution is now data-driven: the family spec's child_source names the dataset, child slugs come from the row key's own namespace, and the wiki loader accepts both the flat and tree layouts (topdata main still uses the flat one until the overhaul merges).
Verified against the skill-grouping-overhaul topdata branch: validate/build/wiki all clean with zero lock churn, focus feats stay on their adopted rows.
sow-topdata moved skills into a tree (skills/core, skills/specs, skillcats, skillspecranks), which broke validate/build: the generated feat families hardcoded dataset "skills".
Resolution is now data-driven: the family spec's child_source names the dataset, child slugs come from the row key's own namespace, and the wiki loader accepts both the flat and tree layouts (topdata main still uses the flat one until the overhaul merges).
Verified against the skill-grouping-overhaul topdata branch: validate/build/wiki all clean with zero lock churn, focus feats stay on their adopted rows.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
The skills dataset moved into a tree (skills/core, skills/specs, ...).
Resolve it data-driven instead of by name:
- The required-family check no longer pins skill focus families to
dataset "skills"; the family spec's child_source names the dataset.
- Affinity generation and display names use the skill_focus spec's
child_source dataset.
- Child slugs derive from the row key's own namespace (text after the
first colon) instead of assuming namespace == dataset path.
- The wiki loader accepts both layouts ("skills", then "skills/core").
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
sow-topdata moved skills into a tree (skills/core, skills/specs, skillcats, skillspecranks), which broke validate/build: the generated feat families hardcoded dataset "skills".
Resolution is now data-driven: the family spec's child_source names the dataset, child slugs come from the row key's own namespace, and the wiki loader accepts both the flat and tree layouts (topdata main still uses the flat one until the overhaul merges).
Verified against the skill-grouping-overhaul topdata branch: validate/build/wiki all clean with zero lock churn, focus feats stay on their adopted rows.
🤖 Generated with Claude Code
The skills dataset moved into a tree (skills/core, skills/specs, ...). Resolve it data-driven instead of by name: - The required-family check no longer pins skill focus families to dataset "skills"; the family spec's child_source names the dataset. - Affinity generation and display names use the skill_focus spec's child_source dataset. - Child slugs derive from the row key's own namespace (text after the first colon) instead of assuming namespace == dataset path. - The wiki loader accepts both layouts ("skills", then "skills/core"). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>